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 asking "overkill?", "elegant?", "audit", or "taste-test this", or setting a taste register. Not for tasks that require source or remote-system changes.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill taste --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tasteContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when asking "overkill?", "elegant?", "audit", or "taste-test this", or setting a taste register. Not for tasks that require source or remote-system changes.
name: taste description: 'Use when asking "overkill?", "elegant?", "audit", or "taste-test this", or setting a taste register. Not for tasks that require source or remote-system changes.'
| Field | Bound contract | |---|---| | Trigger | User asks 'overkill?', 'elegant?', 'audit', or 'taste-test this', or asks to set a taste register | | Authority | Read-only. No file, VCS, credential, paid, published, deployed, or remote mutation. | | Side effect | Audit returns a verdict table and ranked fixes in chat; anchor mode persists the register best-effort; no files are written. | | Done | A per-anchor verdict table with ranked top-3 fixes is returned, or the taste register is loaded in anchor mode. |
Auto-detect from the user's phrasing, with slash-arg override:
1. User wording matches `overkill?`, `elegant?`, `audit`, `taste-test this`, `judge this` → **audit** mode. 2. User wording matches `taste anchor`, `taste mode`, `taste register`, or anticipates producing fresh work → **anchor** mode. 3. Anything else → **audit** (default; cheaper to run; no behavior commitment). 4. Explicit override: `/taste audit` or `/taste anchor`. Override always wins.
1. Walk the eleven anchors one at a time against the artifact. 2. For each anchor: state the anchor, judge the artifact (pass / warn / fail), cite the Side A or Side B charter row when violated, and write a concrete fix. 3. When two anchors fail with conflicting fixes (e.g., Restraint says compress, Generosity says expand), surface the tension explicitly. Do not auto-pick. Tie-break is user-led. 4. Close with the top-3 ranked fixes.
1. Load the charter and anchors as imperatives for subsequent responses. 2. Persistence is best-effort: applies until the user signals "stop taste" or "normal mode" OR context is compacted, whichever comes first. 3. Re-invoke `/taste anchor` if drift is observed.
Suspend the register temporarily for:
Resume the register once the high-stakes section ends.
Side A: slop (centroid-AI default convergence): generic openers ("Sure!", "Of course"), hedge-stacks ("perhaps it might be"), validation phrases ("you're absolutely right"), AI-flat prose with no rhythm, default palettes, defensive nil-checks where impossible, 50/50 decision hedges that pick nothing.
Side B: overkill (decoration covering thin ideas): gradient stacks on every section, thesaurus-soup prose ("orchestrate the comprehensive synthesis of"), abstraction towers (4 layers where 1 suffices), complexity-flex masking absent conviction, ceremony that performs depth without delivering it.
| Domain | Side A (slop) | Side B (overkill) | |----------|------------------------------------------|------------------------------------------| | Prose | "I think this might possibly help..." | "We orchestrate a paradigm shift across" | | Code | `try { x } catch { /* swallow */ }` | `Factory<Builder<Strategy<T>>>` | | Design | Default purple-blue gradient | Gradient on every section + glow + glass | | Decision | "Both options have merit, so..." | 12-criterion weighted scoring matrix |
Eleven anchors apply across prose, code, design, and decisions:
| Anchor | Directive | |---|---| | Clarity | The artifact says what it means; reader does not have to decode. | | Hierarchy | Important looks important; secondary supports. | | Intent | Every choice is committed; nothing reads as "I let the default decide." | | Coherence | Parts agree; tension only where deliberately staged. | | Restraint | Default posture; compress before adding. | | Generosity | Gives more than required at the right moment. | | Honesty | No decoration covering missing depth; no slop covering missing POV. Care finishes the unseen. | | One strong moment | Exactly one commitment carries the lift; the rest supports. | | Invariants | The artifact names what must hold; preconditions, postconditions, and invariants are explicit. | | Audience | The artifact enters through the reader's frame, not the author's. | | Emptiness | The artifact leaves space the user completes; the least assertion. |
| Failure class | Response | |---|---| | Artifact too short or ambiguous to judge | Return "insufficient surface" with the specific missing element; do not fabricate verdicts. | | Anchors produce conflicting fixes | Surface the tension; do not auto-pick. Tie-break is user-led. | | Anchor mode drift after context compaction | Re-invoke `/taste anchor`; do not assume persistence. | | User artifact is in a domain with no charter row | Apply the anchors directly; note the domain gap in the verdict table. |
No partial-result fabrication. If fewer than eleven anchors can be judged, return only the judged anchors and name the blocker.
Anchor | Verdict | Citation | Fix -------------------|---------|-----------------------|---------------------------- Clarity | pass | | Hierarchy | warn | Side A: AI-flat prose | Lead with the verdict line Intent | fail | Side A: hedge-stack | Pick one; drop "might" Coherence | pass | | Restraint | warn | Side B: ceremony | Cut the framing paragraph Generosity | pass | | Honesty | pass |
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.