Agent activity
An agent at work
Plan: reply to the Ministry hosting request
Draft- Read the three planning emails
- Check the pilot plan and hosting options
- Draft a reply recommending on-premisesWriting… 40%
- Ask you to review the draft
- 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.
| Activity | Component | Default |
|---|---|---|
| Thinking before answering | Reasoning (collapsible) | Collapsed: “Thought for 6 seconds” |
| Searching and reading | Chain of thought (steps) | Open while running, collapsed after |
| Multi-step work | Plan card | Open; the current step highlighted |
| Work waiting its turn | Queue | Visible in the composer area |
| Calling a tool or system | Tool call | Collapsed one-line row; open on error |
| Acting on someone's behalf | Confirmation | Always open, blocks that action |
| Long or background work | Task, with a thinking orb | In the activity panel; toast when done |
| Creating something | Artifact | Card 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
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”.
- Searched mail for “planning”3 emailsOct 12–14
- Opened “Launch checklist v3”
- Searching files for the hosting policy
- 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
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.
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
Syncing 128 licences…
✓ 125 synced
✗ 3 failed: expired certificate
$
- 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 component | North guidance |
|---|---|
| Message, Conversation, Response, Actions, Branch | Messages |
| Prompt input, Attachments, Model selector, Context, Suggestion, Open in chat | Composer, Attachments, Model, Context, Suggestions |
| Inline citation, Sources | Sources and citations |
| Shimmer, Loader | Streaming, Thinking orbs |
| Speech input, Transcription, Mic selector, Voice selector, Audio player | Voice |
| Reasoning, Chain of thought | Reasoning, Chain of thought |
| Plan, Queue, Task, Tool, Confirmation, Checkpoint, Question | Plans, Queue, Tasks, Tool calls, Confirmation, Checkpoints |
| Artifact, Web preview, Image, JSX preview, Sandbox | Artifacts and previews |
| Code block, Snippet, Terminal, Test results, Stack trace, File tree, Environment variables, Commit, Package info, Schema display | Code, Developer surfaces |
| Agent, Persona | Agent 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