Divide and Conquer
Pick up a task and execute it by splitting the work into independent workstreams that run in parallel via subagents — no CLI required.
Instructions
The user's query is in $ARGUMENTS (a task ID like 077 or a task name/keyword).
Find the task file:
- Read
.taskmd.yamlfor customdir(default:tasks) andworkflowmode - Use
Globfor<task-dir>/**/*$ARGUMENTS*.md - If multiple matches, read frontmatter to find the exact ID match
- If not found, list available tasks
- Read
Read the task file with the
Readtool to get the full description, subtasks, and acceptance criteriaMark the task as in-progress:
- Use
Editto change the status toin-progressin the frontmatter
- Use
Start a worklog entry (if worklogs are enabled):
- Check
.taskmd.yamlforworklogs: true— only create worklogs if explicitly enabled - If enabled, find or create worklog at
<task-dir>/<group>/.worklogs/<ID>.md - Append a timestamped entry noting your approach
- Check
Plan and identify workstreams:
- Use
EnterPlanModeto design the overall approach - In the plan, include a reference to the original task ID and task file path
- Analyze the task and break it into independent workstreams — pieces of work that can proceed in parallel without depending on each other's output
- Examples of independent workstreams:
- Implementation code vs. tests vs. documentation
- Changes to separate packages or modules
- Backend changes vs. frontend changes
- If the task is simple enough that parallelization adds no benefit, just do it directly (skip to step 7)
- Use
Launch subagents in parallel:
- Use the
Agenttool to launch one subagent per independent workstream - Give each subagent a clear, self-contained prompt describing exactly what to do, including relevant file paths and context
- Launch all independent subagents in a single message so they run concurrently
- Use
isolation: "worktree"for subagents that modify files, to avoid conflicts - Wait for all subagents to complete
- Use the
Coordinate and integrate:
- Review all subagent results for correctness
- If subagents ran in worktrees, merge their changes (review diffs, resolve any conflicts)
- If any subagent failed, handle the failure directly rather than re-launching
- Run tests and linting to verify the integrated result
- Check off subtasks (
- [x]) in the task file usingEditas they are completed - Append worklog entries for key decisions and completed subtasks
Write a final worklog entry summarizing what was done, which workstreams ran in parallel, decisions made, and any open items
Mark the task as done:
- Check
.taskmd.yamlforworkflowmode: - Solo mode (default):
- If the task has
verifychecks: run them (bash via Bash tool, assert via code inspection) - If all pass, use
Editto setstatus: completed - If any fail, fix issues and try again
- If the task has
- PR-review mode:
- Open a PR, then use
Editto setstatus: in-reviewand add the PR URL toprarray - Stop — task completes on PR merge
- Open a PR, then use
- Check
Worklog Format
Each worklog entry uses a timestamp heading followed by free-form notes:
## 2026-02-15T10:30:00Z
Started divide-and-conquer execution of the search feature task.
**Workstreams identified:**
1. Core search implementation (subagent — worktree)
2. Test suite (subagent — worktree)
3. Documentation updates (subagent)
**Completed:**
- [x] All subagents finished successfully
- [x] Merged worktree changes
- [x] Tests passing after integration
**Decisions:** Used full-text search with SQLite rather than Elasticsearch.
See SPEC_REFERENCE.md (in the plugin root) for frontmatter schema, workflow modes, and verify checks.
Source: driangle/taskmd — distributed by TomeVault.