# Autopilot

Intake-to-delivery pipeline.

- Repository: https://github.com/SethGammon/Citadel (927 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add SethGammon/Citadel --skill autopilot -g -a claude-code -y`
Codex: `npx skills add SethGammon/Citadel --skill autopilot -g -a codex -y`
Cursor: `npx skills add SethGammon/Citadel --skill autopilot -g -a cursor -y`
Gemini CLI: `npx skills add SethGammon/Citadel --skill autopilot -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add SethGammon/Citadel`

## 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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /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:

```bash
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:

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

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

```bash
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:

The rest: https://github.com/SethGammon/Citadel/blob/HEAD/skills/autopilot/SKILL.md
