plugins/ideation/skills/autopilot/SKILL.md
Orchestrate full execution of an ideation project — reads the contract, walks the phase dependency graph, and dispatches subagents to execute specs. Parallel for independent phases, sequential for dependent ones. Auto-continues on success, gates on failure. Use after ideation is complete and specs are approved.
npx skillsauth add nicknisi/claude-plugins autopilotInstall 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.
Orchestrate the execution of all phases in an ideation project.
Parse arguments:
contract.md (e.g., docs/ideation/my-project/contract.md)./docs/ideation/*/contract.mdAskUserQuestion to select oneRead contract.md and extract the Execution Plan:
Find the ## Execution Plan section
Parse the Dependency Graph — extract phase numbers, titles, and blocking relationships from the ASCII tree. Build an adjacency list:
{ 1: [], 2: [1], 3: [1], 4: [3] }
Where values are the phases that block each key.
Parse Execution Steps — extract spec file paths from the fenced bash blocks. Each /ideation:execute-spec path/to/spec.md line maps a phase number to its spec file.
Derive the project directory from the contract path. If the contract is at docs/ideation/my-project/contract.md, the project directory is docs/ideation/my-project/.
Validate — confirm each spec file exists. If any are missing, report which and ask the user whether to continue without them or abort.
Detect already-completed phases — run git log --oneline --grep="spec-phase" (or similar) to find commits that reference spec files. For each phase whose spec path appears in a commit message, mark it as already completed and exclude it from execution. Report which phases are being skipped:
Skipping Phase 1 (already committed: abc1234)
From the dependency graph, compute execution waves — groups of phases that can run in parallel because all their blockers are satisfied.
Algorithm:
completed = {already-committed phases from Phase 1, step 6}
waves = []
while uncompleted phases remain:
ready = phases where all blockedBy are in completed
waves.append(ready)
completed = completed ∪ ready
Example:
Dependencies: { 1: [], 2: [1], 3: [1], 4: [3] }
Wave 1: [Phase 1] — no blockers
Wave 2: [Phase 2, Phase 3] — both blocked only by Phase 1
Wave 3: [Phase 4] — blocked by Phase 3
Present the execution plan to the user before starting:
Execution plan for {project-name}:
Wave 1: Phase 1 ({title})
Wave 2: Phase 2 ({title}) + Phase 3 ({title}) [parallel]
Wave 3: Phase 4 ({title})
{N} phases across {M} waves. Parallel phases in waves 2+.
Starting now — I'll pause only if a phase fails review.
Process waves sequentially. Within each wave, dispatch phases in parallel if the wave has multiple phases.
Dispatch one subagent:
Agent({
description: "Execute Phase {N}: {title}",
subagent_type: "general-purpose",
mode: "bypassPermissions",
prompt: "<instructions>
You are executing Phase {N} of the {project-name} ideation project.
Run the execute-spec skill in headless mode:
/ideation:execute-spec --headless {spec-file-path}
Follow the skill's full workflow: Scout → Build → Verify-Review-Fix → Commit.
The --headless flag auto-proceeds through confirmation steps so execution
does not block.
When complete, report:
- RESULT: PASS or FAIL
- Summary of what was implemented
- Any findings from the review cycle
- The commit hash (if committed)
If the review cycle fails after 3 cycles, report RESULT: FAIL with the
remaining findings. Do not ask the user — the orchestrator handles failure gates.
</instructions>"
})
Dispatch all phases in the wave simultaneously using multiple Agent tool calls in a single message. Each subagent gets the same prompt structure above with its own phase number and spec path.
Parse each subagent's result. Look for RESULT: PASS or RESULT: FAIL in the output.
If all phases PASS: Log completion, move to next wave.
If any phase FAIL:
This is the failure gate. Stop and present the situation:
AskUserQuestion:
Question: "Phase {N} failed review after 3 cycles. {summary of findings}. How to proceed?"
Options:
- "Skip and continue" — Mark phase as failed, continue with remaining waves. Phases that depend on this one will also be skipped.
- "Retry phase" — Re-dispatch the failed phase with a fresh subagent.
- "Stop here" — Halt execution. Completed phases are already committed.
If "Skip and continue":
completed set for dependency resolutionblockedBy includes the failed phase is also skippedIf "Retry phase":
If "Stop here":
After each wave, print a brief status line:
Wave {M}/{total}: Phase(s) {list} — {PASS/FAIL}
Completed: {list of all completed phases}
Remaining: {list of remaining phases}
After all waves complete (or execution stops), present a summary:
## Execution Complete
### Completed Phases
- Phase 1: {title} — {commit hash}
- Phase 2: {title} — {commit hash}
- Phase 3: {title} — {commit hash}
### Skipped Phases
- Phase 4: {title} — blocked by failed Phase 3
### Failed Phases
- Phase 3: {title} — {summary of failure}
### Summary
{M} of {N} phases completed successfully.
{commits committed, files changed across all phases}
If all phases completed successfully:
All {N} phases complete. Run `git log --oneline -{N}` to see the commits.
git log for the spec name in commit messages), skip it.testing
Socratic tutor that drills the user until they deeply understand a change — the problem, the solution, the design decisions, the edge cases, and what it impacts. Use after completing or reviewing work (a diff, PR, or session) when the user wants to truly own it, not just skim it — or when the user says /socratic-tutor, "teach me what we just did", "quiz me on this", "walk me through this change", or "make sure I understand this". Restates-first, quizzes, and does not stop until the user demonstrates mastery.
tools
Generate a /goal command to execute an ideation project's specs autonomously. Reads the contract, builds a goal prompt with phase ordering and spec paths, copies it to clipboard, and prints it. The user pastes the /goal command to start autonomous execution. Use when the user says 'goal', 'run as goal', 'get goal prompt', 'goal prompt', or wants to execute specs via /goal instead of /ideation:autopilot.
development
Go up a layer of abstraction and map the surrounding architecture. Use when the user is unfamiliar with an area of code, asks "how does this fit in", "what calls this", "give me the big picture", "where am I", "map this out", "I'm lost", "explain this area", or needs to understand how a file, module, or function connects to the rest of the system. Also use when the user says /zoom-out or "zoom out" mid-conversation — even without a specific file reference, orient them based on whatever code is currently in context.
development
Build a throwaway prototype to answer a design question before committing to real implementation. Generates either a runnable terminal app (for state machines, data models, business logic) or several radically different UI variations on one route (for visual/layout decisions). Use when the user wants to prototype, spike, POC, sanity-check a data model, mock up a UI, explore design options, or says "prototype this", "spike this out", "let me play with it", "try a few designs", "sketch this in code", "I want to try something before building it for real", "quick and dirty version", or "validate this approach" — even if they don't use the word "prototype."