From claudecode-research-harness-workflow
Generates a single-file HTML progress tracker from Plans.md showing task counts, completion percentage, time and cost estimates with drift alerts. Helps non-engineer vibecoders get a session status overview.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claudecode-research-harness-workflow:harness-progress [--out <path>] [--no-open][--out <path>] [--no-open]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Phase 65.4 (Progress Tracker) — 3rd surface of the cognitive-load HTML triplet.
Phase 65.4 (Progress Tracker) — 3rd surface of the cognitive-load HTML triplet. Following Plan Brief / Acceptance Demo, this is the third HTML surface, allowing you to see the full picture of the session in progress at a glance on a single page.
| Input | Action |
|---|---|
/harness-progress | Generate and open the progress snapshot HTML for the current project |
/harness-progress --no-open | Generate only (no browser open; for PostToolUse hook) |
/harness-progress --out <path> | Specify output path (default: out/progress-snapshot.html) |
Generate a single HTML page that allows a non-engineer vibecoder to understand in 3 seconds in a browser how many tasks have been completed in the current session, how far along they are, when they are expected to finish, and what has been spent so far.
Does:
Does NOT (this cycle):
Full spec: schemas/progress-snapshot.v1.schema.json
schema: progress-snapshot.v1
project: <basename of git repo>
current_task: <first cc:WIP item one-line summary; empty string if none>
progress_pct: <integer 0-100, cc:done / total tasks * 100 rounded>
todo_tasks: [{number, title}] <- cc:TODO only
wip_tasks: [{number, title}] <- cc:WIP only
done_tasks: [{number, title, commit}] <- cc:done [hash] only, hash is 7 characters
elapsed_minutes: <int, from state file>
estimated_total_minutes: <int, from state file>
cost_so_far_usd: <float, from state file>
cost_estimate_usd: <float, from state file>
alerts: [] <- populated from Phase 65.4.3 onward
generated_at: <ISO8601 UTC>
PROJECT_NAME="$(basename "$(git rev-parse --show-toplevel)" 2>/dev/null || echo "current")"
SNAPSHOT_JSON="$(mktemp /tmp/progress-snapshot-XXXX.json)"
bash scripts/progress-snapshot.sh \
--plans Plans.md \
--project "$PROJECT_NAME" \
> "$SNAPSHOT_JSON"
scripts/progress-snapshot.sh (implemented in Phase 65.4.1) parses Plans.md and outputs JSON conforming to the progress-snapshot.v1 schema.
OUT_PATH="${OUT_PATH:-out/progress-snapshot.html}"
mkdir -p "$(dirname "$OUT_PATH")"
bash scripts/render-html.sh \
--template progress \
--data "$SNAPSHOT_JSON" \
--out "$OUT_PATH"
Only when the --no-open flag is absent (skipped for background regeneration from PostToolUse hook):
bash scripts/plan-brief-open.sh --path "$OUT_PATH"
The --cross-project-group <name> flag will be added in Phase 65.4.4. In this cycle (65.4.1), it is default OFF; aggregation is for the current project only.
| State | Behavior |
|---|---|
| Plans.md not found | progress-snapshot.sh exits with exit 1 (clear error message) |
| Plans.md has no tasks | Generate snapshot with progress_pct: 0, empty arrays (HTML shows "no tasks") |
| State file (elapsed minutes, etc.) not found | Fallback with elapsed_minutes: 0, cost_so_far_usd: 0 (no warning) |
git not found / outside git repo | Fallback with project: "current" |
harness-plan-brief (Phase 65.1.x) — 1st surface (pre-implementation briefing)harness-accept (Phase 65.2.x) — 2nd surface (acceptance decision)harness-progress (this skill, Phase 65.4.x) — 3rd surface (progress dashboard)npx claudepluginhub maxwell2732/claudecode-research-harness-workflow --plugin claudecode-research-harness-workflowGenerates an HTML progress snapshot from Plans.md showing task counts (TODO/WIP/DONE), completion percentage, elapsed time, cost, and drift alerts.
Reconciles Plans.md against implementation status and detects drift. Use for sync-status, progress checks, or snapshot creation.
Renders fixed-width ASCII progress dashboards showing project phases, epics, tasks, completion bars, velocity metrics, and ETA from tasks.json. For terminal or markdown progress views.