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 asked to find duplication, check consistency, establish or repair SSOT, consolidate facts, or when the user says "consolidate this" or "ssotize this". Not for remote or irreversible changes.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill ssotize-audit-fold --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ssotize-audit-foldContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when asked to find duplication, check consistency, establish or repair SSOT, consolidate facts, or when the user says "consolidate this" or "ssotize this". Not for remote or irreversible changes.
name: ssotize-audit-fold description: 'Use when asked to find duplication, check consistency, establish or repair SSOT, consolidate facts, or when the user says "consolidate this" or "ssotize this". Not for remote or irreversible changes.' disable-model-invocation: true
| Field | Bound contract | |---|---| | Trigger | User asks to find duplication, check consistency, establish or repair SSOT, consolidate, unify scattered facts, or says "consolidate this" or "ssotize this". | | Authority | Human-gated: presents the full mutation plan and receives explicit approval before any mutation; every other write is reversible local, with version control as the rollback. Rollback must restore the pre-mutation state. | | Side effect | Read-only until the human approves the mutation plan. On approval, fold unique details into the canonical home and replace copies with references pointing to it. | | Done | Canonical home complete and current; every copy now references it and resolves; no unique detail lost; contradictions reconciled to one value. |
1. Classify the request. Confirm the user wants an occurrence audit and consolidation. If the ask is ambiguous, ask one clarifying question and stop. Do not widen scope. **Done when:** the request is classified or a clarification question is returned. 2. Name the truth. Restate the single statement being consolidated in one sentence, distinct from the surrounding documents. **Done when:** the statement is restated in one sentence. 3. Bound the scope. If the user named a path or pattern, start there. If not, infer the relevant directories from the codebase structure. Do not audit the entire repository unless the user explicitly asks for it. **Done when:** the scope is bounded. 4. Audit every occurrence. Find all instances of the fact class the user named. Classify each by occurrence type: Canonical home (most complete, current, or authoritative, the one to preserve), Copy (duplicates canonical content in whole or in part), Paraphrase (restates the canonical content in different words), Partial (holds only part of the content), Stale (contradicts canonical content or is demonstrably outdated), Contradictory (conflicts with another occurrence on the same fact), Out-of-scope (does not belong to the fact class being audited). **Done when:** every occurrence is classified. 5. Re-enumerate by a second method. Use a different search pattern, symbol index, or reverse direction to confirm the first pass was complete. **Done when:** the second method confirms the first pass was complete or surfaces missed occurrences. 6. Detect contradictions. If two canonical candidates contradict, present the conflict explicitly. Do not choose for the human. Stop and ask for a ruling. The consolidation cannot proceed until the contradiction is resolved. **Done when:** no contradictions remain or the conflict is surfaced for human ruling. 7. Pick the canonical home. The most authoritative, best-maintained location closest to where the fact actually changes. Propose creating a new home in scope if none exists. Never promote a weak copy because it is convenient. **Done when:** a canonical home is picked with a one-line justification. 8. Generate the mutation plan. List each action before any write occurs: the canonical home (file, path, lines), every copy to replace with a reference, every paraphrase or partial to update or merge, every stale to remove, and the exact text of every reference to be written. **Done when:** the mutation plan is complete. 9. Present for consent. Before any write, show the complete mutation plan to the human. State the authority boundary: the plan is reversible-local only if the human approves. Wait for explicit approval. If the human declines or modifies, adjust and re-present. **Done when:** the human approves the plan. 10. Validate and snapshot the write set. After human approval and before writing, confirm the canonical home and every planned target exist and match the plan. Capture each target's exact pre-write bytes and SHA-256 digest in memory as the rollback snapshot. If any target changed, stop and re-present the audit. **Done when:** every target is validated and snapshotted. 11. Execute the fold. Apply mutations in this order: (a) complete the canonical home by adding any unique details confirmed missing in step 4; (b) replace every copy with a reference pointing to the canonical home; (c) remove every stale instance; (d) verify every reference resolves correctly. **Done when:** all mutations are applied and references resolve. 12. Validate the done predicate. Conf
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.