Agent activity

An agent at work

Plan: reply to the Ministry hosting request

Draft
  1. Read the three planning emails
  2. Check the pilot plan and hosting options
  3. Draft a reply recommending on-premises
    Writing… 40%
  4. Ask you to review the draft
  5. Send from your mailbox Needs approval
admiral.licences.listAdmiral MCPRunning

Input

{ "workspace": "ministry-of-water", "status": "active" }

Show the work, keep people in command

Agents read, search, call tools and act for people. Every activity has a visible state, a plain-language status and a way to stop. Anything with consequences waits for a person.

ActivityComponentDefault
Thinking before answeringReasoning (collapsible)Collapsed: “Thought for 6 seconds”
Searching and readingChain of thought (steps)Open while running, collapsed after
Multi-step workPlan cardOpen; the current step highlighted
Work waiting its turnQueueVisible in the composer area
Calling a tool or systemTool callCollapsed one-line row; open on error
Acting on someone's behalfConfirmationAlways open, blocks that action
Long or background workTask, with a thinking orbIn the activity panel; toast when done
Creating somethingArtifactCard in the conversation, opens in a panel

The orb states for all of these are on Feedback and loading: searching for retrieval, solving for reasoning, connecting for tools, composing for writing, shaping for artifacts.

Reasoning

Collapsed, summarised, honest

  • While the model thinks, the summary row shows the orb and Thinking…; afterwards it reads “Thought for 6 seconds”.
  • Open, it shows the model's reasoning summary in caption colour with a 2px rule on the leading edge. Text 14px; no code formatting unless it is code.
  • Show what the model provides; never invent reasoning text. If the model exposes no reasoning, show only the duration.
Thought for 6 seconds
The Ministry asks for a hosting decision. The pilot plan prefers on-premises because the data is classified. Recommend Admiral Server; mention the approved cloud as a fallback for unclassified tools.

Chain of thought

Steps with what was found

  • A vertical list of steps, each with an icon state: done (check on success tint), running (20px orb), waiting (dashed circle), failed (cross on danger tint).
  • Each step says what the agent did in plain words and shows what it found: search results as tags, documents as chips, an image as a thumbnail.
  • Collapse the whole chain into one line when the answer arrives: “Searched mail and files · 3 sources”.
  1. Searched mail for “planning”
    3 emailsOct 12–14
  2. Opened “Launch checklist v3”
  3. Searching files for the hosting policy
  4. Summarise and cite

Plans

  • For work with three or more steps the agent shows its plan before starting, as a card with numbered steps. People can edit or reorder steps before they run.
  • Steps that need approval are marked “Needs approval” up front, so nothing surprises the person later.
  • While running, the current step shows the orb and progress; finished steps get a check; skipped steps are struck through with the reason.
  • Stop is always available. Stopping keeps what is done and says what wasn't.

Queue

Messages and tasks waiting their turn

  • Messages sent while the agent is busy join a queue above the composer instead of being blocked.
  • Each row: drag handle, the message or task, its state, remove. People can reorder and edit queued items.
  • The queue empties top to bottom; the running item moves into the conversation.
  • Draft a reply to the MinistryNext
  • Add the meeting to my calendarQueued

Tool calls

One line until it matters

  • A collapsed row per call: orb (connecting) or plug icon, the tool name in mono, the server as a tag, and a status badge: Running, Done with duration, Failed, Needs approval.
  • Open shows Input and Result as formatted JSON or a plain summary. Secrets and personal data in inputs are masked.
  • Failed calls open automatically and say what to do (“Ask an administrator for the Licences: read role”).
  • Many calls in a row group into one line: “Called 6 tools · 4.2s”.
admiral.licences.listAdmiral MCPRunning

Input

{ "workspace": "ministry-of-water", "status": "active" }
admiral.licences.listAdmiral MCPDone · 0.8s

Input

{ "workspace": "ministry-of-water", "status": "active" }

Result

128 licences · 3 expiring before 30 Oct
admiral.licences.listAdmiral MCPFailed

Input

{ "workspace": "ministry-of-water", "status": "active" }

Error

403: the agent has no access to this workspace. Ask an administrator for the “Licences: read” role.

Confirmation

The person decides

  • Required before an agent sends, publishes, deletes, pays, books, shares outside the organisation or changes access. Reading and drafting don't need it.
  • The title says exactly what will happen (“Mai wants to send 1 email”); the details list the facts that matter (recipient, subject, attachments, amount).
  • Buttons name the action: “Send email”, “Don't send”. A third option lets the person review or edit first.
  • Session-wide permissions are opt-in, narrow and visible (“Allow sending to this address for this session”); never “Always allow everything”.
  • After the decision the card stays in the conversation as a record: who approved, when, what happened.
  • The card is marked with a 3px AI-colour edge and a shield icon; it never looks like an error or a marketing banner.

Mai wants to send 1 email

From your mailbox, on your behalf.

To
hosting@water.example.gov
Subject
Re: Hosting decision request
Attachment
Pilot-plan.pdf

Mai wants to send 1 email

From your mailbox, on your behalf.

To
hosting@water.example.gov
Subject
Re: Hosting decision request
Attachment
Pilot-plan.pdf

Approved by you at 14:02 · Sent

Tasks and background work

  • Work longer than about ten seconds moves to a task: a row in the activity panel with a 32px orb, the title, the current step and elapsed time. People can leave and come back.
  • When a task finishes: the orb is replaced by a check, a toast says what is ready (“Report ready · Open”), and the panel badge counts unseen results.
  • Tasks touching files list them as chips; clicking opens the file at the changed place.

Checkpoints

Checkpoint

Checkpoint · 14:02 · before sending

Before an agent makes changes it can't easily undo, the conversation records a checkpoint: a dashed divider with the time and what follows. Restore returns files and the conversation to that point and says what will be undone.

Artifacts and previews

Things the agent makes

  • Documents, slides, diagrams, code and forms the agent creates appear as a card in the conversation: type icon, title, version, actions (copy, download, open).
  • Opening shows the artifact in a side panel at full size, with versions and a diff from the previous one.
  • Web previews add a URL bar and a reload button; they run sandboxed.
  • Generated brand assets come from the brand generators (Generators API), so they match the brand.
Reply to the Ministry · draftv2
Dear colleagues, thank you for the hosting request. We recommend running the pilot on NorthStar Admiral Server inside your perimeter…

Developer surfaces

Coding and operations agents show terminals, test results, stack traces, file trees and environment variables. They follow the code style of the hub.

Terminal, test results and environment variables

$ admiral licences sync --workspace water
Syncing 128 licences…
✓ 125 synced
✗ 3 failed: expired certificate
$
212 passed15 failed20 skipped4.8s
ADMIRAL_URLhttps://admiral.example.gov
ADMIRAL_TOKEN••••••••••••41ab
  • Terminals use the dark code surface in both modes, the prompt in Oasis, success in green and failures in red with a symbol, never colour alone.
  • Test results: one summary bar (passed, failed, skipped) and counts; failures listed first, each opening its stack trace.
  • Stack traces collapse library frames and highlight the first frame in the customer's code.
  • Environment variables and secrets are masked by default; reveal and copy are separate actions. See secrets.

Coverage

AI Elements componentNorth guidance
Message, Conversation, Response, Actions, BranchMessages
Prompt input, Attachments, Model selector, Context, Suggestion, Open in chatComposer, Attachments, Model, Context, Suggestions
Inline citation, SourcesSources and citations
Shimmer, LoaderStreaming, Thinking orbs
Speech input, Transcription, Mic selector, Voice selector, Audio playerVoice
Reasoning, Chain of thoughtReasoning, Chain of thought
Plan, Queue, Task, Tool, Confirmation, Checkpoint, QuestionPlans, Queue, Tasks, Tool calls, Confirmation, Checkpoints
Artifact, Web preview, Image, JSX preview, SandboxArtifacts and previews
Code block, Snippet, Terminal, Test results, Stack trace, File tree, Environment variables, Commit, Package info, Schema displayCode, Developer surfaces
Agent, PersonaAgent avatar with its orb; agent names follow naming

Dos and don'ts

Do

  • Show a plan before multi-step work.
  • Ask before sending, deleting, paying or sharing.
  • Keep a record of every approval.
  • Open failed tool calls with the fix.

Don't

  • Act on someone's behalf without a confirmation.
  • Offer “Always allow everything”.
  • Invent reasoning the model didn't produce.
  • Show raw secrets in tool inputs.

Code

<details class="n-tool" open>
  <summary><n-orb state="connecting" size="20"></n-orb><code>admiral.licences.list</code>
    <span class="n-tag">Admiral MCP</span><span class="n-spacer"></span><span class="n-badge n-badge--info">Running</span></summary>
  <div class="n-tool__body"><p class="n-tool__label">Input</p><pre>{ "status": "active" }</pre></div>
</details>

<div class="n-confirm">
  <p class="n-confirm__title">…shield icon… Mai wants to send 1 email</p>
  <dl><dt>To</dt><dd>hosting@water.example.gov</dd></dl>
  <div class="n-confirm__actions">
    <button class="n-btn n-btn--secondary n-btn--sm">Don't send</button>
    <button class="n-btn n-btn--primary n-btn--sm">Send email</button>
  </div>
</div>

Last updated on 14 October 2026