DESIGN REFERENCE

Useful words.
Predictable data.

A practical writing and formatting contract for real UI states, long labels, missing values, and international content.

Public evidence18 Sep 2026Observed sources. Explicit local contracts.

A vocabulary for every public object

These are local writing contracts. Object identities come from the independently discovered product map; state words describe the public display or the explicit local example.
Object and IDAction and status wordsAvoid as an unproven substituteIdentity and localization
Extension
O-extension
Open extension
Available, unavailable
Plugin, appletKeep the publisher’s exact extension name; translate surrounding labels.
Publisher
O-publisher
View publisher
Public profile, unavailable
Owner, administratorA public author identity does not establish private ownership or permission.
Subscription plan
O-plan
Compare plans
Included, available with plan
License, account levelKeep product tier names; always show currency and billing cadence together.
AI model
O-model
View model details
Available, plan required
Bot, enginePreserve provider/model identifiers and versions; describe ratings as ordinal labels.
Scripted AI task
O-task-demo
Run local example
Ready, running, cancelled, complete
Live agent, real resultName scripts as examples; completion describes the local sequence only.
Release
O-release
Read release notes
Published, unavailable
Update installedPreserve version/platform identifiers; localize the date and keep an ISO datetime.
Article or tutorial
O-article
Read article
Published, source unavailable
Post when referring to a tutorialPreserve attributed author names; isolate user-authored text from interface direction.
Community or customer story
O-story
Read story
Published, source unavailable
Endorsement, case study without evidenceQuotes require attribution; synthetic stories must say they are examples.
Extension template
O-template
View template
Prerequisites met, prerequisites missing
Installed extensionKeep repository paths literal and left-to-right; translate purpose and instructions.
Brand asset or wallpaper
O-asset
View asset
Available, unavailable
Free to reuseShow format, pixel dimensions and rights source separately from download availability.
Feedback draft
O-feedback
Validate example
Draft, invalid, offline, locally validated
Sent, received, ticket createdPreserve the draft and attachment names through every local error.
Account entry attempt
O-account-entry
Continue to official sign-in
Email entry, password entry, confirmation error
Signed in, account verifiedDo not infer identity or access from a local entry form.
Job opening
O-job
View opening
Open, unavailable
Application submittedPreserve role title and location; explain when the hiring workflow changes site.
Keyboard product
O-keyboard
View specifications
Availability unknown, vendor information
In stock, reservedKeep model names and units explicit; use the vendor for current availability.

Message contracts and tone

Every message has a title, useful detail, named recovery actions, a persistence rule and an announcement/focus rule. Destructive examples put the preserving choice first. Legal and sensitive copy stays literal. Repeated failure avoids urgency, blame and promises the local example cannot establish.

No matching extensions

Try another name or clear the search.

Actions: Clear search

Persistence
Until the query or collection changes
Focus
Keep focus in the search field
Announcement
polite

This is a message preview. The action names are text, because selecting a tone example must not trigger destructive, account or support actions.

StateTitle and detailActions / persistence
emptyNo matching extensions
Try another name or clear the search.
Clear search
Until the query or collection changes
loadingLoading the local reference
The existing content stays available while this example loads.
Cancel
Until completion or cancellation
invalidCheck the email address
Enter an address such as name@example.com. Your other draft values are still here.
Edit email
Until corrected; never auto-dismiss
offlineYour draft is still here
The local example could not continue. Try again when the connection is available.
Retry
Until explicit retry succeeds or draft is reset
successExample validated locally
Nothing was submitted. You can keep editing this draft.
Keep editing
Until a new edit or deliberate reset
warningThis will clear the local draft
The text and selected files in this example will be removed.
Keep draft · Clear draft
Until an explicit choice
permissionContinue in your Raycast account
The official site handles this action and checks the account’s access.
Open official sign-in
Inline beside the action
sensitiveRemove private information before sharing
Include the steps needed to explain the issue. Leave out passwords, access tokens and private conversation text.
Review draft
Inline before the share boundary
legalCheck the usage terms
An available download does not grant every kind of reuse. Read the source’s terms for this asset.
Read source terms
Inline with the source attribution
supportThe example still could not continue
Keep your draft. Review the retained capture or open the official support destination for the original product.
View captured reference · Open official support
Until the user chooses a next step
unavailableThis source is unavailable
The captured reference is still available. The current service state has not been verified.
View captured reference
Until a new source check
staleCheck the current plan
This reference records the public display captured on 18 September 2026. Check the official plan before purchasing.
Open official pricing
Inline beside the amount and cadence
cancelledExample cancelled
No remote action ran. Your draft is unchanged.
Run again
Until the next deliberate action
attachmentChoose 5 files or fewer
Each file can be up to 20 MiB. Remove a file and try again; the message is still here.
Choose files · Clear files
Until a valid selection

Formatting that follows the locale

Keep object IDs and version strings stable; format visible amounts, dates and counts at the presentation boundary. The example uses an explicit USD currency and UTC date. A locale collator sorts names numerically and preserves their original spelling. These synthetic translations demonstrate variable and plural behavior; they have not had human linguistic review.

Formatting example ready.

2 extensions

$12.50

  1. Ångström
  2. Éclair
  3. Item 2
  4. Item 10
  5. Zulu
  6. إضافة
  7. アプリ

Null is “Not provided”; zero remains zero. User-authored strings are placed in text nodes and isolated with bdi. Long prose wraps; URLs and code keep their own labeled overflow region. Feedback uses Unicode code-point limits so a supplementary-plane character does not silently consume two units.

Download the message, vocabulary and locale fixtures · Reusable content model

Content rules

TopicContractExamples / limits
VoiceDirect, calm, specific. Lead with the action or useful fact.“Copy link”, “Choose a platform”, “Try again”. Avoid a vague “Something went wrong”.
Product nounsRaycast, extension, command, Store, Pro, team, organization, AI Chat, Quick AI, Note, Snippet, Quicklink.Preserve first-party capitalization in source references. Local catalog nouns use sentence case.
ActionsUse verbs for buttons; destination nouns for links.Browse extensions → collection. Open details → object. Copy command → clipboard.
ErrorsName the object, failure, preserved work and recovery.“Couldn’t load extensions. Your search is still here. Try again.”
Empty statesDifferentiate empty source, no matching results and permission boundary.“No matching icons. Try another name or clear the search.”
Dates and timeStore ISO8601 UTC. Display day + short month + four-digit year, with timezone for times.2026-09-18T22:32:00Z →18 Sep 2026,22:32UTC. Never use ambiguous9/18/26.
AmountsStore integer minor units and ISO currency; use Intl.NumberFormat for display.Show $8 / month plus billed annually. Team amounts explicitly name user/seat.
CountsUse integer counts; pluralize0 and 2+, singular1. Large collection labels may use locale number formatting.0 results;1 result;603 icons. A missing value is “Not provided”, never0.
IdentifiersStable string slugs; monospace only for route/API/source IDs.linear/linear is an extension path, not a display name. Version2.4 is a string.
Long contentWrap body, titles and URLs. Clamp only preview descriptions with a full detail destination.No ellipsis for errors, pricing cadence, source provenance or labels required to finish a task.
LocalizationReference product evidence is English. Local resilience uses a30% expanded pseudo-locale, Arabic RTL and mixed-script labels.Use logical reading order; set lang and dir at content boundary. Never claim production localization from local tests.
Untrusted contentInsert text with textContent; accept URLs only after scheme/host policy.A filename containing <img> is shown literally. No arbitrary HTML, eval, inline event handlers or custom-protocol navigation.
PrivacyOnly synthetic fixtures in runnable forms. No analytics, cookies, external fonts, account storage or actual submission.A local success message says that validation completed, not that feedback or email was sent.
ProvenanceAt point of use, separate observed/measured/source-derived/reconstructed/original addition/unknown.Native screenshot proves appearance. A local interaction proves the reference contract only.

A small message system

SituationReference textRecovery
No matchesNo matching extensions. Try another name or clear the search.Clear search; leave category visible.
Unavailable sourceThis source could not be loaded. The captured reference is still available.Open retained capture or official source.
Invalid emailEnter an email address such as name@example.com.Focus email; keep every other draft value.
OfflineYou appear to be offline. Your draft is still here.Retry after reconnecting; no false sent state.
Local successExample validated locally. Nothing was submitted.Continue editing or reset deliberately.
PermissionThis action continues in your Raycast account.Named official entry, with no invented role.
Stale priceCaptured 18 Sep 2026. Check the official plan before purchasing.Source link near amount and cadence.

Formats and resilient presentation

Formatting examples · JavaScript
const money = new Intl.NumberFormat("en-US", {
  style: "currency", currency: "USD",
  maximumFractionDigits: 0
});
money.format(monthlyUsdCents / 100);

// Render untrusted strings as text, never markup.
label.textContent = record.name;
// Missing is distinct from a valid zero.
count.textContent = total === null ? "Not provided" : String(total);

Expanded label

A30% longer local label must wrap or grow without hiding meaning.

Literal filename

<img onerror=alert(1)>.png

Treat file names and source labels as text. Never insert an unchecked attribute or HTML fragment.

Public copy and original sample content

Raycast’s visible product language favors short actions and direct product nouns. The reference preserves brief interface labels and the five-word homepage headline. Long marketing, editorial and testimonial passages are paraphrased or replaced with clearly authored examples. Reconstructed chat messages and stories are not quotations or endorsements.

About this specimen

This is a local reconstruction of a public Raycast pattern. It demonstrates the interface contract; real accounts, installs and payments remain on the official product.

Icon contract