agent-environment-retr…
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use…
Use when a scheduled or watcher tick requests a repository-health pass. Not for source, label, merge, or close mutation.
Claude Code
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill repo-health-triage --agent claude-code
Codex
$ npx skills add OutlineDriven/odin-claude-plugin --skill repo-health-triage -a codex -y
Cursor
$ npx skills add OutlineDriven/odin-claude-plugin --skill repo-health-triage -a cursor -y
Gemini CLI
$ npx skills add OutlineDriven/odin-claude-plugin --skill repo-health-triage -a gemini-cli -y
GitHub Copilot
$ npx skills add OutlineDriven/odin-claude-plugin --skill repo-health-triage -a github-copilot -y
OpenCode
$ npx skills add OutlineDriven/odin-claude-plugin --skill repo-health-triage -a opencode -y
Windsurf
$ npx skills add OutlineDriven/odin-claude-plugin --skill repo-health-triage -a windsurf -y
name: repo-health-triage description: 'Use when a scheduled or watcher tick requests a repository-health pass. Not for source, label, merge, or close mutation.' disable-model-invocation: true
| Field | Bound contract | |---|---| | Trigger | A scheduled or explicitly requested repository-health pass spanning CI, pull requests, issues, commits, discussions, and durable run state. | | Authority | Reversible local: writes only the bounded report file, one append-only run-log entry, and at most one isolated-fix proposal; rollback is deleting those files. No remote mutation. No source, label, merge, or close mutation without explicit approval. | | Side effect | Local-write to a bounded High/Watch/Noise report plus one append-only run-log entry and at most one isolated-fix proposal; no unapproved source, label, merge, or close mutation. | | Done | Every inspected signal lands in High, Watch, or Noise with an evidence line; the report is persisted or returned and any score stays informational, never a reason to act. |
1. Resolve the repository target and confirm read access. If access fails, stop and report the failure class. **Done when**: read access is confirmed or the failure class is reported. 2. Enumerate open pull requests. For each, record: merge conflicts (High), CI red or no CI run (High), changes-requested review state (High), idle >14 days with no activity (Watch), and all others (Noise). Each classification carries an evidence line with the PR identifier and the specific signal. **Done when**: every open PR is classified with an evidence line. 3. Enumerate open issues. For each, record: unanswered >7 days (Watch), linked CI failure (High), and all others (Noise). Each classification carries an evidence line. **Done when**: every open issue is classified with an evidence line. 4. Enumerate recent commits on the default branch. For each, record: CI status red (High), CI status missing (Watch), and CI status green (Noise). Each classification carries an evidence line. **Done when**: every recent commit is classified with an evidence line. 5. Enumerate discussions or forum threads if the repository platform supports them. For each, record: unanswered >7 days (Watch) and all others (Noise). Each classification carries an evidence line. **Done when**: every discussion is classified with an evidence line. 6. Inspect durable run state (workflow runs, scheduled job status). For each, record: failed run (High), stale run with no recent execution (Watch), and healthy run (Noise). Each classification carries an evidence line. **Done when**: every run-state item is classified with an evidence line. 7. Compile the bounded report: group all signals by classification (High, Watch, Noise). Each entry contains the signal source, identifier, evidence line, and classification. No signal appears in more than one bucket. **Done when**: the report is compiled with every signal in exactly one bucket. 8. Append one entry to the run-log: timestamp, repository target, signal counts per classification, and report file path. **Done when**: the run-log entry is appended. 9. If any High signal admits an isolated fix (typo in workflow file, missing CI config, stale label), propose exactly one fix with the target file, the proposed change, and the rationale. Do not apply the fix. If no isolated fix is available, skip this step. **Done when**: one fix proposal is made or the step is skipped. 10. Return or persist the report. Any numeric score derived from the classification counts is informational only and must not be cited as a reason to act. **Done when**: the report is returned or persisted.
A bounded report file with header (repository target, timestamp, scope), High/Watch/Noise sections with evidence lines, run-log entry, isolated-fix proposal if any, and informational score if computed, ordered: header, High, Watch, Noise, run-log, fix proposal, score.
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
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use…
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not…
Use when a human explicitly asks for a full repository agent-compatibility pass returning a scored report with prioritized fixes.…
Use when setting up a project, auditing agent command permissions, or asking which read-only bash commands and domains to allow.…
Use when asked to build or review a CLI intended for coding agents and return flag-driven, pipeline-safe, idempotent design…
Use when the user asks to make the skills framework work in a new harness, IDE, or CLI. Not for remote, credential, publish,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.