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.
| Column | Meaning |
|---|---|
| Intent | Canonical form: Verb(params) — the goal in abstract terms. |
| Declared intent | Kebab-case slug used in UI‑IR and by components to declare the intent they serve. |
| Purpose | One-line description of what the intent is for. Additional information may be included, including:
|
Intents
Selection and choice
| Intent | Declared intent | Purpose |
|---|---|---|
Compare(items, criteria?) | compare-options | Let the user compare items along stated or default criteria (e.g. features, price). |
ExplainAndChoose(options, rationale) | explain-and-choose | Present options with rationale and support a single choice. |
SelectOne(options, label?) | pick-one | Single selection from a fixed set of options. |
SelectMany(options, min?, max?) | pick-many | Multi-select with optional min/max constraints. |
Filter(items, dimensions) | filter | Narrow a set by one or more dimensions. |
Sort(items, keys, direction?) | sort | Order items by key(s) and optional direction. |
Rank(items, criterion?) | rank | Elicit user ranking of items by a criterion. |
Recommend(options, reason) | recommend | Suggest 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
| Intent | Declared intent | Purpose |
|---|---|---|
Collect(fields, validation?) | collect | Gather structured input with optional validation (e.g. required fields, format). |
CollectWithValidation(fields, rules) | collect-with-validation | Collect with explicit validation rules and per-field error slots. |
CollectPayment(amount, recipient?, method) | collect-payment | Collect payment details; amount and method are primary. Trust: transaction summary. May Read/Write PII. |
CollectContact(channels?) | collect-contact | Collect contact details for requested channels (email, phone, etc.). May Read/Write PII. |
Example series: Checkout, Scheduled send.
Review and confirmation
| Intent | Declared intent | Purpose |
|---|---|---|
ReviewAndConfirm(summary, actions?) | review-and-confirm | Show a summary and confirm before proceeding; optional alternate actions (e.g. cancel, edit). |
ConfirmDestructiveAction(action, scope, undo?) | confirm-destructive-action | Gate irreversible actions. Trust: confirmation dialogue. |
ConfirmTransaction(amount, recipient, source, fees) | confirm-transaction | Confirm a transaction with standardized breakdown. Trust: transaction summary. |
Acknowledge(message) | acknowledge | User must acknowledge a message (e.g. disclaimer, notice) before continuing. |
Example series: Checkout, Destructive change, Scheduled send.
Navigation and discovery
| Intent | Declared intent | Purpose |
|---|---|---|
Browse(collection, facets?) | browse | Explore a collection, optionally by facets. |
Search(query, filters?) | search | Free-text search with optional filters. |
Navigate(target, context?) | navigate | Navigate to a target (link, step, view, or back). |
DrillDown(source, children) | drill-down | Move from a source item to its child items (e.g. hierarchy, detail). |
Explore(entryPoints) | explore | Present multiple entry points for exploration. |
Example series: Onboarding or preference capture (Navigate).
Feedback and status
| Intent | Declared intent | Purpose |
|---|---|---|
ShowProgress(task, state) | show-progress | Show progress for a task (e.g. loading, step N of M, percent). |
ShowResult(outcome, actions?) | show-result | Present an outcome (success, partial, or failure) and optional next actions. |
ShowError(error, taxonomy?) | show-error | Show an error; optional taxonomy (e.g. network, auth, validation) for consistent handling. |
ShowEmptyState(message, suggestions?) | show-empty-state | Indicate that a collection or result set is empty; optional suggestions (e.g. broaden search). |
Notify(message, severity?) | notify | Transient or persistent notification. |
ShowConfidence(level, scope?) | show-confidence | Show uncertainty in a consistent way. Trust: confidence chip. |
Trust and verification
| Intent | Declared intent | Purpose |
|---|---|---|
DiscloseDataUse(dataTypes, purpose) | disclose-data-use | Standardized "what data will be used" block. Trust: data-use disclosure. |
AttributeSource(claim, source, link?) | attribute-source | Structured citation for claims. Trust: source attribution. |
VerifyIdentity(method?) | verify-identity | Verify user identity. May Read PII. |
VerifiedAction(scope, target, undo?) | verified-action | Action control that cannot be restyled; shows scope, target, and optional undo. Trust: verified action. |
Creation and modification
| Intent | Declared intent | Purpose |
|---|---|---|
Create(entityType, fields?) | create | Create a new entity; optional initial field values. |
Edit(entity, fields) | edit | Edit existing entity; pair with ReviewAndConfirm or ConfirmDestructiveAction for destructive edits. |
Delete(entity, confirm?) | delete | Delete an entity; typically preceded by ConfirmDestructiveAction. |
Duplicate(source, overrides?) | duplicate | Create a copy of an entity with optional overrides. |
Example series: Destructive change (Edit).
Consent and preferences
| Intent | Declared intent | Purpose |
|---|---|---|
CollectConsent(statements, required?) | collect-consent | Collect consent for statements (no pre-checked marketing opt-ins). |
SetPreference(key, options) | set-preference | Set a user preference; options specify allowed or chosen values for the key. |
OptIn(channel, purpose?) | opt-in | Explicit opt-in to a channel or use (e.g. marketing). |
OptOut(channel) | opt-out | Opt out of a channel or use. |
Example series: Onboarding or preference capture.
Authentication and identity
| Intent | Declared intent | Purpose |
|---|---|---|
SignIn(method?) | sign-in | Authenticate the user. |
SignUp(fields?, method?) | sign-up | Register a new account; optional profile fields and auth method. May Read/Write PII. |
SignOut() | sign-out | End session. |
RequestAccess(resource, reason?) | request-access | Request access to a resource. |
RequestPasswordReset(identifier) | request-password-reset | Initiate password or credential reset flow. May Read PII. |
Explanation and learning
| Intent | Declared intent | Purpose |
|---|---|---|
Explain(topic, depth?) | explain | Explain a topic at optional depth. |
Clarify(question, context?) | clarify | Request or provide clarification given context. |
Teach(concept, steps) | teach | Step-by-step teaching of a concept. |
Summarize(content) | summarize | Present a concise summary of content. |
Example series: Guided choice (Explain).
Communication
| Intent | Declared intent | Purpose |
|---|---|---|
SendMessage(recipient?, content) | send-message | Send a message; recipient optional for broadcast or context-defined. |
RequestClarification(prompt) | request-clarification | Ask the user for clarification. |
Share(target, content) | share | Share content to a target (e.g. link, export, another app). |
Invite(recipient, resource, message?) | invite | Invite 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).
| Intent | Declared intent | Purpose |
|---|---|---|
Schedule(action, when) | schedule | Schedule a declared action for a future time; when is user-confirmed (date/time or relative). |
PickDateTime(constraints?, timezone?) | pick-date-time | Collect a single date and/or time; optional constraints and timezone display. |
PickDateRange(start, end?, constraints?) | pick-date-range | Collect a date range (e.g. vacation, availability). |
SetReminder(thing, when) | set-reminder | Set a reminder for a point in time; when may be relative or absolute. |
SetRecurrence(pattern, until?) | set-recurrence | Define a recurrence (e.g. daily, weekly, custom); optional end date. |
ViewScheduled(items?) | view-scheduled | Show scheduled items (messages, tasks, events) with time and scope; optional filter. |
Reschedule(item, when) | reschedule | Change when a scheduled item occurs; typically followed by ReviewAndConfirm. |
CancelScheduled(item, confirm?) | cancel-scheduled | Cancel 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?