Work Management Commands
Commands for managing work units through Kanban workflow.
Overview
Use work management commands when you need to:
- Create and organize work units into a backlog
- Move work through Kanban states (backlog → specifying → testing → implementing → validating → done)
- Prioritize work in the backlog
- Manage dependencies between work units
- Block work units when progress is prevented
- Display the Kanban board showing current state
- Auto-advance ready work units through workflow
- Update work unit details (title, description, estimates)
Work Units
Create Work Unit
Create a new work unit with a prefix and title.
fspec create-work-unit <prefix> <title> [options]
Options:
-t, --type <type>
- Work item type: story, task, or bug (default: story)-e, --epic <epic>
- Associate with an epic--description <desc>
- Work unit description
Work Unit Types:
story
(default) - User-facing feature following full ACDD workflow (backlog → specifying → testing → implementing → validating → done)task
- Technical/maintenance work, skips testing phase, no feature file required (backlog → specifying → implementing → validating → done)bug
- Defect fix, must link to existing feature file, follows full workflow
Examples:
# Create story (default type - requires full ACDD workflow)
fspec create-work-unit AUTH "User login feature"
fspec create-work-unit DASH "Dashboard" -e user-management
# Create task (skips testing phase, no feature file needed)
fspec create-work-unit CLEAN "Audit coverage files" --type=task
fspec create-work-unit MAINT "Update dependencies" --type=task
# Create bug (must link to existing feature)
fspec create-work-unit BUG "Login fails with @ symbol" --type=bug
# With description
fspec create-work-unit API "REST endpoints" --description "Create REST API for user management"
Important Notes:
- Work unit type is immutable after creation - delete and recreate if incorrect
- Tasks skip the testing phase entirely (Example Mapping is optional)
- Bugs must be linked to existing feature files before moving to testing
- Stories require feature files before moving to testing
List Work Units
List all work units with optional filtering.
fspec list-work-units [options]
Options:
-s, --status <status>
- Filter by status (backlog, specifying, testing, implementing, validating, done, blocked)-t, --type <type>
- Filter by type (story, task, bug)--prefix <prefix>
- Filter by prefix--epic <epic>
- Filter by epic
Examples:
fspec list-work-units
fspec list-work-units -s specifying
fspec list-work-units --type=task
fspec list-work-units --prefix AUTH
fspec list-work-units --epic user-management
Show Work Unit
Show detailed information about a specific work unit.
fspec show-work-unit <id>
Examples:
fspec show-work-unit AUTH-001
Update Work Unit
Update work unit details.
fspec update-work-unit <id> [options]
Options:
--title <title>
- Update title--description <desc>
- Update description--epic <epic>
- Update epic--parent <parent-id>
- Set parent work unit
Examples:
fspec update-work-unit AUTH-001 --title "New Title"
fspec update-work-unit AUTH-001 --description "Updated description"
fspec update-work-unit AUTH-002 --parent AUTH-001
Update Work Unit Status
Move a work unit through the Kanban workflow.
fspec update-work-unit-status <id> <status>
Status values:
backlog
- Not yet startedspecifying
- Writing specifications (Example Mapping + Gherkin)testing
- Writing testsimplementing
- Writing implementation codevalidating
- Code review and validationdone
- Completedblocked
- Progress prevented
Examples:
fspec update-work-unit-status AUTH-001 specifying
fspec update-work-unit-status AUTH-001 testing
fspec update-work-unit-status AUTH-001 implementing
fspec update-work-unit-status AUTH-001 blocked
Update Work Unit Estimate
Set story point estimate for a work unit.
fspec update-work-unit-estimate <id> <estimate>
Examples:
fspec update-work-unit-estimate AUTH-001 5
fspec update-work-unit-estimate DASH-002 13
Prioritize Work Unit
Change the priority order of a work unit in the backlog.
fspec prioritize-work-unit <id> [options]
Options:
--position <position>
- Position: top, bottom, or number--before <id>
- Place before this work unit--after <id>
- Place after this work unit
Examples:
fspec prioritize-work-unit AUTH-003 --position=top
fspec prioritize-work-unit AUTH-001 --before=AUTH-002
fspec prioritize-work-unit DASH-001 --after=AUTH-003
Delete Work Unit
Delete a work unit.
fspec delete-work-unit <id>
Examples:
fspec delete-work-unit AUTH-001
Repair Work Units
Fix work unit state inconsistencies.
fspec repair-work-units
Examples:
fspec repair-work-units
Validate Work Units
Validate work units against schema.
fspec validate-work-units
Examples:
fspec validate-work-units
Export Work Units
Export work units to JSON or CSV format.
fspec export-work-units [options]
Options:
--format <format>
- Output format: json or csv--output <file>
- Output file path
Examples:
fspec export-work-units --format=json --output=work.json
fspec export-work-units --format=csv --output=work.csv
Query Work Units
Query work units with filtering and custom output formats.
fspec query-work-units [options]
Options:
--status <status>
- Filter by status--type <type>
- Filter by type (story, task, bug)--prefix <prefix>
- Filter by prefix--epic <epic>
- Filter by epic--format <format>
- Output format: text or json
Examples:
fspec query-work-units --status=implementing --format=json
fspec query-work-units --type=task --format=json
fspec query-work-units --prefix=AUTH
Dependencies
Add Dependency
Add dependency relationship between work units.
fspec add-dependency <id> [depends-on-id] [options]
Options:
--blocks <id>
- Work unit that this blocks--blocked-by <id>
- Work unit that blocks this--depends-on <id>
- Work unit this depends on--relates-to <id>
- Related work unit
Examples:
# Shorthand: AUTH-002 depends on AUTH-001
fspec add-dependency AUTH-002 AUTH-001
# AUTH-002 blocks API-001
fspec add-dependency AUTH-002 --blocks=API-001
# UI-001 is blocked by API-001
fspec add-dependency UI-001 --blocked-by=API-001
Add Multiple Dependencies
Add multiple dependencies at once.
fspec add-dependencies <id> <dep1> <dep2> ...
Examples:
fspec add-dependencies DASH-001 AUTH-001 AUTH-002
Remove Dependency
Remove a dependency relationship.
fspec remove-dependency <id> [depends-on-id] [options]
Options:
--blocks <id>
- Remove blocks relationship--blocked-by <id>
- Remove blockedBy relationship--depends-on <id>
- Remove dependsOn relationship--relates-to <id>
- Remove relatesTo relationship
Examples:
# Remove dependsOn relationship
fspec remove-dependency AUTH-002 AUTH-001
# Remove blocks relationship
fspec remove-dependency AUTH-002 --blocks=API-001
Clear Dependencies
Remove all dependencies for a work unit.
fspec clear-dependencies <id>
Examples:
fspec clear-dependencies AUTH-002
Show Dependencies
Show all dependencies for a work unit.
fspec dependencies <id>
Examples:
fspec dependencies AUTH-002
Export Dependencies
Export dependency graph in JSON or Mermaid format.
fspec export-dependencies [options]
Options:
--format <format>
- Output format: json or mermaid--output <file>
- Output file path
Examples:
fspec export-dependencies --format=mermaid --output=deps.md
fspec export-dependencies --format=json --output=deps.json
Query Dependency Stats
Show dependency statistics for the project.
fspec query-dependency-stats [options]
Options:
--format <format>
- Output format: text or json
Examples:
fspec query-dependency-stats
fspec query-dependency-stats --format=json
Workflow Automation
Auto-Advance
Automatically advance work units that are ready to move forward.
fspec auto-advance [--dry-run]
Options:
--dry-run
- Show what would be advanced without making changes
Examples:
fspec auto-advance --dry-run
fspec auto-advance
Board
Display Kanban board showing all work units organized by status.
fspec board [options]
Options:
--format <format>
- Output format: text or json (default: text)--limit <limit>
- Max items per column (default: 25)
Examples:
fspec board
fspec board --format=json
fspec board --limit=50
Workflow Automation
Check if a work unit can auto-advance to the next status.
fspec workflow-automation <id>
Examples:
fspec workflow-automation AUTH-001
ACDD Workflow Integration
fspec's work management integrates with the ACDD (Acceptance Criteria Driven Development) workflow:
- Create Work Unit → Add to backlog
- Move to Specifying → Perform Example Mapping, write Gherkin scenarios
- Move to Testing → Write failing tests (red phase)
- Move to Implementing → Write code to make tests pass (green phase)
- Move to Validating → Code review, quality checks
- Move to Done → Work complete
Moving Backward Through States:
fspec allows moving work units backward through the Kanban workflow when mistakes are discovered:
# Realized specs are incomplete while writing tests
fspec update-work-unit-status AUTH-001 specifying
# Need to refactor tests based on implementation learnings
fspec update-work-unit-status AUTH-001 testing
When to move backward:
- Tests revealed incomplete acceptance criteria → Move to
specifying
- Need to add or fix test cases → Move to
testing
- Quality checks failed → Move to appropriate earlier state
- Discovered missing scenarios → Move to
specifying
See ACDD Concepts for more details on the workflow.
See Also
- Specification Commands - Create and manage Gherkin features
- Discovery Commands - Example Mapping for specification
- Kanban Workflow - Understanding the 7-state workflow
- ACDD Concepts - Acceptance Criteria Driven Development