atrislabs/atris/autopilot

Claude Code and agent skill by atrislabs/atris

Trust tier 2
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Run ONE autopilot tick. Reads identity (flow) + horizon (endgame), shows a visual status block, picks the next [endgame] task or seeds a new endgame at boundaries, then executes plan→do→review. Lessons compound to atris/lessons.md. Triggers on: autopilot, run one tick, ship one thing, do the next thing, get this done.

Install

npx vskill@latest install atrislabs/atris/autopilot

SKILL.md

The two-engine architecture: /flow chains forward from identity (who you are → next move). /endgame chains backward from horizon (where you're going → next move). They meet at the same intersection: the next thing /autopilot should ship. Each tick reads both sides and shows them in the visual status block.

Visual status block

Every tick prints this BEFORE scanning for work, so you can see the loop's state at a glance:

┌──────────────────────────────────────────────────────────────┐
│ tick · 14:23 │
│ identity: building atris-business cloud for design partners │
│ horizon: customer-onboarding │
│ three setup checks are ready to ship │
│ progress: ████████░░░░ 6/9 endgame steps │
└──────────────────────────────────────────────────────────────┘
  • identity comes from atris/PERSONA.md (first non-trivial line)
  • horizon comes from the ## Endgame section in atris/TODO.md
  • progress counts [endgame]-tagged tasks in Backlog vs T#/W#/E#-prefixed entries in Completed

If identity is missing, edit PERSONA.md. If no horizon is active, /endgame seeds one from inbox / wiki / lessons.

/autopilot

Runs ONE plan→do→review tick anchored to the current endgame. If no endgame is active, seeds one from the inbox or wiki signals first. Not a recurring loop. Call /loop for that.

When to use

  • User says "run one tick", "do the next thing", "ship one thing", "get this done"
  • The cron job from /loop invokes this on each fire

What ONE tick does

  1. Read state: load atris/TODO.md. Look for the ## Endgame section header and [endgame]-tagged tasks in ## Backlog.
  2. Boundary check: if no ## Endgame section exists, OR every [endgame]-tagged task in Backlog is done/missing, invoke /endgame first to seed the next horizon. /endgame will write a new ## Endgame section + tagged backlog tasks to TODO.md.
  3. Execute: run atris autopilot --auto --iterations=1 via Bash. The CLI prefers [endgame]-tagged backlog tasks (priority 0) over reactive signals (priority 1+). One task per tick.
  4. Stop: show the output, do not start a conversation, do not chain. The next tick is the cron's job.

How to invoke

When the user (or cron) invokes /autopilot:

1. Read atris/TODO.md
2. If TODO.md has no `## Endgame` section OR no `[endgame]` tasks in Backlog:
→ Invoke `/endgame` first (it will write the new endgame to TODO.md)
3. Run: atris autopilot --auto --iterations=1
4. Show output
5. Stop

Boundary behavior

The whole point of the architecture: finish the current endgame before picking another. Reactive signals (stale pages, broken refs) are fallbacks, not the main road. The main road is endgame → endgame → endgame, set by the human or seeded from inbox at every boundary.

TODO.md state → tick action
─────────────────────────────────────────────────────────────────────
no ## Endgame section → /endgame to seed, then run tick
## Endgame exists, [endgame] tasks 0 → /endgame to pick next, then run tick
## Endgame exists, [endgame] tasks 1+ → run tick (pick next [endgame] task)
no endgame anywhere, no inbox, clean → loop journals "nothing left", stops

Variants

  • atris autopilot --dry-run: preview what it would do, do not execute
  • atris autopilot --auto --iterations=N: run up to N ticks back-to-back (still one task per tick, boundary checks between)
  • atris autopilot "<task description>": seed a new inbox item, then run

Autonomous mode

If the user wants this to fire on a recurring schedule, invoke /loop instead. /loop schedules a cron that calls /autopilot every ~13 min, with the boundary check baked in.

/autopilot → one tick (with boundary check at start)
/loop → /autopilot every ~13 min (heartbeat)

Rules

  • One task at a time. Never batch.
  • Always show why before executing.
  • Stop after the first tick. Do not chain. Chaining is /loop's job.
  • Endgame tasks always preferred over reactive signals.
  • At every boundary (no current endgame OR all done), reassess via /endgame: read inbox/wiki/logs, pick the next horizon, do not just run forever.
  • If a tick fails, halt and journal the failure. Do not pretend it worked.
  • The CLI writes the heartbeat Notes block. Do not hand-write tick summaries to the journal.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
58
Repository forks
2
Repository npm downloads, 7 days
256
7-day trend score
36

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 20 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/atrislabs/atris/autopilot/badge)](https://verified-skill.com/skills/atrislabs/atris/autopilot)

Something wrong with this skill or its page? Tell us.