hoangsonww/cwd-rollup
> Roll up Claude Code sessions by working directory (project) from Agent Monitor data — session count, total cost, total tokens, and last-active timestamp per cwd — so per-project activity can be compared at a glance. Use when summarizing where effort and spend went across projects.
npx skills add https://github.com/hoangsonww/Claude-Code-Agent-Monitor --skill cwd-rollup
Aggregate session activity per working directory (project).
The user provides: $ARGUMENTS
top N → keep only the N highest-cost (or highest-count) projects.| Endpoint | Returns |
|----------|---------|
| GET /api/run/cwds | the distinct working directories that have sessions — the rollup key set |
| GET /api/sessions?limit=N | session list: id, status, model, cwd, started_at, ended_at, cost, metadata (usage_extras with token counts) |
| GET /api/pricing/cost | fleet cost: total_cost, breakdown[{ model, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens, cost, matched_rule }] — for the fleet total to compute each cwd's share |
GET /api/run/cwds for the canonical list of working directories. Apply the
$ARGUMENTS filter (substring match) if one was given.
GET /api/sessions?limit=1000. Bucket sessions by cwd.
For each working directory compute:
cost field across the bucket.metadata usage_extras (sum the four into a total, and keep input + output as the
"billable text" subtotal).
started_at (or ended_at) in the bucket.GET /api/pricing/cost for total_cost; show each cwd's cost as a percentage of the
fleet total.
Sort by cost descending by default (or count if the user asked); apply top N.
Markdown table: project (cwd basename) | sessions | total tokens | cost | % of fleet | last active | models.
Currency as USD to 4 decimal places; token counts with thousands separators; sort
cost-descending. Add a final TOTAL row summing the columns. Only count tokens that
the session metadata actually carries — if usage_extras is absent for a session,
note it as excluded rather than guessing. If the dashboard is unreachable, tell the
user to start it with npm start from the repo root.
Take hoangsonww/cwd-rollup from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.