skills/spawn/SKILL.md
Fan out work to parallel sub-agents with worktree isolation. Reads a plan, scope list, or inline description, breaks it into waves of independently-dispatchable units, and orchestrates execution. The orchestrator never implements — it coordinates. Use when user says 'spawn', 'fan out', 'parallelize this', 'orchestrate', or has multiple independent tasks to dispatch.
npx skillsauth add koolamusic/claudefiles spawnInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Dispatch parallel sub-agents with isolation guarantees. You are the orchestrator — you coordinate, delegate, track, and integrate. You never write application code yourself.
$ARGUMENTS is one of:
auto — look for .jira/CURRENT and read the active sprint's plans. If no sprint, check .project/ROADMAP.md for the next unstarted phase. If neither exists, ask.AskUserQuestion what work to dispatchRead the input and decompose into spawn units — independently executable chunks of work. Each unit must have:
Group units into waves by dependency:
Wave 1: [A, B, C] — no dependencies, run in parallel
Wave 2: [D] — depends on A
Wave 3: [E, F] — depends on D
Units within a wave touch disjoint files. If two units in the same wave would modify the same file, split the wave or merge the units.
Show the user:
## Dispatch Plan
**Total units:** N across W waves
**Isolation:** worktree / same-tree (recommend worktree if >1 unit per wave)
| ID | Wave | Objective | Depends on | Est. complexity |
|---|---|---|---|---|
| A | 1 | ... | — | small |
| B | 1 | ... | — | medium |
| C | 2 | ... | A | small |
Proceed?
Wait for explicit approval. The user may reorder, merge, split, or cancel units.
For each wave in order:
a. Spawn agents in parallel. Single message, one Agent tool call per unit in the wave. Each agent gets:
You are sub-agent <ID> in a spawn dispatch.
## Your objective
<objective>
## Context
<brief from scope doc + any outputs from prior waves>
## Files you own
<list of files this agent may create/modify — no others>
## Constraints
- Commit your work with a descriptive message
- Do NOT push to remote
- Do NOT open PRs
- Do NOT modify files outside your scope
- If blocked, commit what you have and report the blocker
Isolation decision:
isolation: "worktree" on each Agent callb. Collect results. When all agents in the wave return:
git log --oneline -5 (or per-worktree equivalent) to verify commits landedAskUserQuestion — retry, skip, or abortc. Integrate worktree results (if using worktrees):
When all waves complete:
## Spawn Complete
**Units dispatched:** N
**Waves executed:** W
**Status:**
| ID | Status | Commits | Notes |
|---|---|---|---|
| A | complete | abc1234 | — |
| B | complete | def5678 | — |
| C | blocked | — | <blocker description> |
**Integration:** all cherry-picked onto <branch>
**Next step:** <recommendation — run tests, open PR, continue with next spawn>
git log and git status.When invoked by jira:execute or with auto argument in a jira-managed repo:
*-PLAN.md frontmatter (plans already have wave: fields)If .workspacerc exists, resolve all .jira/ and .project/ paths through the workspace. Worktree agents don't get symlinks automatically — pass resolved absolute paths in agent prompts.
development
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
testing
Guide for creating effective skills. Use when creating a new skill, updating an existing skill, or verifying skills work before deployment. Covers skill structure, creation process, testing methodology, and packaging.
development
Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook. Use this skill when: (1) writing new Rust code or functions, (2) reviewing or refactoring existing Rust code, (3) deciding between borrowing vs cloning or ownership patterns, (4) implementing error handling with Result types, (5) optimizing Rust code for performance, (6) writing tests or documentation for Rust projects.
tools
Use when a user completes a phase, sprint, milestone, or meaningful unit of work and needs a retrospective. Also triggers on `/retro` command. Generates honest, structured retrospectives from available project data (GSD planning files, git history, GitHub PRs/issues, user input). Adapts to any project — GSD-managed, plain git repos, GitHub-heavy workflows, or unstructured projects. Jira-aware: detects `.jira/` and redirects per-sprint retros to `/jira:retro` (the plugin owns the tight coupling to CONTEXT.md/VERIFICATION.md). Produces phase retrospectives, cumulative summaries, and stakeholder reports.