| name | task-executor |
| description | Use when working from decomposed task files or Beads issues created by spec-decompose. Guides proper task pickup, context loading, implementation, and handoff. Triggers when working with decomposed tasks, task files in docs/tasks/, or Beads issues with hole labels.
|
Working from Decomposed Tasks
Finding Work
If using Beads:
bd ready --json
bd show <id>
bd update <id> --status in_progress
If ready list is empty, check for agent-resolvable holes:
bd list --label hole:agent-resolvable --status open --json
If using Markdown task files:
- Read
docs/tasks/README.md for the dependency graph
- Find a task with status "open" whose dependencies are all "complete"
Before Starting
- Read the task description fully
- Read every file listed in "Context files to read"
- Read the spec sections referenced in "Spec Traces"
- Do NOT read the entire spec — only the sections listed
(Task descriptions are self-contained by design)
Implementation
- Write tests FIRST based on the acceptance criteria
- Implement the minimal code to pass the tests
- Add
@trace SPEC-XX.YY comments to your implementation
- Run the full test suite, not just your new tests
Completion
- All acceptance criteria met (tests passing)
- Commit with a message referencing the task
- Beads:
bd close <id> --reason "Implemented: <brief summary>"
- Markdown: Update the task file status to
complete
Discovering New Work
If you find work not covered by existing tasks:
bd create "Title" -p 2 --deps discovered-from:<current-task> --json
Do NOT expand your current task's scope. File it and move on.
Discovering Unknowns During Implementation
If you encounter something you cannot resolve:
- Do NOT guess and proceed
- Do NOT expand your task scope to include the investigation
- Create a hole:
bd create "HOLE: <concise description>" \
-t task -p 1 -l "hole,escalation" \
-d "<what's known, what's unknown, what's blocked>" \
--deps discovered-from:<current-task-id> \
--json
-
If the hole blocks YOUR current task:
- Implement everything you can that doesn't depend on the answer
- Document what remains with clear markers
- Leave the task as in_progress (not closed)
- Note: "Blocked on : "
- Move on to the next ready task
-
If the hole does NOT block your current task:
- Create it, link it, continue your work
- Another agent or human will handle it
Hole Resolution (agent-resolvable types)
For validation holes: check docs, APIs, codebase. Binary answer.
For research holes: investigate options, synthesize recommendation.
bd update "$HOLE" --status in_progress
bd close "$HOLE" --reason "Validated: <finding>"
Context Loading for Fresh Agents
When starting a new session:
- Read
docs/progress/latest.md for high-level state (~2K tokens)
- Run
bd ready --json for your next task
- Run
bd show <task-id> for full details including context files
- Do NOT read the full spec, git log, or all task files