orion-skills
A curated library of original Claude Code skills for disciplined agent workflows — finish discipline, scope control, and durable handoffs, loaded on demand.
Open source (MIT) · 10 skills · No plugin or marketplace · Loaded on demand · Engine-portable.
The problem
An autonomous coding agent will happily say “done” before runtime is verified, edit outside the scope you set, lose the lesson it just learned, and bloat its base prompt with procedures it rarely needs. The gap isn’t capability — it’s discipline: the boring, high-leverage habits a senior engineer applies without thinking.
A small, curated set of workflow- and finish-discipline skills — not tool wrappers. Each is a folder with a SKILL.md (YAML frontmatter plus a Markdown body) that Claude Code loads on demand when the task matches, keeping specialized procedure out of the base prompt. They encode the habits that keep an agent honest: don’t claim done until runtime is verified, don’t write outside your declared scope, capture what you learned, and turn a loose task into a fire-ready autonomous prompt.
Install
Claude Code auto-loads skills from ~/.claude/skills/ (v2.1.157+) — no marketplace or plugin required. Copy the skills you want, then invoke by name or let the model auto-invoke when the description matches.
One skill:
cp -r skills/ship ~/.claude/skills/shipCommand surface
- readonly: Structural read-only session mode — sets a marker a PreToolUse hook reads to DENY every file-mutating tool until cleared. For an audit/census where nothing should change.
- scope-guard: Declares and self-audits write scope; with a paired hook, blocks out-of-scope writes mechanically. For infra or multi-file work that must stay inside a boundary.
- ship: Finish-discipline gates: RED/GREEN tests → PR → adversarial fail-open review → independent runtime verification before “done”.
- pre-pr: Repo-contract-aware preflight: detect the base branch, run repo-local checks, secret-scan the diff, and report severity-graded findings before you open a PR.
- incident-as-code: Closes a resolved incident by committing a docs/solutions/ doc (and a runbook when recurrent) into the affected repo — the incident isn’t closed until that lands.
- learn-capture: The compound loop’s closing step: filter a lesson against the non-obvious / reusable / actionable test and route it to a durable home (agent memory vs repo AGENTS.md).
- goal-prompt: Turns a loose task into a fire-ready autonomous goal prompt: recon-grounded, rails-locked, with a transcript-checkable terminal condition. Builds the prompt; never fires it.
- pre-compact: Captures a session into a persistent, queryable context pack so a fresh instance resumes from evidence, not narrative. Engine-agnostic.
- x: Post to X — manually or autonomously — behind a fail-closed harness: a redactor that abstains rather than leak, a per-day cap, and an arm-flag so it ships DISARMED. Direct OAuth1.0a, stdlib-only.
- gist: Publish an embeddable PUBLIC gist of already-public content — fetched over the unauthenticated raw URL so world-readability is structural, not a promise. Redactor backstop, per-day cap, ships DISARMED.
Why it is different
- Discipline, not tools: These don’t wrap an API or a service. They encode the finish-discipline habits that keep an autonomous agent honest — verify before “done”, stay inside declared scope, capture the lesson — extracted from real production operator workflows.
- No plugin, no marketplace: Native ~/.claude/skills/ loading (Claude Code v2.1.157+). Copying a folder is the install. The skills are plain Markdown plus a SKILL.md, so the pattern is engine-portable.
- Loaded on demand: A sharp description is the only thing the model sees when deciding to invoke — so a skill is pulled in only when the task matches, keeping specialized procedure out of the base prompt (progressive disclosure).
- Curated and opinionated: A small, deliberately-bounded set — not a sprawling community catalog. New-skill PRs are generally declined on purpose; the value is the curation.