feature-state-machine
Add or maintain a machine-readable feature state list for agent work. Use when a repo needs WIP=1 control, feature states, verification commands, pass-state evidence, or docs/features/feature_list.jso
SKILL.mdskills/feature-state-machine/SKILL.md
GitHubFeature State Machine
Purpose
Make feature scope executable by tracking one active work item, explicit verification, and evidence-backed state transitions.
Inspect First
- existing specs, OpenSpec changes, task docs, issue lists,
PROGRESS.md, validation scripts, and current work-in-progress - whether the repo has multi-session or multi-feature agent work that justifies a feature state file
Procedure
Define the feature list.
- Create or update
docs/features/feature_list.jsononly when feature tracking adds value. - Use
assets/templates/feature-list.json.tmplfor the initial shape. - Preserve existing IDs and evidence.
- Create or update
Enforce advisory WIP control.
- Default
wip_limitis1. - Only one feature should be
active. - Do not mark a feature
passingwithout executable evidence.
- Default
Make each feature checkable.
- Include
id,title,behavior,verification,state,evidence,dependencies, andnotes. - Verification should be a real command or focused validation path.
- Link feature IDs to OpenSpec tasks or lightweight specs when present.
- Include
Add local checks.
- Create or recommend
scripts/check-feature-state. - Use
scripts/check_feature_state.pyfrom this plugin for deterministic validation. - Wire into
scripts/validateonly when the repo wants feature-state checks in baseline validation.
- Create or recommend
Route implementation.
- Use
task-planning-and-pr-protocolfor task planning. - Use
termination-gatekeeperbefore declaring a feature complete. - Use
session-continuity-harnessfor handoff after partial work. - Use
project-local-skill-generatorto createproject-feature-workflowwhen this repo should expose feature state as a local Codex skill.
- Use
Validation
- Run
./scripts/check-feature-statewhen present. - Confirm no more than
wip_limitfeatures are active. - Confirm every feature has behavior and verification text.
- Confirm every
passingfeature has evidence.
Completion Criteria
- The repo has a usable feature state surface or a documented reason it is unnecessary.
- Active work, blockers, passing evidence, and next work are unambiguous to a fresh agent session.