From progress-tracker
This skill should be used when the user runs "/prog next", asks to "implement next feature", "start next feature", "continue implementation", or needs to resume interrupted feature execution. Routes features to appropriate implementation paths based on complexity assessment.
npx claudepluginhub siuninyue/siunin-plugins --plugin progress-trackerThis skill uses the workspace's default tool permissions.
Coordinate `/prog next` execution by selecting the next feature, routing to the correct implementation path, and keeping workflow state resumable.
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.
Coordinate /prog next execution by selecting the next feature, routing to the correct implementation path, and keeping workflow state resumable.
Check this FIRST before any other step.
If the invocation includes inline context lines (Feature:, Phase:, Plan:, Branch:, Worktree:, Next:), treat them as pre-loaded state and do the following:
Parse inline context:
Feature → feature_id and feature_namePhase → workflow_state.phasePlan → workflow_state.plan_pathPlanSummary → single-line plan summary (semicolon-separated)Tasks → completed/total countsNext → next task to executeBranch / Worktree → execution_contextBucket → complexity bucket (simple|standard|complex)Questions → clarifying questions (pipe-separated)ProjectRoot → absolute project root path (used for all prog commands)If Worktree is present: store worktree_path as the execution root for all shell 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 shell command that must run in the feature directory with:
cd <worktree_path> && <command>
Verify the path is accessible before proceeding:
ls <worktree_path>
If the path is inaccessible, warn the user 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 git checkout automatically.
Skip entirely (do not run): Steps 1 full re-read, Step 2.4 memory overlap check, Step 2.5 git preflight, complexity re-scoring.
Route directly by Phase:
execution_complete → output the prog-done handoff block and stop (do not re-implement)execution → jump to Step 4 route with existing plan, resume from Next taskplanning_complete → jump to Step 4B subagent execution with existing planplanning → jump to Step 3 complexity scoringplanning:approved → verify worktree accessible (if present) → read inline Bucket: field and route execution directly:
Bucket: > persisted feature.ai_metrics.complexity_bucket > standard fallback):
simple → delegate to feature-implement-simplestandard → Step 4B coordinatorcomplex → delegate to feature-implement-complexBucket missing or invalid: read persisted feature.ai_metrics.complexity_bucket once (fallback only); if still unavailable → default to standard and output warning: "Bucket unknown, defaulting to standard" — do NOT stop executionplanning:draft → display PlanSummary, wait for user approval/changes; do NOT re-run brainstormingplanning:clarifying → read Questions field, re-ask questions, proceed to draft after answers receivedProjectRoot present → pass --project-root <project_root> to every prog CLI call.
Branch/worktree mismatch validation still applies (ProjectRoot only determines command directory, does not bypass checks).
The inline context is the source of truth. Do not re-read progress.json to "verify" it — that defeats the purpose.
docs/progress-tracker/state/progress.json.plugins/progress-tracker/prog entry point./prog done after implementation./prog next command execution.CRITICAL: All plugins/progress-tracker/prog commands MUST be executed from the project root directory.
If not already in the project root, first run:
cd <project-root>
The prog tool uses relative paths and requires being in the correct project directory to resolve files correctly.
docs/progress-tracker/state/progress.json and identify:
current_feature_iddeferred=true)workflow_state (if present)docs/progress-tracker/architecture/architecture.md exists, read constraints and apply them.plugins/progress-tracker/prog auto-checkpoint
plugins/progress-tracker/prog git-sync-check
/prog init <goal>.current_feature_id is already set and not complete:
workflow_state.phase:
execution_complete → tell user to run /prog done, stop here.execution or planning_complete → resume from next unfinished task (skip to Step 2.5, use existing plan_path).planning or missing → continue normally from Step 2.workflow_state.execution_context already matches current branch/worktree.plugins/progress-tracker/prog next-feature --json
plugins/progress-tracker/prog set-current <feature_id>
set-current now auto-transitions the active feature into developing.
Do not require /prog-start as an extra manual transition.
Display:
Only run this step if workflow_state.phase is not already set (i.e., this is a fresh feature start, not a resume).
plugins/progress-tracker/prog memory read (project_memory.py read)/prog next.Skip this step if resuming (phase was execution or planning_complete) and workflow_state.execution_context matches the current branch/worktree. Just continue from the saved plan.
Otherwise, run preflight:
plugins/progress-tracker/prog git-auto-preflight --json
Parse JSON result and branch by decision:
ALLOW_IN_PLACE → continue without workspace changes.REQUIRE_WORKTREE → Skill("using-git-worktrees", args="Set up isolated workspace for feature-<id>")DELEGATE_GIT_AUTO → Skill("progress-tracker:git-auto", args="Resolve workspace/git preflight blockers")Rules:
/prog next permanently; if delegation fails, return actionable recovery guidance.reason_codes and top issues in a short warning summary.Before complexity scoring, initiate the planning sub-phase to clarify requirements.
references/complexity-assessment.md, persist AI metrics:
plugins/progress-tracker/prog set-feature-ai-metrics <feature_id> \
--complexity-score <score> \
--selected-model <haiku|sonnet|opus> \
--workflow-path <direct_tdd|plan_execute|full_design_plan_execute>
plugins/progress-tracker/prog set-workflow-state --phase "planning:clarifying"
planning:clarifying handoff block (see progress-recovery/references/communication-templates.md).writing-plans skill (incorporating user answers) to generate plan.PlanSummary — single line, semicolon-separated, 3-5 key points.plugins/progress-tracker/prog set-workflow-state --phase "planning:draft" --plan-path <path>
planning:draft handoff block. STOP.plugins/progress-tracker/prog set-workflow-state --phase "planning:approved" --plan-path <path>
planning:approved handoff block.complexity_bucket and begin execution (same session — do NOT STOP).Valid --phase values: planning, planning:clarifying, planning:draft, planning:approved, planning_complete, execution, execution_complete
(planning_complete retained for backward compatibility)
0-15)progress-tracker:feature-implement-simple.workflow_state.phase to execution before delegation.16-25)brainstorming when behavior/design decisions are still open.writing-plans to produce executable task plan.subagent-driven-development to execute plan with TDD.requesting-code-review for final diff validation.verification-before-completion before phase transition to execution_complete.planning_complete once plan is acceptedexecution while tasks runexecution_complete when implementation is finishedImportant compatibility rule:
/prog next flow, treat implementation as finished at "code + verification ready"./prog done.26-40)progress-tracker:feature-implement-complex.If delegation fails for simple/complex path, fallback to standard coordinator path and continue with sonnet workflow.
Use these commands when phase changes:
plugins/progress-tracker/prog set-workflow-state \
--phase <design_complete|planning_complete|execution|execution_complete> \
--plan-path <docs/plans/...> \
--next-action "<human-readable next action>"
For task completion checkpoints during execution:
plugins/progress-tracker/prog update-workflow-task <task_id> completed
Context note:
set-workflow-state and update-workflow-task now also persist workflow_state.execution_context (branch/worktree)./prog done should use this context to detect worktree/branch mismatches.When implementation is done:
Do not mark the feature complete in this skill.
Use the Context Handoff Block templates from progress-recovery/references/communication-templates.md:
execution_complete → use the prog-done block templateexecution / planning_complete → use the prog-next block templateplanning → use the planning block templateplanning:clarifying → use the planning:clarifying block templateplanning:draft → use the planning:draft block templateplanning:approved → use the planning:approved block templateWhen an interrupted workflow is detected:
plugins/progress-tracker/prog validate-plan
For detailed resume playbooks and message templates, read references/session-playbook.md.
Return concise guidance:
/prog init <goal> first."Return completion summary and suggest:
/prog to review status/prog init if starting another projectIf current_feature_id points to missing feature, clear invalid state via recovery workflow, then recalculate the next actionable (non-deferred) feature.
When this skill starts a feature, always include:
id + name)score + bucket + selected_model)/prog done instruction only when phase=execution_complete; during planning/execution show current phase and expected next step insteadPhase = execution_complete:
/progress-tracker:prog-done
Feature: <feature_id> "<feature_name>" | Phase: execution_complete
Plan: <plan_path> | Tasks: <total>/<total> done
Branch: <branch>[ | Worktree: <worktree_path>]
ProjectRoot: <abs_project_root>
→ Context pre-loaded. Switch to worktree/branch above first if not already there.
Phase = execution or planning_complete:
/progress-tracker:prog-next
Feature: <feature_id> "<feature_name>" | Phase: <phase>
Plan: <plan_path> | Tasks: <completed>/<total> done
Next: <next_task_id> — <next_task_title>
Branch: <branch>[ | Worktree: <worktree_path>]
ProjectRoot: <abs_project_root>
→ Context pre-loaded. Switch to worktree/branch above first if not already there.
Phase = planning:approved:
/progress-tracker:prog-next
Feature: <feature_id> "<feature_name>" | Phase: planning:approved
Plan: <plan_path>
Bucket: <simple|standard|complex>
Tasks: <total_count>
Branch: <branch>[ | Worktree: <worktree_path>]
ProjectRoot: <abs_project_root>
→ Context pre-loaded. Routes by Bucket field.
references/complexity-assessment.md:
references/superpowers-integration.md:
references/session-playbook.md: