Skip to content
Development
Skill

/autopilot

Intake-to-delivery pipeline. Processes pending items from .planning/intake/: briefs new ideas, executes approved work through research → plan → build → verify. Drop a file in .planning/intake/ and invoke this skill.

From plugin
citadel
92948 skills7 agents

Claude Code

$ npx -y skills add SethGammon/Citadel --skill autopilot --agent claude-code

SKILL.md

autopilot.SKILL.md
name: autopilot
license: MIT
description: >-
  Intake-to-delivery pipeline. Processes pending items from .planning/intake/:
  briefs new ideas, executes approved work through research → plan → build → verify.
  Drop a file in .planning/intake/ and invoke this skill.
user-invocable: true
auto-trigger: false
trigger_keywords:
  - intake
  - process pending
  - pipeline
last-updated: 2026-03-20

/autopilot — Intake Pipeline

Orientation

Use Autopilot when:

  • There are pending items in `.planning/intake/`
  • You want to process intake items without manual orchestration
  • The work is scoped and well-defined (Small or Medium complexity)

Do NOT use Autopilot for:

  • Large, multi-session campaigns (use Archon)
  • Parallel execution (use Fleet)
  • Exploratory or open-ended work (use Marshal)

Protocol

Step 0: DELIVERY PREFLIGHT

When the user names a specific intake file or asks for "intake to PR", prefer the deterministic delivery preflight before freeform build work:

node scripts/deliver.js --intake .planning/intake/{item}.md

If no specific intake file is named, use:

node scripts/deliver.js --next

This selects the highest-priority pending item in `.planning/intake/` and keeps the golden path deterministic.

This creates an active campaign with claimed scope, acceptance criteria, map context, and exit evidence rows, then marks the intake item `in-progress`. Continue from the created campaign with `/do continue`.

After build and verification, package the delivery before marking the campaign complete:

node scripts/package-delivery.js {campaign-slug}

If a PR exists, record the PR as the review target:

node scripts/package-delivery.js {campaign-slug} --pr https://github.com/{owner}/{repo}/pull/{number}

Step 1: SCAN

Read all files in `.planning/intake/` and identify:

  • `status: pending` → needs briefing
  • `status: briefed` → ready to build
  • `status: approved` → ready to build
  • `status: in-progress` → check if stuck

Step 2: BRIEF (for pending items)

For each pending item:

1. Read the intake file 2. Read related files mentioned in the description 3. Research the scope: what files exist, what patterns are established 4. Write the brief:

  • **Scope**: Small / Medium / Large
  • **Approach**: How to implement (2-3 sentences)
  • **Files**: Which files to create or modify
  • **Quality gates**: What must be true when done
  • **Risks**: What could go wrong

5. Update the item's status to `briefed`

Step 3: BUILD (for briefed/approved items)

For each briefed item (smallest first):

1. Read the brief 2. Execute the approach:

  • Create or modify the listed files
  • Follow the project's conventions (CLAUDE.md)
  • Run typecheck after each change

3. Verify:

  • All quality gates pass
  • Typecheck clean
  • Tests pass (if applicable)

4. Update status to `completed`

Step 4: REPORT

Output a summary of what was processed:

Autopilot processed {N} items:
  ✓ {item-1}: briefed → built → verified
  ✓ {item-2}: briefed
  ✗ {item-3}: blocked — {reason}

Intake Item Format

---
title: "Feature Name"
status: pending | briefed | approved | in-progress | completed
priority: normal | high
target: src/path/to/affected/area/
---

Description of what needs to be done...

Fringe Cases

  • **`.planning/intake/` is empty or does not exist**: Output "Nothing to process — `.planning/intake/` is empty. Drop a file there or run `/do setup` to initialize." Do not error.
  • **Intake item has no clear action**: If the description is too vague to execute, ask the user one clarifying question or skip the item with a note: "Skipped — direction unclear. Update the intake file and re-run."
  • **Item status is unrecognized**: Treat unknown statuses as `pending` and proceed through the brief → build flow.
  • **Typecheck fails during build**: Record the failure in the item's status, move on to the next item, and report the blocker in the exit summary.
  • **`.planning/` does not exist**: Output a setup hint and exit cleanly. Autopilot requires `.planning/intake/` to operate — if the directory is absent, treat as empty intake and suggest running `/do setup`.

Contextual Gates

**Disclosure:** "Processing intake queue: N items pending. Will dispatch skills per item." **Reversibility:** amber — processes intake items by dispatching other skills that may modify files; undo depends on dispatched skills **Trust gates:**

  • Any: review intake and briefing.
  • Familiar (5+ sessions): autopilot runs autonomously on queued items; novices should review intake before running.

Quality Gates

  • Never build without reading the project guidance (AGENTS.md, then CLAUDE.md) first
  • Run typecheck after every file change
  • Mark items as completed only when verification passes
  • If an item is blocked, record the reason and move on

Exit Protocol

---HANDOFF---
- Processed {N} intake items
- Built: {list of completed items}
- Blocked: {list with reasons}
- Remaining: {count of items still pending}
---
Read more
@sethgammon
Ships withcitadel

An open-source operating layer for Claude Code and OpenAI Codex. Citadel routes requests, preserves repository state between sessions, coordinates parallel work, applies repository safeguards, and records evidence and handoffs around the coding agent you

92948 skills7 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
929
Star history of SethGammon/Citadel on GitHub, a chart by star-history.com

Other skills on citadel.

architect

architect

Given a PRD, produces an implementation architecture: file tree, component breakdown, data model, and a phased build plan with…

@sethgammon@sethgammonInstall Skill
archon

archon

Autonomous multi-session campaign agent. Decomposes large work into phases, delegates to sub-agents, reviews output, and…

@sethgammon@sethgammonInstall Skill
ascii-diagram

ascii-diagram

Generate perfectly aligned ASCII diagrams — architecture, flow, sequence, box-and-arrow. Uses a programmatic character-grid…

@sethgammon@sethgammonInstall Skill
cost

cost

Deep cost exploration and transparency. Shows real token usage, session costs, campaign spend, burn rates, and model breakdown.…

@sethgammon@sethgammonInstall Skill
create-app

create-app

End-to-end app creation from a single description. Five tiers: blank project, guided, templated, fully generated, or feature…

@sethgammon@sethgammonInstall Skill
create-skill

create-skill

Creates new skills from the user's repeating patterns. Interview-driven: discovers the task, analyzes failure modes, generates a…

@sethgammon@sethgammonInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about autopilot.

Which coding agents can use autopilot?
autopilot installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.