{"slug": "show-hn-pristine-an-agent-skill-that-critiques-and-polishes-web-ui", "title": "Show HN: Pristine – an agent skill that critiques and polishes web UI", "summary": "Developer maddhruv released Pristine, an open-source agent skill that critiques and polishes web UI, distributed via a plugin marketplace and installable with `npx skills add maddhruv/pristine` for Claude Code, Codex, GitHub Copilot, Cursor and any agent that reads `SKILL.md`. Pristine scores a page out of 10 across 11 Dimensions through defined Personas and offers four commands — `/pristine init`, `/pristine critique`, `/pristine design` and `/pristine polish` — with 16 named Lenses such as bolder, typeset and harden; the author reports one `/pristine polish` run moving a page from 3.5/10 to 9.5/10 across eight published before/after pairs. The skill captures pages in light and dark, desktop and mobile using a browser tool the agent already has or a bundled `scripts/capture.mjs` that installs a private Playwright Chromium into `~/.cache/pristine-capture`, requiring Node 18+ for the bundled scripts.", "body_md": "An agent skill that makes web UI pristine. It looks at the real page (light and dark, desktop and mobile), judges it through the eyes of the people who use your product, and either scores it honestly or fixes it.\n\nWorks with Claude Code, Codex, GitHub Copilot, Cursor and any agent that reads `SKILL.md`.\n\n**Site and examples:** [https://pristine-ui.pages.dev](https://pristine-ui.pages.dev)\n\n| Before (3.5/10) | After one `/pristine polish` (9.5/10) | \n|---|---|\n\nEight real before/after pairs, with the full critique and every change: [https://pristine-ui.pages.dev/#examples](https://pristine-ui.pages.dev/#examples)\n\n| Command | What it does | Edits code | \n|---|---|---|\n| `/pristine init` | Reads your code, asks only what it can't see, and writes `DESIGN.md` : product, Personas, brand, design system. | yes | \n| `/pristine critique <target>` | Scores a page out of 10 across 11 Dimensions, through each Persona, with the exact fix for every finding. | no | \n| `/pristine design <brief>` | Builds a new page, component or flow, or redesigns one in a new direction. | yes | \n| `/pristine polish [lenses] <target>` | Keeps the look and raises every detail. The default for a bare `/pristine` on existing UI. | yes | \n\nA target can be a URL, a pasted screenshot, a file path or a feature name. Name Lenses after `polish` to force them, for example `/pristine polish bolder typeset the hero`. There are 16: bolder, colorize, typeset, quieter, decolorize, distill, layout, adapt, consistency, animate, delight, overdrive, clarify, harden, optimize, polish-details.\n\nFull reference with examples: [https://pristine-ui.pages.dev/docs/](https://pristine-ui.pages.dev/docs/)\n\n```\n/plugin marketplace add maddhruv/pristine\n/plugin install pristine@pristine\ncodex plugin marketplace add maddhruv/pristine\ncodex plugin add pristine@pristine\ncopilot plugin marketplace add maddhruv/pristine\ncopilot plugin install pristine@pristine\nnpx skills add maddhruv/pristine\ngit clone https://github.com/maddhruv/pristine ~/pristine\nln -s ~/pristine/skills/pristine ~/.claude/skills/pristine   # or ~/.copilot/skills, ~/.agents/skills\n```\n\nThen, in your project, run `/pristine init` once and `/pristine` on whatever you're building.\n\nPristine captures pages before it judges them. It uses a browser tool your agent already has (Claude in Chrome, an agent browser, Playwright MCP). If there is none, `scripts/capture.mjs` installs a private Playwright Chromium into `~/.cache/pristine-capture` on first run. Node 18+ is required for the bundled scripts.\n\n```\nskills/pristine/\n  SKILL.md              entry point: commands, routing, non-negotiables\n  agents/openai.yaml    display metadata for Codex\n  reference/            one file per command, plus capture, craft floor\n  reference/lenses/     the 16 Lenses\n  reference/patterns/   landing pages, dashboards, onboarding, motion recipes, ...\n  scripts/capture.mjs   light/dark x desktop/mobile screenshots, zoom, element capture\n  scripts/detect.mjs    static scan for common UI defects\nsite/                   the showcase (Astro, Cloudflare Pages), built with Pristine\n.claude-plugin/         plugin and marketplace manifests\n```\n\nSee [CONTRIBUTING.md](https://github.com/maddhruv/pristine/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/maddhruv/pristine/blob/main/CODE_OF_CONDUCT.md). Bug reports that include the session, the harness and the model are the most useful thing you can send.", "url": "https://wpnews.pro/news/show-hn-pristine-an-agent-skill-that-critiques-and-polishes-web-ui", "canonical_source": "https://github.com/maddhruv/pristine", "published_at": "2026-10-23 04:01:43+00:00", "updated_at": "2026-10-23 04:15:06.677301+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-products"], "entities": ["Pristine", "maddhruv", "Claude Code", "Codex", "GitHub Copilot", "Cursor", "Playwright", "Cloudflare Pages"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-pristine-an-agent-skill-that-critiques-and-polishes-web-ui", "markdown": "https://wpnews.pro/news/show-hn-pristine-an-agent-skill-that-critiques-and-polishes-web-ui.md", "text": "https://wpnews.pro/news/show-hn-pristine-an-agent-skill-that-critiques-and-polishes-web-ui.txt", "jsonld": "https://wpnews.pro/news/show-hn-pristine-an-agent-skill-that-critiques-and-polishes-web-ui.jsonld"}}