Read your activity dashboard
Every DOS session, PRD, and criterion in flight — fed live by the PRDSync hook and projected into work.json.
Where your work lives while DOS is running. Open it during a long Algorithm run and watch the phase update in real time.
Two surfaces, one source
- JSON state file —
~/.claude/MEMORY/STATE/work.json. Raw registry of every session. - Studio dashboard — the Activity route in this app. Reads
work.json, renders sessions, progress bars, filters.
Both read the same data. Pick whichever you prefer.
What it shows per session
- Task — your eight-word description.
- Slug — timestamped ID:
YYYYMMDD-HHMMSS_kebab-task. - Effort tier — Standard, Extended, Advanced, Deep, Comprehensive.
- Phase — observe, think, plan, build, execute, verify, learn, complete.
- Progress —
N/Mcriteria, pulled from PRD frontmatter. - Mode —
interactiveorautonomous. - ISC counts — atomic criteria, checked, anti-criteria.
Click a session and the full PRD opens: Context, Criteria, Decisions, Verification.
The frontmatter that feeds it
Every PRD lives at MEMORY/WORK/{slug}/PRD.md and opens with YAML:
--- task: Deliver DOS v0.0.3 documentation for studio slug: 20260412-185853_deliver-dos-v003-docs effort: deep phase: execute progress: 5/47 mode: interactive started: 2026-04-12T18:58:53Z updated: 2026-04-12T19:18:00Z ---
progress: 5/47 means five of forty-seven atomic criteria passed. The Algorithm bumps it the moment a criterion flips to [x]. phase: execute means the Algorithm is between BUILD and VERIFY. updated going stale during an active session means something stalled.
How PRDSync keeps it fresh
A PostToolUse hook named PRDSync watches for Write and Edit calls against any PRD.md. When it fires, it parses frontmatter and criteria, then writes the summary into work.json. The hook is strictly read-only against the PRD. It never writes the PRD itself — only the Algorithm writes the PRD.
The PRD is the source of truth
The dashboard is a projection. work.json is the projection target. MEMORY/WORK/{slug}/PRD.md is the source. When they disagree, trust the PRD.
Common reads
- "What is DOS doing right now?" — Sort by
updateddescending, look at the top row'sphase. - "Did my background run finish?" — Filter by today, look for
phase: complete. - "Why is this stuck?" — Open the PRD and scan unchecked criteria.
- "How much did I get done this week?" — Sum
progressnumerators across sessions started in the last seven days.
Troubleshoot
- Dashboard is empty.
work.jsondoesn't exist yet. Run any Algorithm session and PRDSync creates it on first fire. - Stale
updated. The Algorithm is between phases or crashed. Check the PRD directly. - Phase badge looks wrong. PRDSync fires on Write/Edit of
PRD.md. Frontmatter edited outside a tool call never reaches the dashboard. Touch the file via an Edit call to refresh. - Progress counter drifts from checkbox count. The Algorithm updates
progress:manually. Edit the frontmatter to match the checkboxes.
Next
Write a custom Hook
PRDSync is a hook. Here's how to write one yourself.
Ask for outcomes
The habit that populates the dashboard with work worth watching.
Was this page helpful?