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 contradictions, revisit conditions, or duplicates appear in knowledge entries. Not for remote, credential, publish, deploy, or irreversible changes.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill keep-why-maintenance --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/keep-why-maintenanceContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when contradictions, revisit conditions, or duplicates appear in knowledge entries. Not for remote, credential, publish, deploy, or irreversible changes.
name: keep-why-maintenance description: 'Use when contradictions, revisit conditions, or duplicates appear in knowledge entries. Not for remote, credential, publish, deploy, or irreversible changes.' disable-model-invocation: true
| Field | Bound contract | |---|---| | Trigger | Contradiction found between entries, an entry's Revisit-when condition fires, entries conflict or duplicate, or a topic file grows too large. | | Authority | Reversible local: writes only named topic files; rollback is version control. No remote mutation. | | Side effect | Status flips, superseded markers ('> Superseded <date>: see below') instead of deletion, duplicate merge, file split proposal. | | Done | No silent historical overwrite; superseded content retained with marker; splits proposed rather than unbounded growth; maintenance changes get the same scrutiny as new entries. |
1. **Scan and classify.** Read the topic file. Identify which trigger condition fired and which entries are involved. If the trigger is ambiguous, stop and request clarification rather than guessing. Done when: one trigger class is identified and the affected entries are named.
2. **Determine authorization tier.** Mechanical status flips (e.g., marking an entry as revisited or flagging a revisit-when condition as fired) require no judgment, so proceed directly. Judgmental rewrites (resolving contradictions, merging duplicates, or rewriting entries) require human approval before committing. Done when: the tier is determined (mechanical or judgmental).
3. **Mechanical status flip.** For status-only changes: update the entry's status field in place. Add a timestamp to the flip. No superseded marker is needed for status transitions. Done when: the status field is updated with a timestamp.
4. **Judgmental rewrite.** For contradiction resolution or duplicate merge: a. Copy the superseded entry verbatim below its current position. b. Prepend the marker `> Superseded <YYYY-MM-DD>: see below` to the copied block. c. Write the new or merged entry below the superseded block with updated reasoning. d. Merge duplicates into one entry that preserves the combined reasoning from both originals. Done when: the superseded block carries its marker and the new/merged entry is written below it.
5. **Oversized file handling.** If a topic file grows too large, propose a split into logical sub-topics. Name the proposed file boundaries and explain the rationale for each. Do not execute the split; propose it for human approval. Done when: a split proposal with named boundaries and rationale is produced.
6. **Diff review.** After all edits, review the diff. Confirm: (a) no entry was silently overwritten, (b) every superseded block carries the marker with date, (c) no content was deleted without a superseded marker. Done when: the diff confirms no silent overwrite, every superseded block is marked, and no unmarked deletion occurred.
7. **Human approval.** Present the complete diff for approval before committing. Include mechanical flips and judgmental rewrites so the human can review the full change set. Done when: the human approves the complete diff.
Modified topic file with status flips, superseded markers, and merge results applied, plus a maintenance report listing changes made, entries affected, and any split proposals pending human decision, all VCS-recoverable.
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.