From Steer — Engineering Standards
Adopt an existing repo that never went through bootstrap (a "vibe-coded" app) into the standards — reverse-engineer the /spec from the code, triage productionization (Keep/Refactor/Rewrite/Reject per area), and sync the plugin's bundled scaffolding without clobbering working code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/steer:adoptWhen to use
Use when a repo has working code but no /spec spine and no mise.toml, or when asked to adopt or onboard an existing app onto the standards.
This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Bring a repo that never went through bootstrap — a "vibe-coded" app with
Bring a repo that never went through bootstrap — a "vibe-coded" app with
working code but no /spec, no mise.toml, no CI, no plugin install — into the
standards. You reverse the Greenfield spec flow: read the code, write the spec
and the design it implies, assess what's missing for production, and sync in
the scaffolding the plugin bundles. The result is a feat/* branch and a PR for
dev review — that review is the productionization gate.
This is whole-repo Brownfield adoption. For a brand-new repo (or a legacy
template fork), use /steer:init instead; for a single feature
change to an already-adopted repo, use the normal spec workflow
(/steer:spec).
These govern every phase and outrank any procedural detail. If a step in the runbook seems to conflict with one of these, the guardrail wins.
PRODUCTIONIZATION.md, not as
ratified ADRs. Code proves a choice exists, never why it was made or that
anyone authorized it. An ADR is authored only when a human makes an explicit
forward decision, and stays Proposed until the named decider accepts it —
adoption never manufactures a rationale or an Accepted status from code alone,
and PR approval does not ratify it.## Open questions (or vision.md for product-level) — never guessed into the spec.
PO-acceptance boxes stay unchecked; the PO has not validated extracted
intents. Run /steer:questions to resolve open questions.DESIGN.md is never overwritten by the template stub.PRODUCTIONIZATION.md against the current template
(Phase 2) and splice in newly-added sections/rows before reading the
checklist or proposing next steps. Never overwrite filled-in analysis; never
restart from scratch.Work on a feat/adopt branch — never commit to main (commit-autonomy
rule). Commit the reverse-engineered spine + scaffold as coherent units without
asking; push and the PR wait for the dev (the one publishing step Commit
autonomy gates).
If /spec/PRODUCTIONIZATION.md or the older /spec/PRODUCTION-READINESS.md
exists, you are resuming a prior adoption — and that file may have been written
under an older plugin version whose template lacked sections this version
adds (the file was renamed PRODUCTION-READINESS.md → PRODUCTIONIZATION.md in
v1.22.0, so the old name on disk is a resume signal — Phase 2 git mvs it
first). Before you read its checklist, summarize status, or pick next steps,
your first action is to reconcile it against the current bundled template
(Phase 2). Do not skip this because the file "looks complete" — a newly added gate
is invisible precisely because it isn't in the file yet.
Execute these in order. Each phase below is a one-line summary; the detailed
step-by-step procedure for every phase lives in
PROCEDURE.md — read the
phase you are on there before executing it.
/spec, no mise.toml, not a template
fork; detect the stack; branch feat/adopt. → PROCEDURE Phase 1vision.md / users.md /
glossary.md by interviewing the human; unknowns → ## Open questions.
→ PROCEDURE Phase 4intent.md + contract.md from the real
code; PO-acceptance boxes stay unchecked. → PROCEDURE Phase 5PRODUCTIONIZATION.md; no ADR from inference (guardrails).
→ PROCEDURE Phase 6DESIGN.md from real tokens
(skip if no UI surface); never invent visual rules. → PROCEDURE Phase 7/apps + /packages only where
low-risk; propose large restructures. → PROCEDURE Phase 11/spec/.version, commit on feat/adopt, propose the
PR after dev confirmation, optionally publish-adoption. → PROCEDURE Phase 12## Recommended next actions block
from the observed adoption state. → PROCEDURE Phase 13npx claudepluginhub element22llc/e22-plugins --plugin steerSets up isolated workspaces using native worktree tools or git worktree fallback. Use before starting feature work to protect the current branch.