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 invokes /ios-visual-review to audit an iOS app''s visuals on a real device. Not for remote, credential, publish, deploy, or irreversible changes.
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill ios-visual-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ios-visual-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user invokes /ios-visual-review to audit an iOS app''s visuals on a real device. Not for remote, credential, publish, deploy, or irreversible changes.
name: ios-visual-review description: 'Use when the user invokes /ios-visual-review to audit an iOS app''s visuals on a real device. Not for remote, credential, publish, deploy, or irreversible changes.' disable-model-invocation: true
| Field | Bound contract | |---|---| | Trigger | The user runs `/ios-visual-review`. | | Authority | Reversible local: writes only the named review-report artifact; rollback is undo. No remote mutation. | | Side effect | Local-write to iOS screen visual-review findings (one Markdown report file). | | Done | An iOS visual-review report is produced. |
1. Acquire read-only access to the observation session. Issue no mutating calls to the device or app. 2. Determine the screen set. Use the user-supplied list when provided; otherwise, enumerate screens from the accessibility tree and confirm the set with the user before proceeding. 3. For each screen in the set: 1. Capture a screenshot. 2. Query the accessibility tree for elements. 3. Score each of the ten dimensions below 0-10 and state what would push the score to 10. 4. Record concrete findings tied to the screenshot. 4. Apply the ten-dimension rubric: 1. Typography hierarchy. Display, body, and caption sizes follow the Apple HIG dynamic-type scale on SF Pro. Line-height matches font size. No undersized body text. 2. Spacing rhythm. A 4pt or 8pt grid is applied consistently. No unexplained magic paddings. Safe-area insets are respected. 3. Color hierarchy. The primary action carries the highest contrast; secondary actions are muted; destructive actions are visually distinct. Dark mode renders correctly. Body text meets WCAG AA 4.5:1 and large text 3:1. 4. Touch targets. Every interactive element is at least 44x44pt. No tappable text smaller than 24pt. 5. Loading, empty, and error states. Each is present and intentional. No blank screens during async work. Empty states tell the user what to do next. 6. Accessibility. VoiceOver labels exist on every interactive element. Dynamic Type up to XXL does not break layouts. Reduce Motion is respected. The palette is checked against deuteranopia. 7. Animation discipline. No more than two simultaneous animations. UI feedback durations land in 200-300ms. Spring damping matches the seriousness of the flow. 8. iOS idiom alignment. Native components (NavigationStack, List, Form, system sheets) are used where appropriate. Navigation is not reinvented. No web-style hamburger menus on phone. 9. Information density. Per-screen content fits without horizontal scroll. Long screens carry section anchors. Lists use real iOS list patterns (swipe actions, contextual menus). 10. AI-slop check. No generic stock layouts, leftover placeholder data, cargo-culted Material Design imported from Android, or gradients that read as AI-generated. 5. For every dimension scoring below 7 on any screen, surface the issue with a recommended fix and its tradeoff and let the user decide whether to address it. Do not auto-apply fixes. 6. Write the report artifact described under Output. Done when: every reviewed screen has ten scores, concrete findings, and one highest-impact fix per dimension, while unscored screens carry their blocker.
A Markdown report written to a local path under the project directory, named `ios-visual-review-<date>.md`. It contains, per screen: the screenshot, the 0-10 score for each of the ten dimensions, the what-would-make-it-a-10 note for each dimension, and one highest-impact fix per dimension. Screens scoring below 7 on any dimension are flagged with the surfaced fix and tradeoff. The report is the terminal deliverable; no source, device, or app state is changed.
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.