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 the user says "simplify this diff" or asks for a compression pass over a change-set. Not for dead-code sweeps: use deslop.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill simplify --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/simplifyContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user says "simplify this diff" or asks for a compression pass over a change-set. Not for dead-code sweeps: use deslop.
name: simplify description: 'Use when the user says "simplify this diff" or asks for a compression pass over a change-set. Not for dead-code sweeps: use deslop.'
| Field | Bound contract | |---|---| | Trigger | User asks to simplify a diff, PR, or branch: "simplify this diff", "tighten up", or "compress a change-set" | | Authority | Reversible local: writes only named local artifacts (working-tree and VCS commits); rollback is version control (`git revert HEAD --no-edit`). No remote mutation. | | Side effect | Applies simplification survivors as atomic issue-class commits to the working change-set; auto-reverts any commit that regresses | | Done | Exit 0: simplification landed as issue-class commits, every fix commit is green, and no new bloat was introduced |
Must be supplied:
Optional:
Derived from the diff:
1. **Phase 1: Detect diff scope.** Capture every commit since the branch diverged from its base, including staged and unstaged changes. Do not guess the base. Resolve via the first base ref that exists, then run `git diff <base>`: 1. `git merge-base HEAD origin/main` 2. `git merge-base HEAD origin/master` 3. `git merge-base HEAD main` 4. `git merge-base HEAD master` 5. `@{upstream}`
If none of the five resolve, gate on two ordered checks:
If no git context or HEAD is unborn, use user-named files supplied in the invocation. Empty after all valid resolutions → exit 11.
**Explicit-base override:** `simplify against <ref>` bypasses the resolution above and runs `git --no-pager diff "<ref>"` directly.
Done when: the diff is captured or an exit code is returned.
2. **Phase 2: Dispatch three review agents in one `task` call.** Issue a single `task` tool call with a `tasks` array of three items, never three sequential messages. Each agent receives `<axis-prompt from references/> + "\n\n---\n\nDIFF:\n" + <captured diff>`. All three agents are read-only; disjoint axes; independence asserted in the spawn message: > "Three agents dispatched in parallel. Axes are disjoint by construction: reuse-axis owns Graft (existing-utility detection), quality-axis owns Excess + Sprawl on code shape, efficiency-axis owns Excess + Sprawl on execution cost. All three agents are read-only; none edits files; none reads or writes shared mutable state."
Agent type: `Explore` (read-only).
Axes:
See `references/orchestration.md` for the concrete dispatch shape and shell snippet.
Done when: all three agents return their findings.
3. **Phase 3: Audit, then apply.** Wait for all three agents. Aggregate findings by `{axis, file, line, issue-class}`. Deduplicate identical cross-axis findings: keep each once, attribute it to the first reporter, and note the second axis as a co-signer. Dispatch a Reviewer agent (also `Explore`-typed and read-only) to audit the composed list for completeness, consistency, accuracy, and scope. The Reviewer's output is the **validated survivor set**. The orchestrator applies survivors directly, one issue class per atomic commit, and drops non-survivors without comment or re-adjudication. After each commit, run repo-native tests. On red, auto-revert via `git revert HEAD --no-edit` and stop that class's run.
Commit sequencing by class: 1. Duplicate commit: reuse-axis survivors + any other axis flagged `issue-class: duplicate` 2. Excess-surface commit: quality-axis + efficiency-axis survivors flagged `issue-class: excess-surface` 3. Structure commit: quality-axis + efficiency-axis survivors flagged `issue-class: structure`
Commit message format: capitalized imperative subject, ≤50 chars target, ≤72 hard, no trailing period.
After the final commit, audit the simplify patch itself for unneeded surface, duplicated logic, structure without cause, or a broken consumer contract. If the audit finds any, revert the entire simplify chain via `git revert <first-simplify-commit>^..HEAD --no-edit` and exit 14.
Done when: all survivor commits are applied and green, or an exit code is returned.
| Exit code | Trigger | Recovery | |---|---|---| | 0 | Clean | none | | 11 | Empty diff after all fallbacks | Pass-through, no work to do | | 12 | Findings emitted but survivor set empty after Reviewer audit | Report attached, no patch applied | | 13 | Behavior regression on a fix commit | Offending commit auto-reverted; stop simplify r
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.