| name | check-task |
| description | Verify that a task's declared status matches the actual codebase implementation. Use when the user says "check task status", "verify implementation", or during backlog health checks. Supports single-task and batch mode. |
| argument-hint | ["task ID or number"] |
| allowed-tools | ["Read","Edit","Bash","Glob","Grep"] |
| model | sonnet |
| effort | medium |
Check Task
Verify that a task's declared status accurately reflects the actual implementation.
Arguments
Task identifier (optional): $ARGUMENTS — accepts TSK-001, 001, or 1.
Also accepts pending or active to batch-check only that status group.
Without argument, runs batch mode on all pending and active tasks.
Prerequisites
Verify .backlog/ exists.
Workflow
1. Identify Task(s)
If $ARGUMENTS provided, find the task in tasks/pending/, tasks/active/, or tasks/complete/.
If $ARGUMENTS is pending or active, batch-check only that status group.
If no argument, run batch mode on all pending + active tasks. If total exceeds 8, warn the user and ask to confirm or narrow with pending/active.
Fetch task data:
node "${CLAUDE_PLUGIN_ROOT}/dist/bin/flowstate.js" task-list --json true
2. Read Task File
Parse: status from frontmatter, acceptance criteria (checked/unchecked), files mentioned in description or notes.
3. Verify Implementation
For each acceptance criterion:
- Search the codebase for implementations matching the criterion
- Check if referenced files exist and contain expected changes
- Run relevant checks if applicable (imports, function existence)
4. Compare Status vs Reality
| Declared | Reality | Action |
|---|
| pending | Not implemented | Correct |
| pending | Fully implemented | Should complete |
| pending | Partially done | Update checkboxes |
| active | Partially done | Update checkboxes |
| active | Fully done | Should complete |
| complete | Still works | Correct |
| complete | Broken/missing | Should reopen |
| blocked | Blocker resolved | Should unblock |
5. Report
Single task:
## TSK-{{ID}} Status Check
Current: {{STATUS}} (in {{DIRECTORY}})
| # | Criterion | Declared | Reality | Match |
|---|-----------|----------|---------|-------|
| 1 | Query works | [ ] | Implemented in src/db.ts:45 | MISMATCH |
| 2 | Route renders | [ ] | Not found | OK |
Recommended: {{action}}
Batch mode:
## Backlog Health Check
| Task | Status | Reality | Action Needed |
|------|--------|---------|---------------|
| TSK-001 | pending | done | Complete it |
| TSK-002 | blocked | resolved | Unblock it |
Summary: {{N}} tasks need attention
6. Offer Fixes
/flowstate:complete-task if fully implemented
- Update checkboxes if partially complete — edit only the
- [ ]/- [x] lines in the task file body with the Edit tool; never hand-edit frontmatter or index.md (CLI-owned)
- Suggest reopening if marked complete but broken