New command that spawns background agents to work on multiple issues simultaneously, each in an isolated git worktree. - commands/spawn-issues.md: Entry point, parses args, spawns agents - agents/issue-worker/agent.md: Autonomous agent that implements a single issue (worktree setup, implement, PR, cleanup) Worktrees are automatically cleaned up after PR creation. Branch remains on remote for follow-up work if needed. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.9 KiB
2.9 KiB
allowed-tools, description
| allowed-tools | description |
|---|---|
| Bash, Task, Read | Spawn parallel background agents to work on multiple issues simultaneously |
Spawn Issues
Spawn background agents to work on multiple issues in parallel. Each agent works in an isolated git worktree.
Arguments
One or more issue numbers separated by spaces: $ARGUMENTS
Example: /spawn-issues 42 43 44
Process
- Validate arguments: Ensure at least one issue number is provided
- Get repo info: Determine repository path and name
- Fetch issue titles: Get title for each issue (for display)
- Spawn agents: For each issue, spawn a background
issue-workeragent - Report: Display summary table with agent IDs
Implementation
Step 1: Parse and Validate
Parse $ARGUMENTS into a list of issue numbers. If empty, inform the user:
Usage: /spawn-issues <issue-number> [<issue-number>...]
Example: /spawn-issues 42 43 44
Step 2: Get Repository Info
REPO_PATH=$(pwd)
REPO_NAME=$(basename $REPO_PATH)
Step 3: For Each Issue
For each issue number in the arguments:
-
Fetch issue title using
tea issues <number>(just to verify it exists and get the title) -
Spawn background agent using Task tool:
Task tool with: - subagent_type: "general-purpose" - run_in_background: true - prompt: See agent prompt below
Agent Prompt
For each issue, use this prompt:
You are an issue-worker agent. Work on issue #<NUMBER> autonomously.
Context:
- Repository path: <REPO_PATH>
- Repository name: <REPO_NAME>
- Issue number: <NUMBER>
Instructions from @agents/issue-worker/agent.md:
1. Setup worktree:
cd <REPO_PATH>
git fetch origin
git worktree add ../<REPO_NAME>-issue-<NUMBER> -b issue-<NUMBER>-<short-title> origin/main
cd ../<REPO_NAME>-issue-<NUMBER>
2. Get issue details:
tea issues <NUMBER> --comments
3. Plan with TodoWrite, then implement the changes
4. Commit:
git add -A && git commit with message "...\n\nCloses #<NUMBER>\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
5. Push:
git push -u origin <branch-name>
6. Create PR:
tea pulls create --title "[Issue #<NUMBER>] <title>" --description "Closes #<NUMBER>\n\n<summary of changes>"
7. Cleanup (ALWAYS do this):
cd <REPO_PATH> && git worktree remove ../<REPO_NAME>-issue-<NUMBER> --force
Work autonomously. Make judgment calls on ambiguous requirements. If blocked, note it in the PR description.
Step 4: Report
After spawning all agents, display:
Spawned <N> issue-worker agents:
| Issue | Title | Status |
|-------|--------------------------|------------|
| #42 | Add /commit command | spawned |
| #43 | Add /pr command | spawned |
| #44 | Add CI status | spawned |
Agents working in background. Monitor with:
- Check PR list: tea pulls
- Check worktrees: git worktree list