agentleFS
MarkuysaMarkuysa/vibe-coding-template/.claude/skills/autopilot/SKILL.md

autopilot

Skill1 starsChanged 4 months agoMITView on GitHub

Starts, stops, or reports on unattended execution of the whole ticket queue. Refuses to start unless CI is actually gating merges.

74 other projects use a version of this.

Adopted by

Most recently taken up by

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.
  • 0mlkrizzz655335vSkill

    review-bugbot

    缺陷导向代码审查。用 Bugbot 子代理找 bug。

    Also in 3 projects that use this

  • 0mlkrizzz655335vSkill

    rename-chat

    重命名当前聊天。按聊天内容改标题。"disable-model-invocation: true

    Also in 3 projects that use this

  • Tsumugii24Skill

    split-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

  • PandelisZSkill

    update-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

  • 32103210Skill

    migrate-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

  • 32103210Skill

    update-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

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 66 edited versions we read keep these.

  • 2

    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
  1. Distinctive:

    Check every item and refuse if any fails, naming the failure and the fix:

    line 26
  2. Very specific:

    Branch protection requires status checks: Read it: gh api repos/{owner}/{repo}/branches/{default}/protection …

    line 29
  3. Very specific:

    Never edit .claude/autopilot.json outside this command.

    line 73
  4. Distinctive:

    Never turn autopilot on because the queue looks ready.

    line 74

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

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Requested: $ARGUMENTS (default status)

The state lives in .claude/autopilot.json, committed so cloud sessions read it from the clone and every flip is auditable. next-ticket refuses to work while enabled is false.

status

Report, in this order: whether autopilot is on, how many tickets are in progress against maxInFlight, how many are ready, how many are blocked and on what, and whether any sit at needs-attention — those need a human and will never clear on their own. Derive all of it from docs/tickets/ plus branches, the way /board does.

on

Preflight — all four, no exceptions

Autopilot without a real merge gate is not automation, it is merging whatever was written. Check every item and refuse if any fails, naming the failure and the fix:

  1. A CI workflow exists — something under .github/workflows/.
  2. Branch protection requires status checks. Read it: gh api repos/{owner}/{repo}/branches/{default}/protection required_status_checks.contexts must be non-empty. If protection is absent or the list is empty, gh pr merge --auto merges on the spot and autopilot means nothing. This is the check that matters most — do not wave it through because a workflow file exists.
  3. Auto-merge is enabled on the repository — gh api repos/{owner}/{repo} -q .allow_auto_merge must be true. (gh repo view --json autoMergeAllowed does not exist; the field is only exposed by the REST API.)
  4. There is at least one ready ticket in docs/tickets/: status: todo in main, all depends done, no claude/NNN-* branch. Use the same derivation /board uses.

Autopilot's auto-merge requires a GitHub remote: checks 1–3 are what make --auto defer to CI instead of merging blind, and only GitHub enforces them server-side here. On GitLab or a local-only repository, refuse on and point at the manual loop instead — "take the next ticket", human merges. The queue itself works everywhere; unattended merging is the part that needs a server-side gate.

Report which checks passed even when you refuse. "Preflight failed" without a reason wastes the next ten minutes.

Start

Set enabled to true in .claude/autopilot.json, commit and push it — the cloud reads the committed copy, so an uncommitted edit changes nothing.

Then invoke next-ticket with autopilot mode to start the first ticket.

Explain what happens next in two sentences: the pull request auto-merges once CI is green, the merge fires the routine, and the routine runs unblock then next-ticket again. The chain is self-sustaining from here — nobody has to dispatch anything.

Finish by naming the stop command: /autopilot off.

off

Set enabled to false, commit, push. Report anything currently in-progress: that run finishes on its own — this stops the next ticket from starting, it does not kill work already in flight. Say that explicitly rather than implying everything halted.

To stop a run already going, the human interrupts that session; to stop the chain from restarting on the next merge, pause the routine at claude.ai/code/routines.

Rules

  • Never edit .claude/autopilot.json outside this command.
  • Never turn autopilot on because the queue looks ready. Preflight decides, every time.
  • maxInFlight above 1 is the human's call, never yours. With strict branch protection each merge invalidates every other open branch, so a wider queue thrashes on rebases.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.