Oh-my-droid ultrawork
Decompose multi-step tasks into parallel sub-agent workloads, route each sub-task to the cheapest capable model tier (Haiku/Sonnet/Opus), run long-running commands in the background, and verify all deliverables before stopping. Use when the user asks to 'go fast', 'parallelize', 'ultrawork', or when a request contains 3+ independent sub-tasks that benefit from concurrent execution.
git clone https://github.com/MeroZemory/oh-my-droid
T=$(mktemp -d) && git clone --depth=1 https://github.com/MeroZemory/oh-my-droid "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ultrawork" ~/.claude/skills/merozemory-oh-my-droid-ultrawork && rm -rf "$T"
skills/ultrawork/SKILL.mdUltrawork
Orchestrate parallel sub-agents across model tiers to complete multi-part tasks faster and cheaper.
Workflow
Follow these steps in order for every ultrawork session:
- Decompose -- Break the user request into independent sub-tasks. List each task with its domain (Analysis, Execution, Search, etc.).
- Route -- Assign each sub-task to the cheapest sufficient agent tier using the routing table below (LOW first, escalate only when needed).
- Dispatch -- Launch independent sub-tasks in parallel via
. SetTask()
for any command expected to take longer than a few seconds (builds, installs, test suites, Docker operations).run_in_background: true - Monitor -- Track each sub-agent to completion. If a sub-task fails or returns incomplete results, escalate to the next tier and retry.
- Verify -- Run the verification checklist (below). If any item fails, continue working until all pass.
- Clean up -- Delete
so no stale state persists..omd/state/ultrawork-state.json
Smart Model Routing
Always start at the lowest tier that can handle the task. Escalate only on failure or when complexity demands it: LOW (Haiku) -> MEDIUM (Sonnet) -> HIGH (Opus).
Available Agents by Tier
| Domain | LOW (Haiku) | MEDIUM (Sonnet) | HIGH (Opus) |
|---|---|---|---|
| Analysis | | | |
| Execution | | | |
| Search | | | - |
| Research | | | - |
| Frontend | | | |
| Docs | | - | - |
| Visual | - | | - |
| Planning | - | - | , , |
| Testing | - | | - |
| Security | | - | |
| Build | | | - |
| TDD | | | - |
| Code Review | | - | |
Tier Selection Guide
| Task Complexity | Tier | Examples |
|---|---|---|
| Simple lookups | LOW | "What does this function return?", "Find where X is defined" |
| Standard work | MEDIUM | "Add error handling", "Implement this feature" |
| Complex analysis | HIGH | "Debug this race condition", "Refactor auth module across 5 files" |
Routing Examples
OMD auto-injects the correct
model for built-in tiered agents when missing.
If you do specify
model, use full model IDs (e.g. claude-haiku-4-5-20251001), not shorthands.
// Simple question → LOW tier (saves tokens!) Task(subagent_type="oh-my-droid:architect-low", model="claude-haiku-4-5-20251001", prompt="What does this function return?") // Standard implementation → MEDIUM tier Task(subagent_type="oh-my-droid:executor", model="claude-sonnet-4-5-20250929", prompt="Add error handling to login") // Complex refactoring → HIGH tier Task(subagent_type="oh-my-droid:executor-high", model="claude-opus-4-5-20251101", prompt="Refactor auth module using JWT across 5 files") // Quick file lookup → LOW tier Task(subagent_type="oh-my-droid:explore", model="claude-haiku-4-5-20251001", prompt="Find where UserService is defined") // Thorough search → MEDIUM tier Task(subagent_type="oh-my-droid:explore-medium", model="claude-sonnet-4-5-20250929", prompt="Find all authentication patterns in the codebase")
Background vs Foreground Execution
Set
run_in_background: true for any command that typically takes more than a few seconds:
Background () | Foreground (blocking) |
|---|---|
, , | , , |
, , | File reads and edits |
, , | Short single-file commands |
, |
Verification Checklist
Before stopping, every item must pass. If any fails, continue working.
- Tasks complete -- Zero pending or in-progress sub-tasks remain
- Functionality -- All requested features work as specified
- Tests -- All tests pass (when applicable)
- Errors -- Zero unaddressed errors in output
State Cleanup
On completion, delete state files -- do not leave them with
active: false:
rm -f .omd/state/ultrawork-state.json