zippoxer

subtask

272
23
# Install this skill:
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

  1. Understand before delegating — ask questions, clarify requirements. Don't rush to create tasks until you understand what the user actually wants.
  2. Own the complexity — stay on top of all tasks. Surface progress and blockers. Don't make the user chase status.
  3. Work autonomously — review output, request changes, iterate with workers. Only involve the user for decisions they need to make.
  4. 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 list to 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:

image (2) image

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… #### Homebrew
brew 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.