autopilot
Skill1 starsChanged 3 months agoMITView on GitHub
Fully autonomous end-to-end run of ONE defined task with no human gates - a work item becomes a verified working tree plus an evidence-backed report, with every question that would have been asked logged as an assumption and its blast radius. Stops before any commit, push or PR. Use this skill whenever the user says "autopilot", "/autopilot", "run task <id> autonomously", "work this task end to end without asking", "full autonomy on this", "do the whole task, skip commits and PR", or launches a headless run with a task id - even if they do not name the skill. Not for interactive plan approval (task-executor), a queue of tasks (goal-runner), or when commits or PRs should be created (create-pr).
- Commits and pushes
74 other projects use a version of this.
Adopted by
Most recently taken up by
- zahidakhyar/skillstheir own version, first seen Nov 8, 2026
- kimkon1011/orgiast-claude-rulestheir own version, first seen Nov 8, 2026
- lohi-ai/babysittheir own version, first seen Nov 8, 2026
- paramcodes/skillstheir own version, first seen Nov 8, 2026
- jinjan21-lgtm/autopilottheir own version, first seen Nov 8, 2026
- ourostack/ouroboros-skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use review-bugbot, rename-chat and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
0mlkrizzz655335vSkillreview-bugbot
缺陷导向代码审查。用 Bugbot 子代理找 bug。
Also in 3 projects that use this
0mlkrizzz655335vSkillrename-chat
重命名当前聊天。按聊天内容改标题。"disable-model-invocation: true
Also in 3 projects that use this
Tsumugii24Skillsplit-to-prs
Split current work into small reviewable PRs. Use when the user asks to split a chat, set of changes, branch, or PR.
Also in 4 projects that use this
PandelisZSkillupdate-cli-config
View and modify Cursor CLI configuration settings in ~/.cursor/cli-config.json. Use when the user wants to change CLI settings, configure permissions, switch approval mode, enable vim mode, toggle display options, configure sandbox, or manage any CLI preferences.
Also in 3 projects that use this
32103210Skillmigrate-to-skills
Convert 'Applied intelligently' Cursor rules (.cursor/rules/*.mdc) and slash commands (.cursor/commands/*.md) to Agent Skills format (.cursor/skills/). Use when you want to migrate rules or commands to skills, convert .mdc rules to SKILL.md format, or consolidate commands into the skills directory.
Also in 3 projects that use this
32103210Skillupdate-cursor-settings
Modify Cursor/VSCode user settings in settings.json. Use when you want to change editor settings, preferences, configuration, themes, font size, tab size, format on save, auto save, keybindings, or any settings.json values.
Also in 3 projects that use this
- +1 more from 32103210
- +1 more from 0mlkrizzz655335v
Other versions74 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 74
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- Yeachan-Heo/oh-my-codex★ 34ksame name
- SethGammon/Citadel★ 927same name
- H-mmer/pentest-agents★ 815same name
- Harry-kp/vortix★ 757same name
- nick-vels/skills★ 599same name
- yan-labs/yan-skills★ 232same name
- kentcdodds/kcd-skills★ 64same name
- Kanevry/session-orchestrator★ 53same name
64 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository38 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- api-contract-reviewSkill
- backlog-plannerSkill
- codebase-explainerSkill
- code-reviewSkill
- context-dietSkill
- conventional-commitsSkill
- create-prSkill
- design-briefSkill
- diagnoseSkill
- dotnet-conventionsSkill
- dotnet-onion-apiSkill
- draw-optionsSkill
- e2e-verifySkill
- githubSkill
- goal-runnerSkill
- grill-with-docsSkill
- handoffSkill
- humanizerSkill
- improve-codebase-architectureSkill
- maestro-mobile-testSkill
- migration-safetySkill
- model-inventorySkill
- nextjs-app-routerSkill
- plan-and-buildSkill
- record-browser-testSkill
- regression-huntSkill
- safe-refactorSkill
- security-reviewSkill
- ship-itSkill
- sql-reviewSkill
- task-executorSkill
- tauri-2-appSkill
- think-like-fableSkill
- upgrade-depsSkill
- worktree-sandboxSkill
- write-a-skillSkill
- write-testsSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 1 is distinctive, and 2 are very specific to this project.
0
Common
Most of the 66 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
Do not use when the user wants to approve the plan (task-executor), has a queue of tasks (goal-runner), or wants a commit or PR produced …
- Very specific: line 28
Unobserved is
not run, neverpassed: Every Evidence line carries a tag: verified (you ran it and quote the output), inferred (follows … - Distinctive: line 73
Baseline: Run the suite and build before the first edit.
“Common” is measured: kept by at least 6 in 10 of the 66 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Autopilot
The full loop — acquire → plan → execute → test → review → report — with the human gates replaced by an explicit contract, for headless or hands-off runs where nobody can answer questions mid-flight. It does not reinvent review, testing, or diagnosis: every skill in this library that applies is used, on a predicate you can observe, and the report proves which ones ran. Model routing and launch flags live in references/runtime.md.
When to use this skill
- "autopilot task 12345" / "run task 12345 autonomously" / "/autopilot 12345"
- "work this end to end without asking me anything, skip PR and commits"
- A headless (
claude -p) invocation naming a work item or task description.
Do not use when the user wants to approve the plan (task-executor), has a queue of tasks (goal-runner), or wants a commit or PR produced (create-pr).
The autonomy contract
- No questions. Never call
AskUserQuestion; never enter a plan-approval gate. Every question you would have asked becomes an ASSUMPTIONS row: question, choice, why, blast radius if wrong. Choose the option that (a) matches the codebase's existing pattern and (b) is cheapest to reverse; when they conflict, prefer reversible. "Matches the codebase" is an evidence claim — cite the instance (file:line); if you searched and found none, say so and justify by reversibility alone.- ❌ "Assumed camelCase keys — matches project conventions." (no instance cited)
- ✅ "Assumed camelCase keys — every DTO in
src/api/dto/uses them (UserDto.ts:12). Blast radius: one serializer line."
- Hard stops only. Halt and report (never improvise) when the next step is destructive or hard to reverse (data deletion, force push, dropping schema objects, external side effects); access or credentials are missing; the task is architectural (Phase 0); every reading of the task contradicts the codebase expensively; or three fixes have failed on one behavior. The stop-vs-assume test: would a wrong guess destroy data, publish something, or cost more to undo than redoing the task? No → assume and log. Yes → hard stop, with the tree left at the last observed-green state and the one decision needed to resume.
- Never commit, push, or create PRs. The deliverable is a verified working tree plus the report. The human gets the final gate.
- Scope is the task, exactly. Adjacent problems go in "Found along the way", never in the diff.
- ❌ Adding a
-jalias because "it's consistent" when the task said--json. ✅--jsononly; the alias idea goes in Found along the way.
- ❌ Adding a
- Unobserved is
not run, neverpassed. Every Evidence line carries a tag:verified(you ran it and quote the output),inferred(follows from a named verified fact),assumed(unverified; name what breaks if wrong). "Tests pass" is not "requirements met". - A present skill is mandatory. For every routing row whose predicate is true, run the probe; a hit means you open that SKILL.md with the Read tool and follow it. The fallback is legal only when the probe finds nothing, and "the diff is small" never skips a skill — the skill's own body decides how much ceremony a small diff gets.
usedis an evidence claim: the Skills used row quotes the heading of the section you applied, which you cannot do without opening the file. A present skill you did not open isskipped, and oneskippedrow caps the Outcome atdone-with-caveats: skipped <skill>.- ❌ "code-review is for bigger diffs; I did a focused self-review instead." (present, predicate true, skipped)
- ❌ "task-executor — used (inspection discipline)" with no file opened — you know its name, not its rules; that row is
skipped. - ✅ "code-review present → Read
skills/code-review/SKILL.md→ applied 'When to convene the council' → single-pass; 0 blockers."
Skill routing table
Probe (run it, quote the result): ls skills/<name>/SKILL.md .claude/skills/<name>/SKILL.md ~/.claude/skills/<name>/SKILL.md 2>/dev/null. Any path printed, or the Skill tool listing the name → present. Nothing → absent → fallback column, marked absent in the report. Where a row names two skills, pick by its predicate.
| Phase | Skill | Use it when (observable predicate) | If absent |
| 0 | github | An issue id was given and git remote -v shows github.com | gh issue view <id> --json title,body,comments if the CLI works; any other host or no working CLI → hard stop and ask for the task text |
| 0 | design-brief | .claude/design-briefs/ holds an APPROVED brief whose Intent line matches → it is the spec. Task classified architectural → hard stop naming this skill as the route back | Hard stop still; the report lists the design decisions the human must make |
| 0 | codebase-explainer | ONBOARDING.md exists → read it before inspecting (never run the skill; writing docs is out of scope) | Skip |
| 0 / any | handoff | .claude/handoffs/ holds a file naming this task → resume from its Next Session Prompt; context runs low mid-run → write one | Write objective, progress, decisions, next step to .claude/handoffs/ |
| 0 | model-inventory | Sub-agents will be spawned (see references/runtime.md) | Spawn with no model override |
| 1 | task-executor | Always: Phase 2 (inspection council threshold) and Phase 5 (Requirements table shape) | Read every touched file plus one precedent per new pattern; ≥2 layers → parallel Explore agents, one per layer |
| 1 | think-like-fable | Always: §6 self-grill of the plan | Ask: what discovery would invalidate the plan, which increment is riskiest, what am I assuming — then reorder |
| 1 | dotnet-onion-api / nextjs-app-router / tauri-2-app | The marker exists: *.sln/*.csproj with Domain/Application/Infrastructure projects; next.config.*; src-tauri/tauri.conf.json → convention source for the plan | Follow the nearest existing slice, route, or command |
| 1 | upgrade-deps / write-a-skill | The task text IS a dependency bump, or creates/edits a SKILL.md → that skill's workflow is Phase 2 | One major at a time with the suite quoted green between; _template/SKILL.template.md plus CLAUDE.md |
| 2 | safe-refactor | An increment is planned as behavior-preserving (rename, extract, move, inline) | Safety net first, suite green between mechanical steps, never change an assertion |
| 2 | write-tests | Every increment that adds or changes behavior (red first, quoted) | Write the test, run it red, quote it, then the minimum code |
| 2 | diagnose | A verification fails and the error text does not name the one thing to change | Reproduce → minimise → one falsifiable hypothesis → fix → regression test |
| 3 | e2e-verify / maestro-mobile-test | Diff touches browser-rendered UI or a web route AND a local run script exists; package.json depends on react-native/expo AND a device is reachable | Log not run: no browser / device available |
| 4 | code-review | Always | Walk the diff as a reviewer: correctness, error paths, dead code, DRY, tests; a blocker must state this input → this wrong outcome |
| 4 | regression-hunt | Any one of: the diff renames anything; changes a signature, default, or shared state (an added optional parameter counts); edits a file with ≥3 importers (grep count) | List every caller of each changed symbol and run their tests |
| 4 | security-review | Diff touches auth/sessions, input validation, SQL/shell/HTML sinks, file paths from input, secrets, crypto, or adds an endpoint | Check those classes; report "nothing found in the classes checked" |
| 4 | sql-review | Diff contains .sql files, stored procedures, or raw SQL strings | UPDATE/DELETE have WHERE, no dynamic-SQL concatenation, errors not swallowed |
| 4 | migration-safety | Diff adds or changes a file under a migrations directory (migrations/, Migrations/, prisma/migrations/, alembic/) | Flag destructive DDL and missing rollback |
| 4 | api-contract-review | Diff changes a route/handler signature, a request/response type, or an OpenAPI/GraphQL schema | Diff the before/after surface; list removed or renamed fields and status-code changes |
| 4 | ship-it | Diff adds an endpoint, background job, feature flag, secret, or migration | Note logging, error-handling, and rollback gaps in Found along the way |
| 5 | conventional-commits | Always: the "Your move" commit message | <type>(<scope>): <summary> with the work-item id |
| 5 | create-pr / backlog-planner | Always name /create-pr as the human's next step; Found along the way has ≥1 item → also suggest /backlog-planner. Neither is run | Name git push plus the provider's PR command; suggest adding the items to the backlog |
| stop | improve-codebase-architecture | Three failed fixes on one behavior → named in the hard-stop report as the route | Report the coupling that defeated each fix |
Two skills are deliberately absent: goal-runner is autopilot's consumer, not a dependency, and humanizer is never applied to your own report unless the user asked for it.
Workflow
Phase 0 — Acquire, baseline, classify
- Acquire. Id given → route by remote (table); never reconstruct a task from its id, title, or branch name alone. Read description, comments, AND embedded screenshots (an image you did not open is
not viewed). Quote acceptance criteria verbatim. - Restate: "This task needs
___so that___." Can't fill the second blank from the artifacts → hard stop. - Branch posture. On
main/master/the default branch → create a branch named from the work item, followinggit branch -aconventions, logged as an assumption. - Baseline. Run the suite and build before the first edit; quote the summary line. If any output must stay unchanged, capture it to a file now for a later diff.
- Classify, out loud. Spike → anything built is labeled throwaway. Bounded (changes a flow that exists in this repo) → proceed. Architectural (new subsystem, restructured boundaries, interfaces others depend on) → hard stop;
design-briefis the route back. Hidden complexity mid-run upgrades the class, never downgrades it.
Phase 1 — Plan (self-gated, not user-gated)
Inspect under task-executor's discipline (its threshold decides inline reads vs. parallel explorers); load the stack skill the table selects. Draft increments, each with its own verification command. Self-grill per think-like-fable §6: what discovery would invalidate the plan? Which increment is riskiest? Run that one first. The plan goes in the report verbatim; it replaces the approval gate.
Phase 2 — Execute incrementally
One increment at a time, observed verification after each. A behavior increment opens with its failing test under write-tests (red for the right reason, quoted) and closes with the minimum code that turns it green. Before each increment, restate the Phase 0 one-liner; an increment that doesn't serve it means the plan drifted — re-plan. An assumption load-bearing for 3+ increments is re-verified against the code; one resting on another multiplies both blast radii — re-verify the base first.
Command-failure protocol. A command fails → read the full error, change exactly one thing it names, retry once. Second failure on the same step → the approach is wrong: run diagnose if the error doesn't name the fix, then re-plan or hard stop. Three failed fixes on one behavior is a hard stop, never a fourth attempt. A step that cannot go green is reverted (git diff -- <files> shows what to undo) so the tree sits at the last observed-green state.
Phase 3 — Test
Run the full suite for every package containing a changed file, plus whatever CI runs for those paths; quote the summary line. Live verification per the table when its predicate holds. A failure in untouched code → stash, re-run, unstash to prove it pre-existing when the suite takes ≤5 minutes; otherwise tag the claim assumed.
Phase 4 — Review, with fix authority for blockers
Run code-review (always) and every Phase 4 lens whose predicate is true. Autonomous exception to code-review's report-first rule: blocking findings are fixed immediately, one at a time, each re-verified. Suggestions and nits are logged, NOT applied. Re-review; loop until zero blockers or two iterations — survivors are known issues that downgrade the Outcome.
Phase 5 — Report (the deliverable)
Fill this exact structure; keep the headings verbatim, replace every <...>, delete no section (an empty one says none):
## Outcome
<one sentence: done | done-with-caveats: <caveat> | hard-stopped at Phase <n>: <decision needed>>
## Requirements
| # | Requirement (task text, quoted) | Evidence (test name / command → output / file:line) | Status |
|---|---|---|---|
| 1 | "<quoted>" | <observed evidence> | met / gap / deviation |
## What changed
- `<file>` — <why>
## Evidence
- <command> → <quoted output> — verified | inferred from <fact> | assumed (<what breaks if wrong>)
- <increment>: red `<quoted failing line>` → green `<quoted summary>` — verified
## Review outcome
<lenses run; findings by category; fixes applied; anything remaining>
## Skills used
| Skill | Predicate | Probe | Result | Section applied (heading quoted from the file you opened) |
|---|---|---|---|---|
| <name> | true: <evidence> | present at <path> / absent | used / skipped / absent → fallback | "<heading>" or — |
Predicates false: <comma-separated skills whose predicate was false>
## Assumptions
| Question | Choice | Why (file:line or "no precedent found") | Blast radius if wrong |
|---|---|---|---|
| <q> | <choice> | <why> | <blast radius> |
## Found along the way
- <adjacent problem noticed, not touched>
## Your move
```bash
<paste-ready commit command per conventional-commits>
# then: /create-pr (when create-pr is absent: the push and provider PR commands instead)
```"Done" is earned only when every Requirements row is met with observed evidence, every Evidence line is verified, Review outcome has zero surviving blockers, and no Skills used row says skipped. Any gap, not run, skipped, assumed on a load-bearing claim, or surviving blocker makes it done-with-caveats with the caveat in the same sentence — never buried below.
Delivery gate — answer each before handing back; any "no" → fix it or downgrade Outcome: zero questions asked? zero commits/pushes/PRs (git status, git log quoted)? every behavior increment has a quoted red and green? every Requirements row has evidence or says gap? every routing row with a true predicate and a present skill marked used with a quoted heading (no heading → skipped → Outcome downgraded)? every Evidence line tagged? every Assumptions row cites file:line or says "no precedent found"?
Examples
- Headless work item. "autopilot task 4711" → remote is
github.com→githubpulls issue 4711 with two screenshots (both viewed); baseline47 passedquoted; 4 increments, each red-then-green underwrite-tests; the diff adds an endpoint →code-review,security-review,api-contract-review,ship-itrun, one blocker (missing authz) fixed and re-reviewed; report has Requirements 5/5 met, a Skills used table with quoted headings, 2 cited assumptions, aconventional-commitsblock. No commits. - Hard stop done right. "run task 8912 end to end without asking" → task says "remove the legacy sync"; inspection shows production traffic still hitting it (log timestamps quoted). Destructive and contradicts the spec → hard stop after Phase 1, tree untouched, report names the one decision ("confirm the consumer at X is decommissioned").
Anti-patterns
- ❌ Asking "just one quick question" mid-run — the user is not there; that's what Assumptions is for.
- ❌ Committing "to save progress" or opening a draft PR "for convenience".
- ❌ Skipping a present skill because the diff "felt small", or marking one
usedwithout a heading quoted from the file you opened. - ❌ Writing the test after the code and quoting only green — no quoted red, no behavior increment.
- ❌ Applying suggestion-level findings unattended, or expanding scope because the code "really needed it".
- ❌ Soft-stopping on mere ambiguity — choose per the contract, log it, continue.
- ❌ Reporting "done" with a
gaprow, askippedrow, an unobserved check, or a buried failed suite. - ❌ Retrying a failing command verbatim, or leaving a half-applied step in the tree at a hard stop.
- ✅ Zero questions, zero commits, every present skill opened and used, quoted red and green per increment, a Requirements row per criterion, human decides what ships.
Notes
- Composes with every skill in the routing table, plus
goal-runner, which delegates per-task execution to this discipline. All optional — the fallback column is the degraded path, and the Skills used table shows which path was taken.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

