Skip to content

Skills reference

Every skill steer ships, invoked as /steer:<skill>. This page is kept in sync with plugins/steer/skills/ by the /plugin-docs skill, and the validate_docs.py gate fails CI if any shipped skill is missing here.

Invocation

Always namespaced: /steer:spec, never bare /spec. There is no commands/ directory — the thin command shims were removed.

Front doors

The handful of skills a user picks from. Each detects context and hands off to the specialized skills below as needed, so you rarely reach past this set.

Skill Purpose
/steer:setup One front door for getting a repo onto the standards — detects the /spec spine state and routes to greenfield bootstrap, existing-code adoption, or steady-state sync, installing prerequisites first if the toolchain is missing. Thin dispatcher over /steer:init, /steer:adopt, /steer:sync — which invoke /steer:doctor themselves when prerequisites are missing.
/steer:build Guided flow for a non-technical PO: idea → spec → working app → PR. See Build.
/steer:spec Spec-only brainstorm for a feature — author/iterate intent.md (+ contract.md), drive open questions, approve. See Spec.
/steer:work Execute a GitHub issue end-to-end — validate, claim, branch, implement, test, PR. Add --reviewed to wrap execution in independent plan- and code-review gates plus a bounded fix loop (the review-gated path formerly the deliver skill) — vetted, not first-draft. See Work.
/steer:issues High-level GitHub Issues lifecycle for the spine — capture, triage, brainstorm, materialize, decompose, epic (group features under a parent tracking issue as an Epic → Feature → Task hierarchy), status, a read-only ranked relationship-aware board, reconcile, and sequence into a release timeline. Triage escalate-only auto-sets the native Priority field. See Issues.
/steer:audit Repeatable read-only audit in two modes: code (whole-repo standards-conformance health, leverage-ranked — the default) and spec (as-built /spec vs tracker intent, the former drift skill); all runs both. Hands off to /steer:tidy. Treats a declared-trunk unprotected main (solo trunk mode) as intentional, not a finding.
/steer:adr Record a hard-to-reverse or cross-cutting decision as an ADR. See Decisions.
/steer:next "What should I do next?" across the workspace. Read-only.
/steer:protect Verify (and, on confirmation, apply) GitHub branch protection against policy/branch-protection.yml — the real PR gate — on the default branch plus any additional branches the policy declares (e.g. a prod promotion branch, whose required PR review is the production approval gate), plus the repo-level security settings it declares (secret scanning + push protection, Dependabot alerts + security updates). steer is advisory locally; this configures the server-side wall. Verify-only by default. Also the graduation gate out of solo trunk mode: running it raises the PR wall and ends the mode. Treats a declared-trunk unprotected main as intentional, not drift.
/steer:standards Load the always-on operating manual on demand (for surfaces where the SessionStart hook doesn't fire).
/steer:report File a bug about the steer plugin itself upstream in element22llc/e22-plugins — gathers the defect (a recorded hook fault, a contradictory skill/rule, or a missing/broken template/script), scrubs it of secrets/paths/product-code, deduplicates by a stable fingerprint, and files via gh only on confirmation (paste-URL fallback). For plugin defects, not product bugs.

Reached through a front door

Directly invocable, but a front door auto-routes to each, so you rarely call one by name. Each is reached through the front door noted.

Skill Reached via Purpose
/steer:init /steer:setup One-time setup for a new repo — bootstrap the /spec spine + scaffold, or resolve legacy template placeholders. Offers solo trunk mode when one person is both PO and dev with no MVP yet (commit directly to main, no feat/*/PR ceremony, declared in the product CLAUDE.md ## Delivery mode).
/steer:adopt /steer:setup Reverse-engineer a /spec spine from an existing app's code and add the scaffold. See Adopt.
/steer:sync /steer:setup Bring a managed repo up to date with the current plugin — apply migrations, reconcile spine + scaffold, repair missing/mis-wired capability-critical scaffold (plugin enablement, in-CI loading, version-pin enforcement, drift gate, branch-protection, delivery-mode declaration), re-stamp /spec/.version, land a PR. --check runs a read-only capability + drift report.
/steer:doctor /steer:setup Detect and install the local prerequisites a repo needs before init/build/dev — git, mise (and the pnpm/uv/node it manages), and Docker — with per-OS guidance and confirmation-gated installs. Also flags a runtime shadowed by a global version manager (nvm/asdf/volta/fnm) or a system copy, so bare pnpm/node can't silently run an un-pinned version.
/steer:tidy /steer:audit Sweep loose files out of the repo root into their correct home (/spec/reference, /spec/design).
/steer:roadmap /steer:issues Generate a release-milestone timeline (viewable as a GitHub Projects v2 roadmap) by turning intended-but-unshipped work into milestone-grouped issues — from-features (target specs not yet live) or from-gap (a spec-gap from /steer:audit spec), plus a sync reconcile. Writes the human-confirmed native Start/Target date issue fields (for per-issue Gantt bars) in addition to milestone grouping; proposes a dependency-ordered plan; never fabricates dates.
/steer:questions /steer:spec, /steer:issues Promote a spec's open question into a tracked issue when it outgrows the feature.
/steer:reference /steer:standards, model Load one of the bundled full-detail reference docs by topic: conventions (tooling/convention questions, stack-default rationale), traceability (living docs, tracker refs, drift gates, PO vs dev split), design-sources (features from a Claude Design export/URL, Figma, or screenshots), or context-hygiene (delegate heavy/multi-phase runs to subagents; persist durable run-state in /spec/** so it survives compaction). Read-only; materialized into /spec/reference/ once a repo is set up.

Internal gateways (never user-invoked)

user-invocable: false — called only by other skills, never a user's first move.

Skill Purpose
/steer:tracker-sync The single gateway for all GitHub tracker reads/writes (MCP-first, gh fallback, manual floor). Also reads/writes native issue fields (field-get/field-set/bootstrap-fields for Priority/Effort/dates) and records native blocked-by relationships (link-blocked-by).
/steer:spec-scaffold Materialize the /spec spine files from the bundled templates.