blueprint-plugin/skills/feature-tracking/SKILL.md
Track feature implementation against requirements with hierarchical FR codes and TODO.md sync. Use when linking features to PRDs or recalculating completion stats.
npx skillsauth add laurigates/claude-plugins feature-trackingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Track feature implementation status against requirements documents using hierarchical FR codes.
| Use this skill when... | Use blueprint-feature-tracker-sync instead when... |
|---|---|
| You need to read or update feature implementation status by FR code | You want to reconcile TODO.md checkboxes with the tracker |
| You're recalculating completion percentages mid-development | You want to drain WO entries from a taskwarrior sidecar |
| You manage hierarchical FR codes (FR1, FR1.2, FR1.2.1) | You want a markdown progress summary via --summary |
| You add features or phases to feature-tracker.json | Use blueprint-feature-tracker-status to view stats without modifying |
The feature tracker maintains a JSON file that maps requirements from a source document (e.g., REQUIREMENTS.md) to implementation status. It supports:
Run feature tracking operations when:
Each feature has one of five statuses:
complete: Implementation files exist, tests pass, TODO item checkedpartial: Some implementation exists, not all sub-features donein_progress: Active work, files modified recentlynot_started: No implementation files, TODO uncheckedblocked: Missing dependencies or explicitly markedFeatures are organized hierarchically:
FR1 (Game Setup & Configuration)
├── FR1.1 (Window Configuration)
├── FR1.2 (Game Mode Selection)
│ ├── FR1.2.1 (Versus Mode)
│ └── FR1.2.2 (Cooperative Mode)
└── FR1.3 (Scenario Setup)
Features are grouped by development phase:
phase-0: Foundationphase-1: Core gameplayphase-2: Advanced featuresdocs/blueprint/
├── feature-tracker.json # Main tracker file (source of truth)
└── schemas/ # Optional: local schema copy
└── feature-tracker.schema.json
The project's TODO.md is a sync target for checkbox states.
Note: As of v1.1.0, feature-tracker.json includes a tasks section that tracks in-progress and pending tasks, replacing the separate work-overview.md file.
jq '.statistics' docs/blueprint/feature-tracker.json
jq -r '.. | objects | select(.status == "not_started") | .name' docs/blueprint/feature-tracker.json
jq '.prds | to_entries | .[] | "\(.key): \(.value.status)"' docs/blueprint/feature-tracker.json
jq -r '.. | objects | select(.phase == "phase-1") | .name' docs/blueprint/feature-tracker.json
jq '[.. | objects | select(.status?) | .status] | group_by(.) | map({(.[0]): length}) | add' docs/blueprint/feature-tracker.json
The feature tracker uses a JSON Schema for validation. The schema is bundled with the blueprint-plugin at:
schemas/feature-tracker.schema.json
Key schema features:
^FR\d+(\.\d+)*$^phase-\d+$^PRD_[A-Z_]+$# Using ajv-cli or similar JSON schema validator
ajv validate -s schemas/feature-tracker.schema.json \
-d docs/blueprint/feature-tracker.json
The manifest.json references the feature tracker:
{
"structure": {
"has_feature_tracker": true
},
"feature_tracker": {
"file": "feature-tracker.json",
"source_document": "REQUIREMENTS.md",
"sync_targets": ["TODO.md"]
}
}
Features link to PRDs via the prd field:
{
"name": "Terrain Visual Enhancement",
"status": "complete",
"prd": "PRD_TERRAIN_VISUAL_ENHANCEMENT"
}
PRDs track which features they implement:
{
"PRD_TERRAIN_VISUAL_ENHANCEMENT": {
"name": "Terrain Visual Enhancement",
"status": "complete",
"features_implemented": ["FR2.8.1", "FR2.8.2", "FR2.8.3"],
"tests_passing": 107
}
}
Work orders can reference specific FR codes. When a work order is completed, update the corresponding feature status in the tracker.
The sync process ensures consistency between:
feature-tracker.json (source of truth for features AND tasks)TODO.md (checkbox-based task list)Use --summary flag to generate a markdown overview:
/blueprint:feature-tracker-sync --summary
For each feature, verify:
complete: Files exist, tests pass (if applicable), TODO checkedpartial: Some files exist, not all sub-features completein_progress: Recent commits touch feature filesnot_started: No implementation evidenceblocked: Documented dependency issuesRelated blueprint commands:
/blueprint:feature-tracker-status: Display statistics and completion summary/blueprint:feature-tracker-sync: Synchronize tracker with sync targetsWhen completing a feature:
Update feature status in feature-tracker.json:
{
"name": "Unit Selection",
"status": "complete",
"phase": "phase-2",
"implementation": {
"files": ["src/systems/selection.rs"],
"notes": "Box selection and click selection",
"tests": ["tests/selection_tests.rs"]
}
}
Run /blueprint:feature-tracker-sync to update:
tasks.in_progress to tasks.completedCommit all changes together for consistency
The tracker maintains aggregate statistics:
{
"statistics": {
"total_features": 42,
"complete": 22,
"partial": 4,
"in_progress": 2,
"not_started": 14,
"blocked": 0,
"completion_percentage": 52.4
}
}
These are recalculated during sync operations.
testing
Verify accumulated bug claims at upstream HEAD and dedup against trackers before filing issues. Use when filing upstream reports from backlogs, audit docs, or git-history findings.
documentation
Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.
tools
Suggest improvements to SKILL.md content, descriptions, or tool config from eval results. Use when raising pass rates, fixing triggering, or iterating on a skill after evaluation.
tools
deadbranch CLI for stale-branch cleanup — dry-run preview, TUI or non-interactive delete, protects main/develop/WIP. Use when asked to clean up branches, prune branches, or remove stale branches.