Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add zippoxer/subtask
Or install specific skill: npx add-skill https://github.com/zippoxer/subtask/tree/main/pkg/install
# Description
Parallel task orchestration CLI that dispatches work to AI workers (via Claude Code) in isolated git workspaces. Use when the user wants to draft, create, run, or manage tasks, delegate tasks to workers/subagents, or mentions subtask or Subtask.
# SKILL.md
name: subtask
description: "Parallel task orchestration CLI that dispatches work to AI workers (via Claude Code) in isolated git workspaces. Use when the user wants to draft, create, run, or manage tasks, delegate tasks to workers/subagents, or mentions subtask or Subtask."
Subtask
Subtask is a CLI for orchestrating parallel AI workers. There are three roles: the user who gives direction, you (the lead) who orchestrates and delegates, and workers who execute tasks.
Each worker runs in an isolated git worktree. They can't conflict with each other.
The user tells you what they need. You clarify requirements, break work into tasks, dispatch to workers, review their output, iterate until it's right, and merge when ready.
Mindset
- Understand before delegating β ask questions, clarify requirements. Don't rush to create tasks until you understand what the user actually wants.
- Own the complexity β stay on top of all tasks. Surface progress and blockers. Don't make the user chase status.
- Work autonomously β review output, request changes, iterate with workers. Only involve the user for decisions they need to make.
- Ask before merging β get user sign-off before merging. Don't merge without user approval.
Commands
| Command | Description |
|---|---|
subtask ask "..." |
Quick question (no task, runs in cwd) |
subtask draft <task> --base-branch <branch> --title "..." <<'EOF' |
Create a task |
subtask send <task> <prompt> |
Prompt worker on task (blocks until reply) |
subtask stage <task> <stage> |
Advance workflow stage |
subtask list |
View all tasks |
subtask show <task> |
View task details |
subtask diff [--stat] <task> |
Show changes (from merge base) |
subtask merge <task> -m "msg" |
Squash-merge task into base branch |
subtask close <task> |
Close without merging, free workspace |
subtask workspace <task> |
Get workspace path (a git worktree) |
subtask interrupt <task> |
Gracefully stop a running worker |
subtask log <task> |
Show task conversation and history |
subtask trace <task> |
Debug what a worker is doing and thinking internally |
Tip: Add --follow-up <task> on draft to carry forward conversation context from a prior task.
Flow
# 1. Draft (task description is shared with worker)
subtask draft fix/bug --base-branch main --title "Fix worker pool panic" <<'EOF'
There's an intermittent panic in the worker pool under high concurrencyβlikely a race condition in pool.go.
Reproduce, find root cause, fix, and add tests.
EOF
# 2. Start the worker
subtask send fix/bug "Go ahead."
# 3. When worker finishes, review and iterate
subtask stage fix/bug review
# Review with `subtask diff fix/bug`, or read the files at `cd $(subtask workspace fix/bug)`.
# 4. Request changes if needed
subtask send fix/bug <<'EOF'
Also handle the edge case when pool is empty.
EOF
# 5. When ready, merge or close
subtask stage fix/bug ready
subtask merge fix/bug -m "Fix race condition in worker pool"
# Or if not merging: subtask close fix/bug
Critical: Use the Bash tool with run_in_background: true for subtask send. Tell the user you're waiting and stop. Don't poll or check. You'll be notified when done.
Merging
subtask merge squashes all task commits into a single commit on the base branch.
subtask merge fix/bug -m "Fix race condition"
If conflicts occur, merge will fail with instructions. Follow them.
Stages
All tasks have stages: doing β review β ready
| Stage | When to advance |
|---|---|
doing |
Worker is working (default) |
review |
Worker done, you're reviewing code |
ready |
Ready for human to decide (human review, merge, more work, etc.) |
Advance with: subtask stage <task> <stage>
Planning Workflows
For complex tasks, add a plan stage: plan β implement β review β ready
You plan (--workflow you-plan): You draft PLAN.md in task folder, worker reviews and pokes holes.
They plan (--workflow they-plan): Worker drafts PLAN.md in task folder, you review and approve or request changes.
Notes
- Use
subtask listto see whatβs in flight. - Use
subtask show <task>to see progress and details. - Use
subtask log <task>to see task conversation and events. - Use
subtask trace <task>to debug what a worker is doing and thinking internally.
# README.md
Subtask β¨
Subtask gives Claude Code a Skill and CLI to create tasks, spawn subagents, track progress, review and request changes.
- Each task gets a Git worktree, so they can be done in parallel safely
- Claude can interrupt and talk with subagents!
- TUI shows progress, diffs & conversations
- Tasks are persisted in folders
- Codex subagents supported
- Ralph not needed
Spawning Tasks
You: fix the auth bug and add API metrics with Subtask
Claude:
βββΊ Skill(Subtask)
βββΊ Bash(subtask draft fix/auth-bug ...)
βββΊ Bash(subtask draft feat/api-metrics ...)
βββΊ Tasks are in progress! I'll get notified when they're done.
Tracking & Merging
You: which tasks are open?
Claude:
βββΊ Bash(subtask list)
β ββββββββββββββββββββ¬ββββββββββ¬βββββββββββββββββββββββββ
β β TASK β STATUS β TITLE β
β ββββββββββββββββββββΌββββββββββΌβββββββββββββββββββββββββ€
β β fix/auth-bug β replied β Fix auth token refresh β
β β feat/api-metrics β working β Add API metrics β
β β feat/ui-redesign β draft β Redesign dashboard β
β ββββββββββββββββββββ΄ββββββββββ΄βββββββββββββββββββββββββ
β
βββΊ ui-redesign hasn't started yet β want me to kick it off?
You: lets merge fix/auth-bug.
TUI
Run subtask in your terminal to see everything:
Install
[!NOTE]
Subtask is in early development. Upcoming releases will simplify installation, solve known bugs, and improve Claude's proficiency.
Get the CLI
Mac/Linux
curl -fsSL https://subtask.dev/install.sh | bash
Windows (PowerShell)
irm https://subtask.dev/install.ps1 | iex
Other install methodsβ¦
#### Homebrewbrew install zippoxer/tap/subtask
#### Go
go install github.com/zippoxer/subtask/cmd/subtask@latest
#### Binary
[GitHub Releases](https://github.com/zippoxer/subtask/releases)
Install the Claude Code Skill
subtask install
# Tip: Uninstall later with `subtask uninstall`.
This asks whether to install to user-scope (
~/.claude/skills) or project-scope.You can skip installing the plugin, it isn't working yet.
Restart Claude Code.
Setup Subtask in your Repo
cd your-repo
subtask init
Use
Talk with Claude Code about what you want done, and then ask it to use Subtask.
Examples:
- "fix the login bug with Subtask"
- "lets do these 3 features with Subtask"
- "plan and implement the new API endpoint with Subtask"
What happens next:
1. Claude Code creates tasks and runs subagents to do them simultaneously.
2. Claude gets notified when they're done, and reviews the code.
3. Claude asks if you want to merge, or ask for changes.
Updating
subtask update --check
subtask update
Subtask is Built with Subtask
- I use Claude Code to lead the development (i talk, it creates tasks and tracks everything)
- I use Codex for subagents (just preference, Claude Code works too)
- ~60 tasks merged in the past week
- Proof: https://github.com/user-attachments/assets/6c71e34f-b3c6-4372-ac25-dd3eea15932e
License
MIT
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.