agent-environment-retr…
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
Use when an implementation has more workarounds than structure and another patch will not pay. Not for in-place re-derivation: use breaking-driven. Not for one-artifact rewrites: use rewrite-clean-v0.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill restart-keeping-lessons --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/restart-keeping-lessonsContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when an implementation has more workarounds than structure and another patch will not pay. Not for in-place re-derivation: use breaking-driven. Not for one-artifact rewrites: use rewrite-clean-v0.
name: restart-keeping-lessons description: 'Use when an implementation has more workarounds than structure and another patch will not pay. Not for in-place re-derivation: use breaking-driven. Not for one-artifact rewrites: use rewrite-clean-v0.'
| Field | Bound contract | |---|---| | Trigger | The implementation accumulated more workarounds than structure and another patch will not pay, or the human says "start over", "scrap it and rebuild", or "restart from scratch". | | Authority | Reversible local: writes only the failed-branch evidence archive and the new v0 skeleton inside the named restart scope; rollback is undo (delete the written skeleton files and archive entries; original code is never deleted). No remote mutation. No branch deletion, no force push, no history rewrite, no deletion or rewrite of original code. | | Side effect | Archives failed branches and dead code as evidence, and writes a new v0 skeleton with one vertical loop. Nothing outside the restart scope is written. | | Done | Three schema-conformant artifacts exist in the restart scope and the v0 loop clears its named first gate. |
All artifacts are written inside the named restart scope directory.
1. Keep/discard split: `<restart-scope>/RESTART-SPLIT.md` Schema: a list of entries, each with:
2. Evidence archive: `<restart-scope>/RESTART-ARCHIVE.md` Schema: a list of entries, each with:
3. v0 skeleton: `<restart-scope>/v0/` directory containing the skeleton code structured to deliver exactly one vertical loop, plus `<restart-scope>/v0/GATE.md` naming the first gate.
1. Bound the restart scope before any mutation. Name the repository path, the branches or directories being restarted, and the one vertical loop the new v0 must deliver. Name the first gate: the concrete check the vertical loop must clear. Everything outside this named scope is out of contract. Done when: the restart scope, vertical loop, and first gate are named. 2. Read what exists before discarding anything: the current plan, any lessons or notes from the prior attempt, the QA evidence, and the complaint that triggered the restart. Confirm the complaint and QA evidence actually describe this build; a mismatch stops the skill before any write. Done when: the complaint, QA evidence, and prior lessons are read and confirmed to match the named scope. 3. Split the existing build into keep and discard, citing evidence for every entry (a surviving test, a gate result, a schema that survived QA, the complaint text). Keep only what earned it: contracts, schemas that survived QA, quality gates, vocabulary, reusable services, real-surface tests. No copy-forward unless the evidence supports it. Done when: every item has a keep or discard decision with an evidence citation. 4. Write the keep/discard split to `<restart-scope>/RESTART-SPLIT.md` following the artifact schema. Archive discards into `<restart-scope>/RESTART-ARCHIVE.md` with one-line failure notes. Original code is never deleted or rewritten; the archive records what was discarded and why, not the deletion itself. Done when: both files exist and conform to their schemas. 5. Write a v0 skeleton to `<restart-scope>/v0/` carrying the kept lessons, structured to deliver exactly that one complete vertical loop. Discover the project build and verification commands from the project manifest: read `Makefile`, `justfile`, `package.json` scripts, `Cargo.toml`, `CMakeLists.txt`, or equivalent to find the build command and the test or verification command. Record them in the skeleton. Done when: the v0 skeleton exists with one vertical loop structure and the discovered build and verification commands recorded. 6. Build only that loop until it clears the named first gate, using the discovered build and verification commands. Anything beyond the loop waits; a second loop, an extra subsystem, or an out-of-scope change is a stop-and-report condition, not an extension. Done when: the loop clears the first gate, or the gate failure is reported.
Three artifacts inside the restart scope: the keep/discard split (`RESTART-SPLIT.md`) with per-entry evidence citations, the evidence archive (`RESTART-ARCHIVE.md`) of failed branches and negatives with failure notes, and the v0 skeleton (`v0/` with `GATE.md`) containing one complete vertical loop
Formerly the ODIN Claude Plugin. The repository URL is unchanged. Outline-Driven Development, nicknamed ODIN, is a highly opinionated code-agent skill library: principles-first engineering, surgical editing, and workflow automation, published as installable
Repo: OutlineDriven/odin-claude-plugin
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not for remote, credential,…
Use when a human explicitly asks for a full repository agent-compatibility pass returning a scored report with prioritized fixes. Not for tasks that require…
Use when setting up a project, auditing agent command permissions, or asking which read-only bash commands and domains to allow. Not for remote, credential,…
Use when asked to build or review a CLI intended for coding agents and return flag-driven, pipeline-safe, idempotent design advice. Not for running or…
Use when the user asks to make the skills framework work in a new harness, IDE, or CLI. Not for remote, credential, publish, deploy, or irreversible changes.