Intent library

Full catalog of HashDS intents by category

Intents are not yet part of the HashDS

Intents have not yet been integrated into our published HashDS components.

Subject to ongoing research

The precise role of intents in HashDS has not yet been confirmed, and is the subject of our ongoing Generative UI research. The content of this page and the ultimate role of intents may change significantly.

What's on this page

This page contains the work in progress intent library envisioned to underpin HashDS, and represents the full set of intents currently planned for inclusion, organized by category.

How to read the table

Each entry in the table specifies the canonical form, declared-intent slug, and purpose. Intents that gate trust components or which touch sensitive capabilities are noted. Parameters suffixed with ? are optional.

ColumnMeaning
IntentCanonical form: Verb(params) — the goal in abstract terms.
Declared intentKebab-case slug used in UI‑IR and by components to declare the intent they serve.
PurposeOne-line description of what the intent is for. Additional information may be included, including:
  • Trust: marks intents that map to trust/verification surfaces (e.g. confirmation dialogue, transaction summary).
  • May Read/Write PII (or May Read PII) indicates the intent may touch personally identifiable information.

Intents

Selection and choice

IntentDeclared intentPurpose
Compare(items, criteria?)compare-optionsLet the user compare items along stated or default criteria (e.g. features, price).
ExplainAndChoose(options, rationale)explain-and-choosePresent options with rationale and support a single choice.
SelectOne(options, label?)pick-oneSingle selection from a fixed set of options.
SelectMany(options, min?, max?)pick-manyMulti-select with optional min/max constraints.
Filter(items, dimensions)filterNarrow a set by one or more dimensions.
Sort(items, keys, direction?)sortOrder items by key(s) and optional direction.
Rank(items, criterion?)rankElicit user ranking of items by a criterion.
Recommend(options, reason)recommendSuggest one or more options with a reason; user may accept or override.

Example series using intents in this category: Guided choice (ExplainAndChoose, SelectOne).

Data collection

IntentDeclared intentPurpose
Collect(fields, validation?)collectGather structured input with optional validation (e.g. required fields, format).
CollectWithValidation(fields, rules)collect-with-validationCollect with explicit validation rules and per-field error slots.
CollectPayment(amount, recipient?, method)collect-paymentCollect payment details; amount and method are primary. Trust: transaction summary. May Read/Write PII.
CollectContact(channels?)collect-contactCollect contact details for requested channels (email, phone, etc.). May Read/Write PII.

Example series: Checkout, Scheduled send.

Review and confirmation

IntentDeclared intentPurpose
ReviewAndConfirm(summary, actions?)review-and-confirmShow a summary and confirm before proceeding; optional alternate actions (e.g. cancel, edit).
ConfirmDestructiveAction(action, scope, undo?)confirm-destructive-actionGate irreversible actions. Trust: confirmation dialogue.
ConfirmTransaction(amount, recipient, source, fees)confirm-transactionConfirm a transaction with standardized breakdown. Trust: transaction summary.
Acknowledge(message)acknowledgeUser must acknowledge a message (e.g. disclaimer, notice) before continuing.

Example series: Checkout, Destructive change, Scheduled send.

IntentDeclared intentPurpose
Browse(collection, facets?)browseExplore a collection, optionally by facets.
Search(query, filters?)searchFree-text search with optional filters.
Navigate(target, context?)navigateNavigate to a target (link, step, view, or back).
DrillDown(source, children)drill-downMove from a source item to its child items (e.g. hierarchy, detail).
Explore(entryPoints)explorePresent multiple entry points for exploration.

Example series: Onboarding or preference capture (Navigate).

Feedback and status

IntentDeclared intentPurpose
ShowProgress(task, state)show-progressShow progress for a task (e.g. loading, step N of M, percent).
ShowResult(outcome, actions?)show-resultPresent an outcome (success, partial, or failure) and optional next actions.
ShowError(error, taxonomy?)show-errorShow an error; optional taxonomy (e.g. network, auth, validation) for consistent handling.
ShowEmptyState(message, suggestions?)show-empty-stateIndicate that a collection or result set is empty; optional suggestions (e.g. broaden search).
Notify(message, severity?)notifyTransient or persistent notification.
ShowConfidence(level, scope?)show-confidenceShow uncertainty in a consistent way. Trust: confidence chip.

Trust and verification

IntentDeclared intentPurpose
DiscloseDataUse(dataTypes, purpose)disclose-data-useStandardized "what data will be used" block. Trust: data-use disclosure.
AttributeSource(claim, source, link?)attribute-sourceStructured citation for claims. Trust: source attribution.
VerifyIdentity(method?)verify-identityVerify user identity. May Read PII.
VerifiedAction(scope, target, undo?)verified-actionAction control that cannot be restyled; shows scope, target, and optional undo. Trust: verified action.

Creation and modification

IntentDeclared intentPurpose
Create(entityType, fields?)createCreate a new entity; optional initial field values.
Edit(entity, fields)editEdit existing entity; pair with ReviewAndConfirm or ConfirmDestructiveAction for destructive edits.
Delete(entity, confirm?)deleteDelete an entity; typically preceded by ConfirmDestructiveAction.
Duplicate(source, overrides?)duplicateCreate a copy of an entity with optional overrides.

Example series: Destructive change (Edit).

IntentDeclared intentPurpose
CollectConsent(statements, required?)collect-consentCollect consent for statements (no pre-checked marketing opt-ins).
SetPreference(key, options)set-preferenceSet a user preference; options specify allowed or chosen values for the key.
OptIn(channel, purpose?)opt-inExplicit opt-in to a channel or use (e.g. marketing).
OptOut(channel)opt-outOpt out of a channel or use.

Example series: Onboarding or preference capture.

Authentication and identity

IntentDeclared intentPurpose
SignIn(method?)sign-inAuthenticate the user.
SignUp(fields?, method?)sign-upRegister a new account; optional profile fields and auth method. May Read/Write PII.
SignOut()sign-outEnd session.
RequestAccess(resource, reason?)request-accessRequest access to a resource.
RequestPasswordReset(identifier)request-password-resetInitiate password or credential reset flow. May Read PII.

Explanation and learning

IntentDeclared intentPurpose
Explain(topic, depth?)explainExplain a topic at optional depth.
Clarify(question, context?)clarifyRequest or provide clarification given context.
Teach(concept, steps)teachStep-by-step teaching of a concept.
Summarize(content)summarizePresent a concise summary of content.

Example series: Guided choice (Explain).

Communication

IntentDeclared intentPurpose
SendMessage(recipient?, content)send-messageSend a message; recipient optional for broadcast or context-defined.
RequestClarification(prompt)request-clarificationAsk the user for clarification.
Share(target, content)shareShare content to a target (e.g. link, export, another app).
Invite(recipient, resource, message?)inviteInvite a recipient to a resource (e.g. space, event); optional message.

Example series: Scheduled send.

Scheduling and time

Temporal intents model when an action or outcome should occur. They can be used alone (e.g. pick a date) or in series with other intents (e.g. schedule a message, book for a time slot).

IntentDeclared intentPurpose
Schedule(action, when)scheduleSchedule a declared action for a future time; when is user-confirmed (date/time or relative).
PickDateTime(constraints?, timezone?)pick-date-timeCollect a single date and/or time; optional constraints and timezone display.
PickDateRange(start, end?, constraints?)pick-date-rangeCollect a date range (e.g. vacation, availability).
SetReminder(thing, when)set-reminderSet a reminder for a point in time; when may be relative or absolute.
SetRecurrence(pattern, until?)set-recurrenceDefine a recurrence (e.g. daily, weekly, custom); optional end date.
ViewScheduled(items?)view-scheduledShow scheduled items (messages, tasks, events) with time and scope; optional filter.
Reschedule(item, when)rescheduleChange when a scheduled item occurs; typically followed by ReviewAndConfirm.
CancelScheduled(item, confirm?)cancel-scheduledCancel a scheduled item; use ConfirmDestructiveAction when irreversible.

To view an example "scheduled send" intent series, see Intent series > Examples > Scheduled send


Updates

This library will evolve alongside the component library. Agents and will reference intents by their declared-intent slugs when emitting UI‑IR.

Last updated on 2026-03-13

Was this page helpful?

On this page