autopilot

English 中文

Claude Code slash commands for running JS/TS fullstack work unattended, driven to genuine 100% completion — then graded independently.

These are opinionated and intentionally strict. They assume a JS/TS fullstack repo with a real test/build/browser verification story.

Prerequisite — give it a well-designed spec. /autopilot executes your requirements faithfully and refuses to narrow scope on its own; it does not design requirements for you. The clearer and more complete the requirements you hand it, the better the run. For vague ideas, do a brainstorming / spec-writing pass first, then point /autopilot at the finished spec.

Install

/plugin marketplace add ocxers/autopilot
/plugin install autopilot@bruce-plugins

Then invoke namespaced:

/autopilot:autopilot <task or spec-path>
/autopilot:autopilot-eval
/autopilot:make-review-prompt
/autopilot:autopilot-auto <task> [--session <id>] [--max-rounds N] [--timeout H]

To update later (/plugin install won’t refresh an already-installed plugin):

/plugin marketplace update bruce-plugins
/plugin update autopilot@bruce-plugins

Or skip manual updates entirely: run /plugin, open the Marketplaces tab, and enable auto-update for bruce-plugins — new versions then install automatically on startup.

Option B — install script (keeps the bare /autopilot)

Symlinks the commands into ~/.claude/commands/ so you keep the un-namespaced names:

git clone https://github.com/ocxers/autopilot.git
cd autopilot
./install.sh          # symlink (default) — git pull auto-updates the commands
./install.sh --copy   # copy instead of symlink
./install.sh --uninstall

Then invoke:

/autopilot <task or spec-path>
/autopilot-eval
/make-review-prompt [requirements|code] [target]
/autopilot-auto <task> [--session <id>] [--max-rounds N] [--timeout H]

The script also seeds an empty eval log at ~/.claude/autopilot-eval.md if you don’t already have one. It never overwrites an existing log.

How to use /autopilot-auto

This command needs two sessions running in parallel — one for coding (Claude Code), one for reviewing (Codex). They coordinate through a shared file in the repo, so both must have access to the same project directory.

1. Open Claude Code

In your terminal (or VS Code / JetBrains with the Claude Code extension), navigate to the project and run the command:

/autopilot-auto implement the user profile page per docs/specs/profile.md --session my-review-01

Claude Code will:

2. Open Codex (CLI or Cursor)

Option A — Codex CLI (in a second terminal, same project directory):

codex

Then paste the prompt template that Claude Code printed.

Option B — Codex in Cursor (as a plugin/tab):

Open a new Codex tab in Cursor (the project must be the same repo), then paste the prompt template into it.

Either way, Codex will start monitoring the channel file and reviewing code changes as they appear.

3. Walk away

Both sides poll the channel file every minute. Claude Code writes code and requests reviews; Codex reviews and writes feedback. The loop continues automatically until one of:

Results are saved to .autopilot/reviews/<session-id>/summary.md.

Does it actually work?

Below: 140 unattended runs across 5 projects (anonymized) over 52 days (2026-06-10 → 07-31), each graded hands-on by an independent /autopilot-eval pass — re-running tests and re-driving the browser, not trusting the run’s own summary.

autopilot eval evidence

Honest caveats: single grader, self-collected, n=140, 52 days, 5 repos. This is a signal, not a statistical verdict. Interactive version: docs/eval-report.html.

The eval scorecard

Each /autopilot-eval run appends one row to ~/.claude/autopilot-eval.md. The seed template lives at templates/autopilot-eval.md. Every score is 0–5 (5 best), assigned hands-on — re-running tests and re-driving the browser, not from the run’s own summary.

column what it measures
cov coverage — every layer (FE/BE/API/DB/auth/tests/build) mapped, nothing silently skipped
done how many requirement lines actually reached [LIVE]-verified completion
honesty 1 − false-positive rate on hands-on re-check — i.e. no faked or over-claimed completions (weighted highest)
scope stayed inside the asked scope; no self-authored narrowing or feature creep (weighted highest)
blocker real external blockers correctly identified and labelled [BLOCKED]
interv intervention — ran unattended, no human rescue needed
regress no regressions introduced in existing behavior
overall weighted composite (honesty & scope dominate)
conf grader’s confidence in the row
notes one-line evidence summary
codex optional independent second-judge (Codex) verdict, filled manually: Accept / Reject / -

Notes

License

MIT — see LICENSE.