Skip to content
Agentic Craft

Conversation

Message patterns, prose styling, citations, observable work, and composer patterns for agent dialogue.

Messages & Prose

Three message types form the backbone of agent conversation: user, agent, and system. Agent messages need a clear ownership surface; prose typography can be a reader or workspace preference.

A comfortable default for long analysis, explanations, and review-style answers.

Agent connected to document repository
Can you review the project brief against the roadmap and launch checklist?

I've reviewed the project brief against the roadmap and launch checklist. The document covers the main launch goals, but I found three areas that need attention.

The rollout assumptions in Section 2 reference Launch Policy v2, but the appendix doesn't map all requirements back to a source. The export workflow also references an outdated behavior — this will need updating before the review team session.

Can you list the specific requirements that are missing from the mapping?

Two of the brief's 23 requirements are not mapped back to a source in the appendix:

  • Fallback behavior — Degraded handling when a source is unavailable
  • Cleanup behavior — Stale export cleanup after a run completes

The workflow routing rule specifies how escalations move from the agent to the support queue. Based on the workflow policy in Section 7.2, the routing policy covers handoffs between

4 findings added to project tracker
TypeStyleDetails
Userbg-primary, text-primary-foregroundmax-width 75%, rounded-lg, right-aligned, app body font, 14px
Agentborder border-border bg-mutedmax-width 75%, rounded-lg, left-aligned, user-configurable prose style
Systembg-muted, text-muted-foregroundcentered, text-xs, rounded-md
PropertyValue
Font preferenceUser or workspace setting; current Serif Prose
Active specimenSource Serif 4, 16px/26px
Allowed range14-16px text, 22-26px line height
Letter spacing0px
Optical sizeOnly when supported by the selected font
Antialiasing-webkit-font-smoothing: antialiased
Paragraph spacing16px for long-form answers
Prose colorvar(--foreground)

User messages are right-aligned to create visual separation of "who said what". Agent messages use a distinct surface and optional prose preference instead of depending on a fixed font. System messages are unobtrusive — they provide context without demanding attention. Max-width 75% prevents messages from spanning the full content width, improving readability. The streaming cursor stays static and auto-hides after a few seconds.

Progress Steps

Progress steps show what the agent is doing, which sources are being touched, and what has completed. They disclose observable work instead of exposing hidden reasoning.

Checking launch sources

Launch checklist, issue triage policy, source scope · 2 done · 1 waiting

Active
DoDon't
Show observable operations, sources, and statusReveal private reasoning traces or speculative narration
Collapse completed work into a useful summaryLeave stale spinners running after work has completed
Keep pending steps visible but lower emphasisMake future work look complete or guaranteed
Allow the user to collapse at any timeForce detailed traces to remain expanded after completion

Progress steps can shimmer while active, but the content must remain auditable: source names, step labels, timestamps, and status. The expanded view should answer "what is happening?" without exposing private reasoning or speculative internal narration.

Citations

Citations ground agent responses in verifiable sources. Hovering or focusing a marker opens the preview anchored at the citation itself, so verification never leaves the sentence; on touch, tapping the marker opens the same card.

The launch readiness plan has been set to enterprise release, which requires independent risk analysis by the review teamand a standard support plan with documented issue triage timelines. The internal launch guidance also requires every decision-supporting source to be linked from the final review summary, including modules that were excluded from the initial boundary.

ElementSpec
Inline tokenSmall numbered source control inside prose; hover, keyboard focus, or tap opens the preview.
Preview cardSource title, quote excerpt, page chip, view-source affordance, and source pagination; Escape or tapping outside dismisses it.
PlacementAnchored at the citation marker with a caret, flipping sides when the viewport would clip it.
Source stripReadable fallback list for scanning and long source names; each entry opens the same anchored preview.

The citation preview should answer "why should I trust this sentence?" without forcing the user away from the current answer. Keep the quote short, show the exact source location, and make the full document one click away.

Composer

A composer is not just a chat box. It is where the user reviews context, edits intent, and commits the next agent action.

ElementSpec
Containermax-w-[720px], rounded-xl on mobile, rounded-2xl on desktop, border border-border
TextareaAuto-expanding, min 36px, max 160px, 14px Albert Sans
Send button32×32px hit area, 24px inner icon button, foreground when active, muted when empty, spring press animation
Focus stateBorder transitions to foreground/20, subtle outer shadow
Scope islandCompact dismissible chips in the connected island stack.
Reply islandReply icon plus truncated quote with a local dismiss action.
Plan islandRendered in the connected 95%-width stack above the composer, not inside the authored text area.
State controlsMulti-select toggle group, active = subtle foreground tint, drives visible reference states without resizing the input
SuggestionsClick to fill textarea, flash animation on click, flex-wrap below
AttachmentsFile preview chips with name/size, dismiss per-file, enables send; rendered inside the composer card because files belong to the message being drafted.

Scope and reply-to are mutually exclusive — enabling one dismisses the other. Plan/progress, scope, and reply stay in a connected island stack above the composer; attachments stay inside the composer because they are part of the message payload. The send button uses a spring-based press animation (cubic-bezier 0.34, 1.56, 0.64, 1) with an arrow flyout on send. Suggestion chips fill the textarea on click with a brief color flash to confirm the action.