Activity trace

See what skills, agents, and tools BusyBro used to produce a response — a Claude-Code-style trace in the dashboard chat panel and a compact footer on Telegram.

Every BusyBro answer can show you what it actually did to produce it — the skills it loaded, the specialist agents it delegated to, and the tools it ran — just like the activity trace you see in Claude Code. No more guessing whether an answer came from your live data or the model's general knowledge: the trace makes BusyBro's work visible and auditable.

What it shows

The activity trace records, in the order they happened, three kinds of capability BusyBro used while answering:

  • Skills — a loadable instruction playbook BusyBro pulled in mid-answer (for example device-traffic-triage). The trace shows the skill's name and what it's for.
  • Agents — a focused sub-task BusyBro delegated to a specialist agent (for example the dashboard specialist). The trace shows the agent's name and the one-line objective it was given.
  • Tools — a live read or action BusyBro ran (for example summarize_device_traffic or delete_entries). The trace shows the tool's name and a short, human one-liner of what it did — "listed 12 devices", "summarized Amber Tanager's traffic", "deleted entries on Amber Tanager (kept latest 10)".

The detail level is deliberately names plus a one-line summary — never raw arguments and never the full tool output. Secrets, tokens, and bulky payloads never appear in the trace, just like they never appear in BusyBro's answers.

Only capabilities that actually succeeded are recorded. A tool that was refused (a permission gate, a confirm BusyBro is waiting on, a not-found) is not counted as "used" — so the trace is an honest record of work that happened, not work that was attempted.

In the dashboard

In the chat panel, a finished answer that used any capability shows a compact, muted line under it — for example:

Used 2 tools · 1 skill · 1 agent

Click it to expand the ordered list of name — summary rows, each marked with an icon for its kind (a puzzle piece for a skill, a robot for an agent, a wrench for a tool). Click again to collapse it. Answers that used nothing show no trace at all, so the panel stays clean.

The trace is saved with the thread, so it survives a reload and reopening the panel — scroll back through your conversation and the trace stays attached to each answer. Threads saved before this feature simply have no trace; they load exactly as before.

On Telegram

When @busybrobot finishes an answer in a chat, it appends a small italic footer summarizing what it used — for example:

used: summarize_device_traffic, delete_entries · skill: device-traffic-triage · agent: dashboard

It's kept short and human, de-dupes a tool used more than once, and is omitted entirely when nothing was used. The footer is shown only under the reply — it isn't stored in the conversation history, so it never clutters follow-up context.

Why it's useful

  • Trust the answer. See at a glance that "you have 12 devices" came from a live list_devices read, not a guess.
  • Understand a multi-step task. When BusyBro triages traffic, delegates a sub-task, and cleans up, the trace shows each step it took to get there.
  • Audit actions. For a write (like deleting entries), the trace is a plain-language record of exactly what ran — alongside the role-based permissions and confirm prompts that gate every action in the first place.

See also

  • In the dashboard — the chat panel, streaming, and thread persistence.
  • On Telegram — the same BusyBro as @busybrobot.
  • What it can do — the data, actions, and permissions behind the tools the trace records.
  • Specialist agents — the agents run_task delegates to, which appear in the trace.