From progress-tracker
This skill should be used when the user asks to "/prog done", "complete feature", "mark feature as done", "finish implementation", or runs the prog-done command. Handles feature verification, progress tracking updates, and Git commits.
npx claudepluginhub siuninyue/siunin-plugins --plugin progress-trackerThis skill uses the workspace's default tool permissions.
Finalize the active feature only after verification passes, then update tracking state and Git metadata.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Finalize the active feature only after verification passes, then update tracking state and Git metadata.
Check this FIRST before any other step.
If the invocation includes inline context lines (Feature:, Phase:, Plan:, Branch:, Worktree:, ProjectRoot:), treat them as pre-loaded state:
Parse inline context: feature_id, feature_name, plan_path, branch, worktree_path, project_root.
ProjectRoot is present: pass --project-root <project_root> to every prog CLI call below.If Worktree is present: store worktree_path as the execution root for all acceptance test commands.
Claude Code — CWD does NOT persist between Bash tool calls.
A standalonecd <worktree_path>affects only that single call and has no effect on subsequent calls.
Do NOT use a barecdto set context.
Instead, prefix every acceptance test shell command in Step 4 with:
cd <worktree_path> && <command>
Verify the path is accessible before proceeding:
ls <worktree_path>
If the path is inaccessible, warn and stop.
If Branch is present: verify the checked-out branch matches.
worktree_path is present:
cd <worktree_path> && git branch --show-current
worktree_path is absent (in-place session):
git branch --show-current
If branch doesn't match, stop and ask the user to switch to <branch> first; do not run acceptance or completion. Do not run git checkout automatically.
Skip Step 1 (load active feature from file) and Step 2 (validate workflow state from file) — trust the inline Phase: execution_complete.
Proceed directly to Step 3 (validate plan contract) using the inline Plan path.
The inline context is the source of truth.
/prog doneRead docs/progress-tracker/state/progress.json and locate current_feature_id.
/prog next.Inspect workflow_state.phase.
execution_complete.execution_complete, do not complete feature.docs/progress-tracker/state/progress.json (or check output):
Return an actionable message:
/prog, /prog next, or recovery)Before running acceptance, validate plan path and required sections:
plugins/progress-tracker/prog --project-root <project_root> validate-plan
Use feature.test_steps as source of truth.
worktree_path is set (from inline context): prefix every shell command with cd <worktree_path> && so it runs in the correct branch directory.cd /path/to/worktree && pytest tests/If user provides acceptance notes or test docs, format/report via testing-standards.
Detailed checklists and output templates are in references/verification-playbook.md.
Before claiming pass, invoke:
Skill("superpowers:verification-before-completion", args="Verify acceptance evidence for feature <feature_id>")
BEFORE calling prog done, dispatch a NEW subagent to run the evaluator gate independently.
Agent(
subagent_type="code-reviewer", // or "security-auditor" for security-sensitive features
prompt="Run evaluator_gate.assess() for feature <feature_id>. "
"Read quality rubric from feature.acceptance_scenarios and test_steps. "
"Collect signals: test_coverage from pytest --cov output, defects from code review. "
"Persist result via progress_manager._store_evaluator_result(feature_id, result). "
"Pass evaluator_model=<model_id_used>. "
"Report status (pass/retry/required_reviews), score, and defect list."
)
Isolation requirement (ADR-009): The evaluator subagent MUST run in a separate context from the generator that produced the feature code. Do not call assess() in the same session that ran the implementation — this defeats the generator/evaluator separation discipline.
Gate rule:
status == "pass" → proceed to Step 5status == "retry" → fix blocking defects, re-run evaluator subagent, do NOT call prog donestatus == "required_reviews" → escalate to human review lane, do NOT call prog doneIf quality_gates.evaluator.status != "pass" when prog done is invoked, the CLI will exit with code 6 and block archiving.
Skill("superpowers:requesting-code-review", args="Final review before marking feature <feature_id> complete")
Skill("progress-tracker:git-auto",
args="git auto done — feature <feature_id> closeout, autorun authorized, intent: commit_push_pr_merge")
Parse the Execution Result Block (=== Git Auto Result === … === End Result ===):
Status: ok → extract CommitHash, continue to step 5Status: blocked → display BlockReason, STOP — wait for user to resolve, then re-run /prog doneStatus: ok + real CommitHashCommitHash extracted in step 4:plugins/progress-tracker/prog --project-root <project_root> complete <feature_id> --commit <CommitHash_from_step4>
This step will automatically:
docs/progress-tracker/archive/feature-{id}-{original-name}.md for consistencyfeature-N-*.md) and current date-based naming patterns (YYYY-MM-DD-*.md)title: feature namesummary: concise completion summarytags: optional feature tagsconfidence: 1.0source.origin: prog_donesource.feature_id: current feature IDsource.commit_hash: completion commit hashplugins/progress-tracker/prog --project-root <project_root> memory append --payload-json '<capability_json>'
Legacy CLI equivalent: project_memory.py append.
plugins/progress-tracker/prog --project-root <project_root> complete-feature-ai-metrics <feature_id>
plugins/progress-tracker/prog --project-root <project_root> clear-workflow-state
Before outputting, read docs/progress-tracker/state/progress.json to find:
project_namecompleted == true features and total featurescompleted == false (next feature: its id and name)runtime_context.tracker_root or resolve from CWD)If pending features remain, output this exact block (fill in all placeholders from live data):
---
**粘贴到新会话以启动下一个功能:**
/progress-tracker:prog-next
Project: <project_name> | <done>/<total> completed
Feature: F<next_id> "<next_name>"
ProjectRoot: <abs_project_root>
→ Context pre-loaded. Auto-selects and starts next pending feature.
---
Also show the next feature's test_steps as a preview so the user knows what's coming:
**下一个功能预览:**
- ID: F<next_id>
- Name: <next_name>
- Test steps:
1. <step1>
2. <step2>
...
If all features are complete: output project completion summary instead (no handoff block needed).
/prog done defaults to commit_push_pr_merge.git-auto is the single authority for merge gating and execution.finishing-a-development-branch automatically inside normal /prog done flow; this avoids duplicate closeout decisions and worktree/main drift.finishing-a-development-branch when the user explicitly requests a manual integration path after /prog done./progress-tracker:prog-fix "<issue>" when failure is bug-like.If project defines quality_gates.pre_commit_checks, run them before completion.
If user identifies technical debt during verification, record it in bug system:
plugins/progress-tracker/prog --project-root <project_root> add-bug \
--description "<technical debt item>" \
--status pending_investigation \
--priority medium \
--category technical_debt
/prog next.Tasks; plus either strict sections or Superpowers header fields)./prog done.Status: blocked in Execution Result Block from git-auto.BlockReason from result block; do not mark feature complete./prog done.Status: ok is received.Message: git-auto could not complete merge-first closeout due to missing PR/gh context.
Next action: keep feature open, surface blocker details, and ask user whether to proceed with manual integration.
Workflow Context Mismatch (warning path):
/prog done; if user confirms verification was done in current context, continue manually.Always include:
If pending features remain:
/progress-tracker:prog-next
Project: <done>/<total> features done | F<feature_id> "<feature_name>" ✓ just completed
ProjectRoot: <abs_project_root>
→ Context pre-loaded. Auto-selects and starts next pending feature.
If ALL features complete: Output project completion summary instead (no handoff block).
For full examples of pass/fail conversations, read references/session-examples.md.