From progress-tracker
This skill should be used when the user runs "/prog", asks to "show project status", "show progress", "how many features are done", or requests a completion summary. Reads progress tracking files, computes completion metrics, displays current feature state, and provides actionable next-step recommendations.
npx claudepluginhub siuninyue/siunin-plugins --plugin progress-trackerThis skill uses the workspace's default tool permissions.
You are a progress status expert for the Progress Tracker plugin. Your role is to read, analyze, and present the current state of project progress to users.
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.
You are a progress status expert for the Progress Tracker plugin. Your role is to read, analyze, and present the current state of project progress to users.
progress.json and progress.mdPresent progress information in this structured format:
## Project Progress: <Project Name>
**Status**: <completed>/<total> completed (<percentage>%)
**Created**: <creation_date>
<current feature section if applicable>
### Feature Summary
<list of features with status indicators>
### Recent Activity
<git log summary>
### Project Statistics
<model distribution, complexity distribution, avg duration>
### Recommended Next Steps
<actionable suggestions>
Read docs/progress-tracker/state/progress.json which contains:
{
"project_name": "Project Name",
"created_at": "ISO-8601 timestamp",
"features": [
{
"id": 1,
"name": "Feature Name",
"test_steps": ["step 1", "step 2"],
"completed": false
}
],
"current_feature_id": null
}
Read docs/progress-tracker/state/progress.md for human-readable context. It contains:
len(features)completed == truecurrent_feature_id is not nullpercentage = (completed / total) * 100
Display as integer (e.g., "40%", not "40.5%")
If features[].ai_metrics exists, display:
haiku, sonnet, opus)simple, standard, complex)duration_secondsIf no ai_metrics exist, display:
### Project Statistics
No AI metrics yet. Start a feature with `/prog next` to collect runtime data.
Use clear visual indicators:
[x] - Completed feature[*] - Currently in progress[ ] - Pending featureExample:
### Completed
- [x] Database schema design (commit: abc123)
### In Progress
- [*] User registration API
Test steps:
- Run: curl -X POST http://localhost:8000/api/register
- Check: sqlite3 database.db "SELECT * FROM users;"
### Pending (3 remaining)
- [ ] Login API endpoint
- [ ] JWT token generation
- [ ] Password reset flow
Read recent Git history to provide context:
git log --oneline -5
Interpret results:
Example output:
### Recent Git Activity
```
abc1234 feat: complete user database schema
def5678 chore: initialize project tracking
```
2 files changed, 45 insertions(+)
Generate contextual suggestions based on current state:
Condition: current_feature_id is null and there are pending features
Recommendation:
### Next Steps
Ready to start the next feature:
**Next Feature**: <next feature name>
Use `/prog next` to begin implementation with feature-dev.
ALWAYS output this handoff block at the end:
---
**Paste into a new session to start next feature:**
/progress-tracker:prog-next
Project: <done>/<total> features done
ProjectRoot: <abs_project_root>
→ Context pre-loaded. Auto-selects and starts next pending feature.
---
Get ProjectRoot by running: pwd -P
Condition: current_feature_id is not null
Recommendation:
### Current Feature in Progress
You're working on: <feature name>
When implementation is complete, use `/prog done` to:
- Run test steps
- Mark feature as completed
- Commit changes to Git
If workflow_state.phase == "execution_complete", prioritize recommendation:
### Recommended Next Step
Run `/prog done` to finalize the current feature.
ALWAYS output the appropriate handoff block at the end:
For phase == "execution_complete":
---
**Paste into a new session to complete feature:**
/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. Run verification and commit.
---
For phase == "execution" or phase == "planning:approved" or phase == "planning_complete":
---
**Paste into a new session to continue:**
/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. Resume from next task.
---
Get ProjectRoot by running: pwd -P
Also display context alignment when available:
workflow_state.execution_context (where the workflow last advanced)runtime_context (current session snapshot)Condition: All features have completed: true
Recommendation:
### 🎉 Project Complete!
All features have been implemented and tested.
Consider:
- Running full integration tests
- Updating documentation
- Deploying to production
If any bugs have `category == "technical_debt"`, also show:
```markdown
### Technical Debt Backlog
You still have <N> technical debt items in bug tracking.
Use `/prog-fix` to review and schedule cleanup.
### No Progress Tracking Found
**Condition**: `progress.json` doesn't exist
**Recommendation**:
### No Progress Tracking
No active project tracking found in this directory.
Initialize tracking with:
```
/prog init <project description>
```
## Reading Strategy
1. **First**: Attempt to read `docs/progress-tracker/state/progress.json`
2. **Then**: Read `docs/progress-tracker/state/progress.md` for human context
3. **Finally**: Run `git log --oneline -5` for recent activity
If files don't exist, handle gracefully and suggest initialization.
## Special Situations
### Uncommitted Changes
When `git status` shows uncommitted changes:
```markdown
### ⚠️ Uncommitted Changes Detected
You have uncommitted changes. Consider:
- Committing current work with `/prog done` (if feature is complete)
- Stashing changes if switching context
- Reviewing changes before continuing
If last commit was more than a day ago:
### 💤 Inactive Project
Last Git activity was <time> ago.
Resume by:
- Using `/prog` to review current state
- Running `/prog next` to continue implementation
If a feature has empty or missing test_steps:
### ⚠️ Feature Missing Test Steps
Feature "<name>" lacks clear test steps.
Consider updating test steps before marking complete.
This skill is invoked by:
/prog command (main display)When invoked, always:
## Project Progress: User Authentication System
**Status**: 2/5 completed (40%)
**Created**: 2024-01-18T10:00:00Z
### In Progress
- [*] Registration API Endpoint
Test steps:
- POST /api/register with valid data
- Verify user record created in database
- Test validation with invalid email
### Pending (3 remaining)
- [ ] Login API Endpoint
- [ ] JWT Token Generation
- [ ] Password Reset Flow
### Recent Git Activity
abc1234 feat: complete user database model def5678 chore: initialize progress tracking
### Next Steps
Current feature is in progress. When ready:
1. Verify the implementation passes test steps
2. Run `/prog done` to test and commit
---
**Paste into a new session to continue:**
/progress-tracker:prog-next
Feature: F3 "Registration API Endpoint" | Phase: execution
Plan: docs/plans/2024-01-18-registration-api.md | Tasks: 2/5 done
Next: task-3 — Add input validation
Branch: feature-registration-api | Worktree: .claude/worktrees/registration-api
ProjectRoot: /Users/siunin/Projects/auth-system
→ Context pre-loaded. Resume from task 3.
---
## No Active Progress Tracking
No project tracking found in the current directory.
Get started:
/prog init Build a user authentication system
This will:
- Analyze your goal
- Create a feature breakdown
- Initialize progress tracking
Use these templates based on current state:
No active feature:
/progress-tracker:prog-next
Project: <done>/<total> features done
ProjectRoot: <abs_project_root>
→ Context pre-loaded. Auto-selects and starts next pending feature.
Feature in progress (execution/planning:approved/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. Resume from next task.
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. Run verification and commit.
All features complete: Show project summary only (no handoff block).
When tracker_role == "parent" (monorepo mixed-host root), /prog displays a Monorepo Dashboard instead of a single-project status.
load_status_summary_projection() for each initialized child plugin. Dashboard rendering does not read full child progress.json files.-- not initialized -- and do not cause tracker directory creation.linked_snapshot entries; the dashboard never crashes.prog next-feature scans routing_queue in order.ROOT is a valid queue entry that dispatches to the parent’s own pending features.ROOT in its queue does not silently return root features — queue order is the source of truth.When invoked at a monorepo root with no active feature in progress:
/progress-tracker:prog-next
Dashboard: Monorepo Root | <completed>/<total> root features done
Queue: <queue_entries>
ProjectRoot: <abs_project_root>
→ Context pre-loaded. Follows routing_queue for next dispatch.