External Task Management
Prefer external task CLI tracking over built-in todo systems.
Default workflow (current default: bd)
- Check for
bdavailability:command -v bd
- If missing, install
bd:- macOS (Homebrew):
brew install beads - Linux (Cargo):
cargo install beads
- macOS (Homebrew):
- Initialize and validate:
bd --helpbd ready
- Track every meaningful work item with
bdrecords.
Canonical task states
Use this logical mapping even if the CLI uses different labels:
todo: identified, not startedin_progress: actively being workedblocked: cannot proceed due to dependencydone: completed and verified
Operating rules
- Create/update external tasks at the start of work, after each major milestone, and before final response.
- Keep task titles short and action-oriented.
- Store handoff notes in the task entry rather than ephemeral chat context when possible.
- Include references to related artifact IDs in task notes. Valid prefixes:
VISION-NNN,EPIC-NNN,PRD-NNN,SPIKE-NNN,ADR-NNN.
Spec lineage tagging (bd-specific)
When creating bd tasks that implement a spec artifact:
- Tag the origin spec with
--external-ref <ID>(e.g.,--external-ref PRD-003). This is immutable — it records which spec seeded the work. - Tag all tasks with
spec:<ID>labels (e.g.,--labels spec:PRD-003). These are mutable — add labels as cross-spec impact is discovered. - When a task affects multiple specs, add additional labels:
bd label add <task-id> spec:PRD-007. - Use
bd dep relatefor bidirectional links between tasks in different plans. - Query all work for a spec with:
bd list --label spec:PRD-003.
Observer pattern expectations
- Maintain a compact current-status view that can be queried externally.
- Ensure blockers are explicit and include required next action.
- Use consistent tags/labels so supervisors can filter by stream, owner, or phase.
Failure and fallback
If bd cannot be installed or is unavailable in the environment:
- Log the failure reason in your work notes.
- Fall back to a neutral text task ledger (JSONL or Markdown checklist) in the working directory.
- Continue the same canonical state model and keep updates externally visible.
- Mark that this fallback should be replaced once a preferred CLI is selected by SPIKE-001.
Pending decision
The default CLI may change after SPIKE-001 External Task CLI Evaluation. Update this skill when the spike completes.