agent-environment-retr…
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use…
Use when /polished-web-prototype runs or a user builds an artifact from a mockup, design plan, or brief. Not for variant galleries: use design-variants. Not for live audits: use web-design-review.
Claude Code
$ npx -y skills add OutlineDriven/odin-claude-plugin --skill polished-web-prototype --agent claude-code
Codex
$ npx skills add OutlineDriven/odin-claude-plugin --skill polished-web-prototype -a codex -y
Cursor
$ npx skills add OutlineDriven/odin-claude-plugin --skill polished-web-prototype -a cursor -y
Gemini CLI
$ npx skills add OutlineDriven/odin-claude-plugin --skill polished-web-prototype -a gemini-cli -y
GitHub Copilot
$ npx skills add OutlineDriven/odin-claude-plugin --skill polished-web-prototype -a github-copilot -y
OpenCode
$ npx skills add OutlineDriven/odin-claude-plugin --skill polished-web-prototype -a opencode -y
Windsurf
$ npx skills add OutlineDriven/odin-claude-plugin --skill polished-web-prototype -a windsurf -y
name: polished-web-prototype description: 'Use when /polished-web-prototype runs or a user builds an artifact from a mockup, design plan, or brief. Not for variant galleries: use design-variants. Not for live audits: use web-design-review.'
| Field | Bound contract | |---|---| | Trigger | The user runs `/polished-web-prototype` or asks to convert an approved mockup, design plan, or freeform description into a polished responsive HTML artifact. | | Authority | Reversible local: writes only the named HTML artifact file and its finalized.json metadata under the project design directory, and (for framework-native output) the package manifest and lockfile at the project root; rollback is undo. No remote mutation. When framework-native output is chosen, the only permitted mutation beyond the artifact and metadata is adding the Pretext dependency using the detected package manager. | | Side effect | The HTML artifact, finalized.json, and, for framework output, the manifest and lockfile dependency addition. A local HTTP preview server runs during refinement and is stopped at finalization. | | Done | The user accepted the artifact or chose to finalize at the 10-iteration gate; finalized.json is written with every listed field; the preview server is stopped. |
1. Detect the design source and extract the implementation spec. Look for an approved mockup image, a product or design plan, and a repo-root DESIGN.md. If none are found, ask the user to supply a freeform description or a PNG path. Record the mode: approved-mockup, plan-driven, freeform, or evolve (a prior finalized HTML exists and the user chooses to iterate on it). Build the spec: colors (hex), fonts (family and weights), spacing scale, component list, and layout type, extracted from the mockup image, the plan prose, or the freeform description. DESIGN.md tokens override extracted system-level values. Generate real content from the source; never use lorem ipsum or placeholder text. Apply the UX doctrine below to every layout and visual decision before generating any markup. The doctrine is observed user behavior, not preference:
Done when: exactly one source mode is recorded (or the user has been asked for one), the spec lists colors, fonts, spacing, components, and layout with every value sourced from the input, and each layout and visual decision traces to a named doctrine line.
2. Generate the artifact with the appropriate Pretext tier. Classify the design into a tier and state the chosen APIs:
The Pretext API:
The basic pattern: prepare all [data-pretext] elements after fonts load, store handles in a Map, run layout to set element heights, observe resize with ResizeObserver to relayout, and re-prepare on contenteditable changes with a MutationObserver.
If a framework was detected and the user chose framework output, add @chenglou/pretext to the project dependencies using the detected package manager (this edits the package manifest an
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.