Dashboards·terminal · desktop·MIT
savvy-progress
Running, finished and planned subagents with model, context, cost and time, in one panel.

savvy-progress is a Claude Code mod that keeps a live panel of every subagent in your session, with its model, context fill, estimated cost and elapsed time. Paired with savvy-flow, a skill from the same repo that splits a task across tiered worker subagents, it also draws a progress bar above the prompt.
At a glance
- What you get:
/agents-infoopens the agents panel. savvy-flow runs add a bar with the phase and the tasks done out of planned. - Where it draws: in the terminal as text rows and block bars, and in the Claude Desktop Code tab as drawings with animated pixel crabs.
- Cost and privacy: no network calls, no processes. Token counts come from engine events; the token cost is one short tool description the model always sees, plus a line in each savvy-flow worker’s brief.
- Who it’s for: anyone who hands work to subagents and wants to see what each one is doing and spending. The panel works with any subagent; the bar needs savvy-flow.
What it does
The agents panel
/agents-info opens the panel, and running it again closes it. Every subagent the session starts gets a row with:
- The description the model gave it, its type, and its model with the effort level.
- Context fill as a percentage and in tokens, estimated cost, and elapsed time, which ticks every second while it runs.
- A mark for running, done or error (a run that ends without an answer), and
round 2when a task with the same description runs again. - A thin bar: the worker’s own steps when it reports them, otherwise its context fill in grey.
The header totals the cost and tokens of all runs and the time from the first start to the last finish. Finished runs fold under their own heading, and Collapse shrinks the panel to one line of icons and the totals.
On Desktop each row gets a pixel crab that walks while its agent runs; prefers-reduced-motion stops it. In the terminal the rows are text, with block-character bars and a colored mark per run.
With savvy-flow
savvy-flow is a skill with five worker agents. Run /savvy-flow <task> and the session model plans the work, owns the design, hands the pieces to the workers and reviews what comes back. Each task goes to the cheapest tier that should get it right the first time, and each tier has its own costume in the panel:
| Worker | Model and effort | Used for | In the panel |
|---|---|---|---|
savvy-fable | Fable, high | the hardest logic and bugs | an astronaut that floats |
savvy-heavy | Opus, xhigh | unfamiliar code, unclear root cause | a detective sweeping a magnifier |
savvy-careful | Opus, high | delicate but well-understood changes | an engineer turning a wrench |
savvy-medium | Opus, medium | standard feature work | a chef tossing an omelette |
savvy-light | Opus, low | mechanical edits, builds, tests | a racer with a fluttering flag |
Without access to Fable, change model: in savvy-flow’s agents/savvy-fable.md, to opus for example. An Explore subagent is a pirate and any other subagent a plain crab.
With both plugins installed, savvy-progress adds:
- A bar above the prompt: the flow’s title, the phase (Plan, Design, Tasks, Review, Done), accepted tasks out of planned (
Tasks 3/7), a percentage, a×Nbutton with the crew size that opens the panel, and a ✕ that clears the bar. Tasks handed to workers but not yet accepted fill a fainter layer. - Planned tasks at the bottom of the panel, each with its tier, that tier’s model and the tasks it waits for. A task leaves the list when a subagent starts with the same description.
- Step progress: each worker reports a plan of three to eight steps, so its bar reads
4/6with the step in progress instead of context.
The bar appears only when something reports through the mod’s progress tool, as savvy-flow does, or when a savvy-* worker starts.
Install
Needs Claude Code 2.1.287 or later, plus the savvy-flow plugin from the same marketplace for the progress bar, planned tasks and step progress.
claude plugin marketplace add JohnnyVizz/claude-kit
claude plugin install savvy-progress@claude-kit
For the bar, also run claude plugin install savvy-flow@claude-kit. Restart the session, then run /agents-info, or /agents-info open to bring the panel forward without toggling it. Installed as a plugin, the skill is /savvy-flow:savvy-flow <task>.
If the mod does not show up after a marketplace install, the author’s fallback is to load it from a clone:
git clone https://github.com/johnnyvizz/claude-kit.git ~/claude-kit
claude --plugin-dir ~/claude-kit/plugins/savvy-progress
To load the clone in every session, the desktop app included, the author’s README adds the folder to CLAUDE_CODE_PLUGIN_DIRS under env in ~/.claude/settings.json. git pull in the clone updates it.
The original lives in JohnnyVizz/claude-kit. A separate repo, colinmccleaf/savvy-progress, uses the same name for an unrelated step tracker, and some mod sites list savvy-progress under other GitHub accounts.
Settings
Both options are in /config:
language:auto(default),en,ruorhe. Hebrew draws the bar and the panel right to left.autofollows Claude Code’slanguagesetting, then the system locale, and falls back to English.autoOpen: withsavvy(default) the panel opens by itself when a savvy-flow worker starts or a plan is reported. Withanyit also opens, once per session, when any other subagent starts. Without savvy-flow,anysaves you typing/agents-info.
For a mod loaded with --plugin-dir, set them in ~/.claude/settings.json:
{ "pluginConfigs": { "savvy-progress": { "options": { "autoOpen": "any" } } } }
How it works
The mod registers two tools the model can call:
mcp__savvy-progress__progress: the orchestrator reports the plan, the phase, the tasks accepted after review and the end of the flow. Calls from subagents are ignored, so a worker cannot rename, finish or reset the flow. The tool sits behind ToolSearch, and savvy-flow tells the model to load it.mcp__savvy-progress__step: a worker reports steps done and planned, with a short note. It is listed up front in every agent’s tools, so its description costs a few tokens per request. Calls from the main session are ignored.
When a savvy-* worker starts and its brief does not mention the step tool, the mod appends a short paragraph asking it to report its plan and steps. Other subagents’ prompts are left alone.
The rest comes from engine events and costs no tokens: agent.spawn gives each new subagent’s description, type and model; turn.step gives the token usage of every request a subagent makes; turn.complete says whether it ended with an answer. On tool.call for the Agent tool it reads only the subagent type, to count savvy-* workers.
It reads Claude Code’s settings and the locale variables to pick the language. It keeps the flow, the last 200 runs and the panel toggles in the engine’s plugin state, makes no network calls and starts no processes.
Limitations
- Totals cover subagents only. The main session’s own tokens and cost are not in the panel.
- Cost is an estimate, not a bill: token counts times a per-model table of list prices from 10 October (
PRICESinhooks/register.tsx). Cache writes are priced at the 1-hour rate, so a session that writes 5-minute entries is overestimated, and models the table does not recognize are priced as Opus 5.5. - Token totals include cache reads, so they run well above the fresh input and output a subagent used.
- Context fill is the size of the last request over the model’s full window: 200k for Haiku 4.5 and Claude 3 models, 1M for the rest.
- The events and methods the mod uses can change between Claude Code versions.
What people say
We found no Reddit or Hacker News threads; the discussion lives in the repo (253 stars, 63 forks).
- Nested subagents. A user asked for helpers to be grouped under the agent that started them (issue #27). Today a helper launched by a worker gets its own top-level row, and its cost is not added to the worker’s. They signed off with “The crabs are great.”
- Cloud sessions. In a cloud session opened from the desktop app, the tools and
/agents-infoanswer but neither the bar nor the panel is drawn (issue #37). That matches Claude Code, which draws no mods in cloud sessions. The same thread asks for screenshots in the README, which still has none. - With session-band. session-band, a usage band from the same repo, draws its row without passing the render on to the mods beneath it, so with both enabled the savvy-progress bar shows only after you hide session-band with × (issue #46, open with a proposed fix).
What’s new
Between 10 and 12 October the author merged a round of community pull requests, bringing the mod to 1.2.1: the Hebrew panel, the autoOpen setting and /agents-info open, a bar that sits above other mods’ bands instead of hiding them, flow reports from the main session only, the step line in savvy workers’ briefs (they used to skip the reports), current list prices and a text bar for the terminal, which was empty on Claude Code 2.1.295.
Nothing has been merged since. As of 23 October, 16 pull requests are open, among them Spanish, Portuguese and German panels and a bar for any subagent.
Similar Claude Mods
goal-meter
A progress bar and ETA for /goal, built from Claude's own task plan.
Flightdeck
Subagents, permission checks, advisor consults, context and cost, live in a pane.
token-weather-usage
Context, 5-hour and 7-day limits, cache countdown and cost on one line above the prompt.
mission-control
Main agent, subagents and every tool call in a pane, plus a map of the files they touch.
Popular Claude Mods
The whole directory →claude-skins
Fifteen transcript skins: timed tool rows, diff, table and chart cards, a usage band.
fast-jev-compaction
Compaction that drops stale tool calls instead of summarizing; the rest stays verbatim.
claude-code-usage-quota
5-hour and weekly plan limits, a run-out forecast and the context, with auto compact.
harness-mods
Model routing, secret redaction, read cache and subagent accounting, per-guard modes.





