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 thumbnail concepts need real-size, accuracy-first scoring without misleading claims. Not for generating thumbnails or declaring winners that fail the accuracy rubric.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill thumbnail-accuracy-scorecard --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/thumbnail-accuracy-scorecardContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when thumbnail concepts need real-size, accuracy-first scoring without misleading claims. Not for generating thumbnails or declaring winners that fail the accuracy rubric.
name: thumbnail-accuracy-scorecard description: 'Use when thumbnail concepts need real-size, accuracy-first scoring without misleading claims. Not for generating thumbnails or declaring winners that fail the accuracy rubric.' disable-model-invocation: true
| Field | Bound contract | |---|---| | Trigger | Thumbnail concepts need real-size, accuracy-first scoring without misleading claims. | | Authority | Human-gated: asks for asset approval before rendering approved assets; otherwise reversible local: writes only named local artifacts; rollback is undo. No remote mutation. | | Side effect | Accuracy-gated thumbnail scorecard with per-dimension scores and an immutable receipt. | | Done | One accurate winner and two accurate runners-up clear the fixed rubric threshold. | | Stop | No accurate winner; approval blocked; budget exhausted. Bound: platform, audience, rubric, assets, round cap. |
| Dimension | Weight | Criterion (0 to 10 scale) | |---|---|---| | Claim accuracy | 0.30 | The thumbnail text and imagery accurately represent the content. No exaggerated claims, misleading titles, or false implications. | | Visual clarity | 0.25 | The subject is recognizable at the target platform's display size. Text is legible at thumbnail dimensions, not just at full resolution. | | Composition fidelity | 0.20 | The layout matches the platform's safe-zone constraints. No critical elements are cropped or obscured by platform UI overlays. | | Color and contrast | 0.15 | The color palette and contrast are appropriate for the platform and do not mislead about the content tone. | | Brand consistency | 0.10 | The thumbnail aligns with the creator or product brand identity. |
The aggregate score is the weighted sum. The threshold is 7.0. A thumbnail that scores below 5.0 on claim accuracy cannot pass regardless of aggregate, because misleading claims are disqualifying.
Tie-breaking: if two thumbnails tie on aggregate, the higher claim-accuracy score wins. If still tied, the higher visual-clarity score wins. If still tied, both are declared runners-up and no winner is selected.
1. Bind the declared bound and freeze it. Record the platform, audience, rubric, assets, and round cap. Done when: the bound is recorded and no mutation has begun. 2. Render each asset at the real platform dimensions. Source the dimensions from the platform's published specification. Do not score at non-standard sizes. Obtain asset approval before rendering. Done when: every asset is rendered at the target platform dimensions. 3. Score each render against the fixed rubric. Score each dimension independently on the 0 to 10 scale. Record the per-dimension score, the aggregate, and whether the aggregate clears the threshold. Apply the disqualification rule: a claim-accuracy score below 5.0 disqualifies regardless of aggregate. Done when: every render has a complete scorecard. 4. Rank the thumbnails by aggregate score. Apply tie-breaking if needed. Select the winner (highest aggregate, threshold cleared, not disqualified) and two runners-up. Done when: the winner and runners-up are selected, or no accurate winner exists. 5. Stop at outcome.success (one winner and two runners-up clear the threshold), outcome.non_success (no accurate winner), or outcome.bound (round cap or budget reached). Done when: a terminal class is assigned. 6. Persist per profiles.persistence.P1 (durable_location `.outline/loops/thumbnail-accuracy-scorecard/<run_id>/` when durable). Write an immutable K11 receipt with every K11 field. Done when: the receipt is written with the terminal class, bound, and scorecard evidence.
A `receipt.json` with the terminal class, bound, per-thumbnail scorecard evidence (per-dimension scores, aggregate, threshold, disqualification status, rank), the winner and runners-up or the non-success terminal, persisted at `.outline/loops/thumbnail-accuracy-scorecard/<run_id>/`.
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.