impeccable

AIApache-2.0

impeccable release notes.

Latest skill-v4.3.1 · by impeccableWritten in JavaScriptWebsitepbakaus/impeccableRSS

Release activity

Release activity — 41 releases across 13 days since Jul 1, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jul 1, 2026. Older weeks are hidden at this screen width.
JunJulAugSep
SundayNo releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026No releases on Aug 30, 20263 releases on Sep 6, 2026
MondayNo releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026No releases on Aug 17, 2026No releases on Aug 24, 2026No releases on Aug 31, 2026No releases on Sep 7, 2026
TuesdayNo releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 20263 releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 2026No releases on Sep 1, 20266 releases on Sep 8, 2026
Wednesday2 releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 20264 releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 20263 releases on Aug 26, 20261 release on Sep 2, 20261 release on Sep 9, 2026
ThursdayNo releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 20261 release on Jul 23, 20263 releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026No releases on Aug 20, 2026No releases on Aug 27, 2026No releases on Sep 3, 2026
FridayNo releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 20264 releases on Aug 14, 2026No releases on Aug 21, 2026No releases on Aug 28, 20265 releases on Sep 4, 2026
SaturdayNo releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 2026No releases on Aug 29, 20265 releases on Sep 5, 2026

41 releases since Jul 1, 2026, busiest day 6

Changelog

skill-v4.3.1Latest

Skill 4.3.1

Changed 1
  • Blocked cache writes and failed engine downloads now identify the required engine version, cache location, and recovery steps
Fixed 1
  • Unwritable download locations on Windows now report an error instead of leaving the launcher waiting for input

From impeccable

  • Useful errors instead of silent exits. Blocked cache writes and failed engine downloads now identify the required engine version, cache location, and recovery steps. Automatic first-use downloads and reuse of the cached engine are preserved.

  • Windows setup stops cleanly. Unwritable download locations report an error instead of leaving the launcher waiting for input.

View originalPermalink
How skill-v4.3.1 went
skill-v4.3.0

Skill 4.3.0

Added 2
  • Generate illustrations and objects with transparent backgrounds ready to overlay on custom colors and textures
  • Support GPT Image 2.5 for image generation and reference edits when using OpenAI API key
Changed 2
  • Reduce median image generation time from 88 seconds to 18 seconds with approximately 73% lower estimated cost
  • Enhance asset production checks to examine white details, fine edges, and interior gaps on light and dark backgrounds with transparency fidelity validation

From impeccable

  • Artwork that belongs on your page. Impeccable can now generate illustrations and objects with genuinely transparent backgrounds, ready to sit over your own colors and textures. Photos and full-frame artwork keep their backgrounds.

  • GPT Image 2.5 joins the workflow. Flare now powers image generation and reference edits when Impeccable uses your OpenAI key. Your agent's native image tool remains the first choice.

  • More iterations, less waiting. In our 24-image comparison, Flare reduced median generation time from 88 seconds to 18, with approximately 73% lower estimated cost.

  • Cutouts get a closer look. Asset production checks white details, fine edges, and interior gaps on light and dark backgrounds, then refines visible misses. Fidelity checks account for transparency against the reference background.

View originalPermalink
How skill-v4.3.0 went
cli-v4.1.0

CLI 4.1.0

Added 4
  • Add --model and --background transparent|opaque|auto options to generate-image command
  • Preserve transparency in PNG assets through prompt embedding
  • Record background choices alongside generated images
  • Validate output paths before image generation
Changed 1
  • Change generate-image default model to GPT Image 2.5 Flare
Fixed 1
  • Fix commands to survive spaces in install paths by quoting launcher paths correctly

From impeccable

  • Choose the model and background. generate-image defaults to GPT Image 2.5 Flare and adds --model and --background transparent|opaque|auto for generation and reference edits.

  • Reusable PNG assets. Transparency survives prompt embedding, background choices are recorded alongside the image, and output paths are validated before generation.

  • Commands survive spaces in install paths. Comp-workflow instructions quote launcher paths correctly while preserving prefixes such as npx impeccable.

View originalPermalink
How cli-v4.1.0 went
engine-v0.1.5

impeccable engine engine-v0.1.5

Added 1
  • Prebuilt impeccable engine binaries for engine-v0.1.5 that are downloaded by the launcher, npm shim, and impeccable install on first run

From impeccable

Prebuilt impeccable engine binaries (engine-v0.1.5). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

View originalPermalink
How engine-v0.1.5 went
skill-v4.2.3

Skill 4.2.3

Added 1
  • Impeccable skill extension is now available for installation from the VS Code Marketplace for GitHub Copilot users
Changed 5
  • Design hooks in monorepos now respect each app's DESIGN.md with repository fallback and no sibling leakage
  • Stop pass now distinguishes pre-existing findings from new ones when a trustworthy edit baseline is available
  • Agent now uses readable references and discloses checks it could not run when the launcher is blocked
  • Surface briefs stay distinct when long target paths share a prefix
  • New designs and approved system changes now require both design tokens and their sidecar metadata
Fixed 2
  • Engine 0.1.4 fixes Windows update prompts and CSP configuration discovery
  • Engine 0.1.4 trusts certificates installed in the operating system's certificate store

From impeccable

  • Design hooks respect each app. In monorepos, post-edit, before-edit, and Stop checks use the target app's DESIGN.md, with repository fallback and no sibling leakage. Thanks to @tylerjryan for the report and proposed approach.

  • Stop findings distinguish existing debt. When a trustworthy edit baseline is available, the Stop pass separates pre-existing findings from new ones; uncertain attribution is stated explicitly.

  • Windows and managed-network fixes. Engine 0.1.4 fixes Windows update prompts and CSP configuration discovery, and trusts certificates installed in the operating system's certificate store.

  • Clearer fallback when the launcher is blocked. The agent uses readable references and discloses checks it could not run. Surface briefs also stay distinct when long target paths share a prefix.

  • Document the finished design. New designs and approved system changes require both design tokens and their sidecar metadata; ordinary extensions preserve an unchanged design system.

  • Install from the VS Code Marketplace. GitHub Copilot users can install the Impeccable skill extension without copying files into a project. This skill-only package does not install design hooks.

View originalPermalink
How skill-v4.2.3 went
cli-v4.0.5

CLI 4.0.5

Fixed 3
  • Windows updates can now prompt normally using line input instead of unsupported raw terminal mode, without automatically accepting the update
  • HTTPS works with managed certificates by trusting the operating system's certificate store including organization-installed certificates while keeping certificate verification enabled
  • Windows CSP discovery recognizes normalized paths and design hooks load per-app monorepo rules and distinguish existing Stop findings where an edit baseline is available

From impeccable

  • Windows updates can prompt normally. Interactive confirmations use line input instead of unsupported raw terminal mode, without automatically accepting the update.

  • HTTPS works with managed certificates. Engine requests trust the operating system's certificate store, including organization-installed certificates, while keeping certificate verification enabled.

  • More accurate project checks. Windows CSP discovery recognizes normalized paths; design hooks load per-app monorepo rules and distinguish existing Stop findings where an edit baseline is available.

View originalPermalink
How cli-v4.0.5 went
engine-v0.1.4

impeccable engine engine-v0.1.4

Added 1
  • Prebuilt impeccable engine binaries for engine-v0.1.4 that are downloaded by the launcher, npm shim, and impeccable install on first run

From impeccable

Prebuilt impeccable engine binaries (engine-v0.1.4). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

View originalPermalink
How engine-v0.1.4 went
skill-v4.2.2

Skill 4.2.2

Added 1
  • DeepSeek Harness is now a supported provider with project and global installation support
Changed 1
  • Decision pages use system fonts and an inline SVG logo with a light theme instead of external fonts
Fixed 2
  • Setup now handles a refused launcher by instructing the agent to disclose the limitation and use readable references without claiming checks ran
  • Claude plugin launcher paths now resolve from the skill directory
Removed 1
  • Remove Google Fonts requests and bundled font files from the picker

From impeccable

  • DeepSeek Harness joins the supported providers. Install the skill into .dsh/skills, with project and global installation support. Thanks to @sheecegardezi for the contribution.

  • No external fonts in the picker. Decision pages use system fonts and an inline SVG logo, with a light theme and no Google Fonts requests or bundled font files.

  • Setup handles a refused launcher. Guidance now tells the agent to disclose the limitation and use readable references when the host blocks the engine, without claiming checks ran. Claude plugin launcher paths also resolve from the skill directory.

View originalPermalink
How skill-v4.2.2 went
cli-v4.0.4

CLI 4.0.4

Added 1
  • Install and update DeepSeek Harness skills using --providers=dsh for project or global installs, including custom DSH_HOME locations and Windows paths
Changed 1
  • Decision picker uses system fonts and inline SVG logo instead of external font requests and adopts the light theme

From impeccable

  • Install and update DeepSeek Harness skills. Use --providers=dsh for project or global installs, including supported custom DSH_HOME locations and Windows paths.

  • A lighter decision picker. System fonts and an inline SVG logo replace external font requests, and the picker adopts the light theme.

View originalPermalink
How cli-v4.0.4 went
engine-v0.1.3

impeccable engine engine-v0.1.3

Added 1
  • Prebuilt impeccable engine binaries for engine-v0.1.3 that are downloaded on first run by the launcher, npm shim, and impeccable install

From impeccable

Prebuilt impeccable engine binaries (engine-v0.1.3). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

View originalPermalink
How engine-v0.1.3 went
skill-v4.2.1

Skill 4.2.1

Added 1
  • Non-interactive Claude sessions can discover the skill
Changed 4
  • Windows engine is now signed by Renaissance Geek, Inc. with a timestamped publisher signature
  • Launcher now distinguishes missing or removed downloads from checksum failures, including files removed while entering the cache
  • Command entry points are clearer
  • Advice-only requests stay read-only
Fixed 1
  • Documentation links to test fixtures now resolve from installed skills

From impeccable

  • Windows engine signed by Renaissance Geek, Inc. New installs use engine 0.1.2, with a timestamped Windows publisher signature. Signing verifies the publisher; it does not guarantee that every antivirus will accept the file.

  • Clearer download failures. The launcher distinguishes missing or removed downloads from checksum failures, including files removed while entering the cache.

  • Claude activation and workflow guidance. Non-interactive Claude sessions can discover the skill, command entry points are clearer, and advice-only requests stay read-only.

  • Working reference links. Documentation links to test fixtures resolve from installed skills.

View originalPermalink
How skill-v4.2.1 went
cli-v4.0.3

CLI 4.0.3

Changed 1
  • CLI now uses engine 0.1.2 with Windows binary signed and timestamped as Renaissance Geek, Inc

From impeccable

  • Verified Windows publisher. The CLI uses engine 0.1.2, whose Windows binary is signed and timestamped as Renaissance Geek, Inc. Both the npm platform package and fallback download use the same signed binary.
View originalPermalink
How cli-v4.0.3 went
engine-v0.1.2

impeccable engine engine-v0.1.2

Added 1
  • Prebuilt impeccable engine binaries for engine-v0.1.2

From impeccable

Prebuilt impeccable engine binaries (engine-v0.1.2). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

View originalPermalink
How engine-v0.1.2 went
cli-v4.0.2

CLI 4.0.2

Added 1
  • The CLI checks each downloaded skill bundle against a trusted release-signing key before extracting it and stops the operation without replacing installed skills if signatures are missing or downloads are altered

From impeccable

  • Signed installs and updates. The CLI checks each downloaded skill bundle against a trusted release-signing key before extracting it. Missing signatures or altered downloads stop the operation without replacing installed skills.
View originalPermalink
How cli-v4.0.2 went
engine-v0.1.1

impeccable engine engine-v0.1.1

Added 1
  • Prebuilt impeccable engine binaries for engine-v0.1.1

From impeccable

Prebuilt impeccable engine binaries (engine-v0.1.1). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

View originalPermalink
How engine-v0.1.1 went
cli-v4.0.1

CLI 4.0.1

Fixed 1
  • The `--version` and `-v` flags now report the CLI package version directly instead of the engine's baked-in version

From impeccable

  • --version reports the package version. npx impeccable --version printed the engine's baked-in 3.6.0 after the 4.0.0 release; the shim now answers --version and -v itself from its own package.json, without locating or downloading a binary.
View originalPermalink
How cli-v4.0.1 went
ext-v1.4.0

Extension 1.4.0

Added 1
  • Added offscreen permission to enable the detector to run in an offscreen document
Changed 1
  • The detector now runs as WebAssembly in an offscreen document, making it independent of a site's Content Security Policy

From impeccable

  • The detector runs as WebAssembly. The extension now takes a snapshot of the page and evaluates the rules in an offscreen document, so a site's Content Security Policy no longer decides whether the detector runs. Same rules as the CLI and live mode, built from the same source. The new offscreen permission is what makes that possible; nothing else about what the extension can see has changed.
View originalPermalink
How ext-v1.4.0 went
cli-v4.0.0

CLI 4.0.0

Added 2
  • npx impeccable runs the binary by resolving a platform package installed as an optional dependency, then the user cache, then a checksum-verified download of the pinned engine release
  • The same detection rules are available as a WebAssembly module for hosts that cannot run the binary
Changed 1
  • Downloads without a verifiable checksum are refused rather than run
Removed 1
  • The JavaScript detector API is no longer exported; the detect function has been removed

From impeccable

  • npx impeccable runs the binary. The package resolves a platform package (@impeccable/cli-<os>-<arch>) installed as an optional dependency, then the user cache, then a checksum-verified download of the pinned engine release. A download without a verifiable checksum is refused rather than run.

  • The JavaScript detector API is gone. The package no longer exports a detect function; the same rules are available as a WebAssembly module for hosts that cannot run the binary. Every documented command (detect, ignores, install, update, check, link) keeps its name, flags, and output.

View originalPermalink
How cli-v4.0.0 went
skill-v4.2.0

Skill 4.2.0

Added 1
  • Ship a small launcher that finds or downloads one static binary for your platform on first run, with a .cmd twin for Windows shells without sh
Changed 5
  • Design hook now runs in 10.6 ms instead of 46.9 ms on the same corpus and machine
  • CLI scan of 110 files finishes in 132 ms instead of 282 ms
  • Static and URL scans, live overlay, Chrome extension, and site now execute the same compiled rules
  • Live mode loader now clears variants the moment they mount instead of staying painted over them until a refresh
  • Discard now restores every wrapper of a mapped element

From impeccable

  • No runtime to install. The skill ships a small launcher that finds or downloads one static binary for your platform on first run. Windows gets a .cmd twin for shells without sh. Nothing Impeccable does needs Node, npm, or a package install any more.

  • The hook stops taxing every edit. On the same corpus and machine, the design hook runs in 10.6 ms where the Node script took 46.9 ms, and a CLI scan of 110 files finishes in 132 ms instead of 282 ms. The URL scan is unchanged, because headless Chrome is the whole cost there.

  • One rule engine everywhere. The static and URL scans, the live overlay, the Chrome extension, and the site all execute the same compiled rules, so a fix lands in every surface at once. The rule core is Apache-2.0 like the rest of the project, and a downstream package can add its own rules without forking.

  • Behavior is pinned, not re-imagined. The port replays 830 recorded command invocations and 16,058 recorded function calls against the binary and compares byte for byte, with every reviewed exception listed in the repository.

  • Live mode hands off reliably. When variants land in one HMR batch, the loader now clears the moment they mount instead of staying painted over them until a refresh, and a discard restores every wrapper of a mapped element.

View originalPermalink
How skill-v4.2.0 went
engine-v0.1.0

impeccable engine engine-v0.1.0

Added 1
  • Prebuilt impeccable engine binaries for engine-v0.1.0

From impeccable

Prebuilt impeccable engine binaries (engine-v0.1.0). The launcher, the npm shim and impeccable install download these on first run. Docs: https://impeccable.style

View originalPermalink
How engine-v0.1.0 went
skill-v4.1.3

Skill 4.1.3

Added 1
  • Phase gates measure structure, typography, material, assets, and responsive fidelity before a build can claim the approved direction is shipped
Fixed 19
  • Codex reads spec-compliant version metadata
  • OpenCode gets its slash-command bridge
  • Veto installs natively
  • Hermes is documented
  • Scripts resolve correctly through symlinks, plugin roots, and paths with spaces
  • HMR cleanup races no longer tear down active work

From impeccable

  • Comps become executable contracts. New phase gates measure structure, typography, material, assets, and responsive fidelity before a build can claim the approved direction is shipped.

  • Harness installs line up. Codex reads spec-compliant version metadata, OpenCode gets its slash-command bridge, Veto installs natively, Hermes is documented, and scripts resolve correctly through symlinks, plugin roots, and paths with spaces.

  • Live mode survives framework churn. HMR cleanup races no longer tear down active work, encoded script responses stay intact, and the fallback path can never inject raw JSX into a page.

  • Direction work stays grounded. Incumbent evidence is explicit, the winning direction absorbs the best rival ideas, PRODUCT.md keeps its schema, and internal direction contracts stay out of production output.

  • Detection gets quieter and truer. Flat type hierarchies, Roboto inside system stacks, and radius variables stop producing false alarms, while live waivers and ignore scopes apply to the surfaces that actually earned them.

  • Cleanup means cleanup. Hook reset removes installed manifest entries, critique snapshots close reliably, and review artifacts stay out of source-control suggestions.

View originalPermalink
How skill-v4.1.3 went
ext-v1.3.3

Extension 1.3.3

Fixed 4
  • Comments are stripped before matching in detector
  • oklch parses in the contrast checks
  • color-mix() hexes stop tripping gradient contrast
  • Dashed single-direction rules no longer read as grid backgrounds

From impeccable

  • The accuracy work, bundled. Rebuilds the engine with this round's detector fixes: comments are stripped before matching, oklch parses in the contrast checks, color-mix() hexes stop tripping gradient contrast, and dashed single-direction rules no longer read as grid backgrounds. The same 59 rules, quieter. Chrome and Firefox.
View originalPermalink
How ext-v1.3.3 went
cli-v3.6.1

CLI 3.6.1

Changed 2
  • Markup and stylesheet comments are stripped before regex matchers run, preventing commented-out code from raising findings
  • closest() selectors compile once per document instead of once per element for faster static scans
Fixed 5
  • Root-relative stylesheet links now resolve against the scan root, and escaped paths are refused with a warning
  • oklch color values now parse correctly in contrast checks, and hex colors inside color-mix() no longer trigger gradient contrast errors
  • Dashed single-direction rules no longer incorrectly read as grid backgrounds
  • DESIGN.md is inherited only from roots that own the path, nested workspace packages resolve their own surfaces, and pnpm workspace globs with inline comments parse correctly
  • Claude subagents install correctly, home-scoped agents refresh when stale, Grok hooks point at the global skill path, and Windows hook migration stops duplicating entries

From impeccable

  • Root-relative stylesheets resolve. A page linking /styles.css was judged without its CSS in static scans; those links now resolve against the scan root, and .. escapes are refused with a warning.

  • Comments stop matching. Markup and stylesheet comments are stripped before the regex matchers run, including Astro fences, preprocessor line comments, and script strings, so commented-out code cannot raise findings.

  • Color parsing catches up. oklch reads correctly in the contrast checks, and a hex tucked inside color-mix() no longer trips gradient contrast.

  • Grid backgrounds calm down. Dashed single-direction rules stop reading as grid backgrounds.

  • Monorepos resolve the right design system. DESIGN.md is inherited only from a root that actually owns the path, nested workspace packages own their own surfaces, and pnpm workspace globs with inline comments parse.

  • Installs repair cleanly. Claude subagents install correctly, home-scoped agents refresh when stale, Grok hooks point at the global skill path, and Windows hook migration stops duplicating entries.

  • Faster static scans. closest() selectors compile once per document instead of once per element.

View originalPermalink
How cli-v3.6.1 went
skill-v4.1.2

Skill 4.1.2

Fixed 19
  • Nested workspace packages in monorepos now own their own surfaces, explicit projectRoots win over guessing, and a parent's design system applies only when that root actually owns the path
  • Design hook installs at a path that broke on update and Grok's camelCase payloads no longer read as empty scans
  • Clean scan now clears the finding cache instead of nagging
  • Stop hook emits the decision shape Codex expects so the design gate actually gates
  • Dashed single-direction rules no longer read as grid backgrounds
  • Comments are stripped before pattern matching in detector

From impeccable

  • Monorepos find the right DESIGN.md. Nested workspace packages own their own surfaces, an explicit projectRoots wins over guessing, and a parent's design system applies only when that root actually owns the path.

  • The design hook works on Grok Build again. Installs pointed project hooks at a path that broke on update, and Grok's camelCase payloads read as empty scans. Both fixed, and a clean scan now clears the finding cache instead of nagging.

  • Codex hears the block. The Stop hook emits the decision shape Codex expects, so the design gate actually gates.

  • Fewer detector false alarms. Dashed single-direction rules stop reading as grid backgrounds, comments are stripped before pattern matching, oklch parses in the contrast checks, and a hex tucked inside color-mix() no longer trips gradient contrast.

  • Root-relative stylesheets get scanned. A page linking /styles.css used to be judged without its CSS by static detection; those links now resolve against the scan root, and .. escapes are refused with a warning.

  • Installs repair cleanly. Claude subagents install correctly again, home-scoped agents refresh when they go stale, and hook migration on Windows stops duplicating entries.

  • Windows setup output stops truncating. The context helper drains stdout and closes its sockets before exiting, so directives no longer vanish mid-boot.

  • Live mode housekeeping. The preview server refuses symlinks that lead outside your workspace, page-controlled fields are stripped before they reach the agent, and the direction page no longer hangs after a re-roll.

  • Comps keep their ground. Ground-color drift between the approved comp and the shipped page is caught on any palette now, not just cream, and the code-led fallback is deterministic.

View originalPermalink
How skill-v4.1.2 went
skill-v4.1.1

Skill 4.1.1

Added 1
  • Show a finished build a screenshot of what looks wrong and the whole review reruns against it
Fixed 2
  • The review no longer passes on bad screenshots and retakes broken or missing captures before running the review again
  • Circle masks pretending a photo was cut out are refused in favor of real cut-out assets

From impeccable

  • The review no longer passes on bad screenshots. Broken or missing captures get retaken and the review runs again on real evidence.

  • Pushing back works. Show a finished build a screenshot of what looks wrong and the whole review reruns against it.

  • No more fake cutouts. Circle masks pretending a photo was cut out are refused in favor of real cut-out assets.

View originalPermalink
How skill-v4.1.1 went
ext-v1.3.2

Extension 1.3.2

Changed 2
  • The detector now measures real gradient and image-backed grounds instead of assuming white
  • The detector accounts for elements hidden behind what sits above them
Fixed 1
  • Stop flagging quoted JSX transition values and documented shadow tokens

From impeccable

  • The quieter detector, in your browser. Ships the engine that measures real gradient and image-backed grounds instead of assuming white, accounts for elements hidden behind what sits above them, and stops flagging quoted JSX transition values and documented shadow tokens. The same 59 rules, with materially fewer false positives. Chrome and Firefox.
View originalPermalink
How ext-v1.3.2 went
cli-v3.6.0

CLI 3.6.0

Added 1
  • Hermes Agent and Google Antigravity providers are now available
Changed 3
  • data-impeccable-ignore now silences only the element carrying it rather than a whole rule across the file
  • ignore-file honors scope flags passed to it
  • Post-install next step points at agent chat instead of the terminal
Fixed 10
  • Text contrast findings now measure real gradient and image backgrounds instead of assuming white ground, account for occluded elements, and decline to score when background cannot be read
  • Quoted transition values in JSX no longer read as layout transitions
  • Documented sidecar shadow colors are allowed inside shadow contexts
  • Broken-image findings stop firing on commented-out source
  • Explicitly selected providers install without --force
  • Windows installs skip the POSIX hook guard

From impeccable

  • Contrast findings stop assuming white. Text over a gradient, over an image, or under something else was scored against an assumed white ground, which manufactured low-contrast findings on perfectly legible pages. The engine now measures the real gradient body ground, accounts for image-backed text and for elements occluded by what sits above them, and declines to guess at all when a background genuinely cannot be read.

  • Waivers you can scope. data-impeccable-ignore silences the element that carries it rather than a whole rule across the file, and ignore-file honors the scope flags you pass it.

  • Two more providers. Hermes Agent and Google Antigravity install like the rest.

  • Fewer false positives elsewhere. Quoted transition values in JSX no longer read as layout transitions, documented sidecar shadow colors are allowed inside shadow contexts, and broken-image findings stop firing on commented-out source.

  • Installs and scans that behave. Explicitly selected providers install without --force, the post-install next step points at your agent chat instead of the terminal, Windows installs skip the POSIX hook guard, Blade files turn up in directory scans, and a missing static-HTML parser dependency warns instead of quietly scanning nothing.

  • Paths with quotes or spaces stop breaking commands. Four places built shell commands by wrapping values in double quotes, which is not shell quoting. They now quote properly.

  • DESIGN.md frontmatter reads correctly. Quote escapes in YAML scalars are unescaped, so a design system carrying quoted values parses instead of losing them.

View originalPermalink
How cli-v3.6.0 went
skill-v4.1.0

Skill 4.1.0

Added 4
  • Every dealt world now carries a verdict showing the direction you are handed based on what losing worlds did better
  • IMPECCABLE'S PICK shows the model's own favourite when the dice chose otherwise
  • Change your mind mid-round by flipping a toggle to start generating comps without closing the round
  • Hermes Agent and Google Antigravity install and run natively
Changed 11
  • Full-fidelity comps replaced old sketches for improved decision-making
  • Safer and bolder aim the roll along the familiar-to-bold axis
  • The deck reads as a gradient of standing with contenders, category standard, and demoted row organized compactly
  • Stacked raise callouts became a compact cycler so the assigned card stopped towering over its neighbours
  • Adding a page keeps the world you already have with cards differing in composition rather than character
  • Each comp anchors on a screenshot of a page you already shipped
Fixed 9
  • A text-only card keeps its full read on the front and art that fails to load collapses to a field painted from the card's own palette
  • Web-only checks no longer fire against native surfaces they were never written for
  • Windows works with installs no longer tripping the POSIX hook guard and the runtime probe surviving cmd.exe metacharacters
  • Plugin subagents actually load after the generated manifest was carrying a key that suppressed them
  • Live mode reaches the dev hosts it used to refuse including ddev, Valet, and any named host that authorize by session token
  • Svelte variants render again after a printer upstream was turning the type annotation in every generated variant into invalid JavaScript

From impeccable

  • The roll argues with itself, in front of you. Every dealt world now carries a verdict, and the direction you are handed has already taken what the losing worlds did better. You choose from a hand that has been fought over.

  • What you approve looks like a page. Full-fidelity comps replaced the old sketches, which came back too rough to decide from. Generation costs the same at any fidelity, so the draft quality was buying nothing.

  • Steer the next hand instead of re-rolling blind. Safer and bolder aim the roll along the familiar-to-bold axis, and IMPECCABLE'S PICK shows the model's own favourite when the dice chose otherwise.

  • The deck reads as a gradient of standing. Contenders, then the category standard, then the demoted row last. Stacked raise callouts became a compact cycler, so the assigned card stopped towering over its neighbours.

  • Adding a page keeps the world you already have. Once identity is settled, cards differ in composition rather than character, and each comp anchors on a screenshot of a page you already shipped.

  • The board still works with no image generation. A text-only card keeps its full read on the front, and art that fails to load collapses to a field painted from the card's own palette instead of a dark void.

  • Verification knows what platform it is on. The comp side of the system was platform-aware while everything that checked the work assumed a browser. The verify-and-review pipeline now has a native leg, so an iOS or Android build is reviewed as an app.

  • Polish gathers native evidence. Its classify, triage, and verify steps map per platform instead of asking for browser evidence that a native app cannot produce.

  • The detector stops contradicting itself. Web-only checks no longer fire against native surfaces they were never written for.

  • Comp-first or code-first is your call now. Comp-first buys bolder composition for time; code-first is leaner and writes the ambition into the contract instead. init asks once, with the trade stated.

  • Change your mind mid-round. Every board carries the toggle: flip it and the open cards start generating comps without closing the round, flip back and anything already rendered stays.

  • Existing projects never re-run setup. On a project that has recorded nothing, the first flip asks whether to keep it. One machine can differ from the team in .impeccable/config.local.json.

  • Windows works. Installs no longer trip the POSIX hook guard, the runtime probe survives cmd.exe metacharacters, the decision page opens in your browser, and a successful roll stops aborting on the way out.

  • Plugin subagents actually load. Marketplace installs shipped four subagents that Claude Code silently never loaded, because the generated manifest carried a key that suppressed them.

  • Two more harnesses. Hermes Agent and Google Antigravity install and run natively, and pinned skills read correctly on Codex.

  • Critique tells you what it found. The report is spoken to you rather than written into a file you never open, and the closing question comes last instead of swallowing the report.

  • Live mode reaches the dev hosts it used to refuse. ddev, Valet, and any named host authorize by session token.

  • Svelte variants render again. A printer upstream had been turning the type annotation in every generated variant into invalid JavaScript, so nothing mounted.

  • The design hook stopped nagging. Agents record confident ignores themselves, waivers scope to the element that earned them, and files outside your project are left alone.

  • Copy edits survive the trip. Live mode's copy-edit prompt is bounded so long pages stop overflowing it, and the Claude transport delivers what it was given.

  • Motion guidance is back. Reduced-motion direction returned to the animation reference after going missing, and DESIGN.md's Layout and Shapes sections parse again.

View originalPermalink
How skill-v4.1.0 went
ext-v1.3.1

Extension 1.3.1

Fixed 2
  • The detector now resolves versioned stylesheet links such as styles.css?v=3 instead of being unable to process them
  • The detector catches standard-tracked kickers that were previously missed below the 1px tracking floor
Removed 1
  • Retire the single-font rule

From impeccable

  • The detector sees whole pages again. Ships the engine that resolves versioned stylesheet links (styles.css?v=3) instead of going blind on them, catches standard-tracked kickers that slipped under the old 1px tracking floor, and retires the single-font rule.
View originalPermalink
How ext-v1.3.1 went
cli-v3.5.0

CLI 3.5.0

Added 1
  • Installs now place Copilot and Cursor agents in project-level .github/agents/ and .cursor/agents/ directories, and in user-level ~/.copilot/agents/ and ~/.cursor/agents/ directories with shadowing warnings
Fixed 3
  • Page-level checks no longer scan raw source, preventing documentation about CSS and code samples from triggering style-related rules in CLI and browser paths
  • Stylesheet hrefs now strip query strings and hashes before resolving, preventing versioned stylesheets like styles.css?v=3 from failing silently and causing false positives
  • Kicker rule tracking floor is now proportional to font size instead of fixed at 1px, catching the common authored kicker pattern at 12px with 0.08em letter-spacing
Removed 1
  • Removed the single-font rule, which flagged legitimate type systems with a single family using weight and size contrast for hierarchy

From impeccable

  • Documentation stops flagging itself. Fifteen page-level checks used to scan raw source, so prose about CSS, code samples, and comments could trip rules like gradient-text on sites that write about design. Each check is now scoped to what it actually means: real style carriers, class attributes, or rendered text. A changelog documenting a detector rule no longer triggers it, in the CLI and the browser paths both.

  • Versioned stylesheets no longer blind the scan. A page linking styles.css?v=3 resolved the query string as part of the file path, so the lookup failed silently and every element-level check ran against unstyled markup: one finding on a page that carries eighteen. Stylesheet hrefs now strip query and hash before resolving.

  • The kicker net catches standard tracking. The most common authored kicker, uppercase at 12px with 0.08em letter-spacing, computes to a fraction under the rule's old 1px tracking floor and slipped through. The floor is now proportional to font size, and the exact shape that escaped is pinned in the fixture suite.

  • Retired: single-font. One family with weight and size contrast carrying the hierarchy is a legitimate type system, and in practice the rule mostly flagged pages that were doing exactly that. Configs that ignore it will surface as stale via doctor.

  • Installs place the Copilot and Cursor agents. Project installs write .github/agents/ and .cursor/agents/; user-level installs go to ~/.copilot/agents/ and ~/.cursor/agents/, with a warning where Copilot's user-level copies would shadow a project's newer ones.

View originalPermalink
How cli-v3.5.0 went
skill-v4.0.4

Skill 4.0.4

Added 3
  • Three more refusals on the craft floor: a system display face as a page's display voice, unicode glyphs standing in for an icon system, and hard offset shadows outside a world that is actually neobrutalist
  • Generated images carry their own prompt in metadata so an image moved between machines can still say what it is and why it exists
  • Native subagents on GitHub Copilot and Cursor emit in each harness's own custom-agent format from one source, with the reviewer correctly read-only on Cursor
Changed 8
  • The finish review now opens with a derived verdict (rebuild, fix, or ship) computed from its fidelity matrix, and the build thread must report that word verbatim
  • The reviewer spawns fresh rather than inheriting the build thread's optimism, scores recaptured screenshots only, and re-reads the craft floor so a banned element is a finding even when the comp contains nothing like it
  • Photographic hero implementation inventory now gates on medium: figures, objects, and lit material are raster whatever the stack, while geometry and motion stay vector
  • Comps are now pages rather than vignettes, with prompts leading with the surface's real structure so the model designs the actual website instead of painting a vignette
  • The chosen comp's sidecar carries approved: true so the pick survives sessions and machines, and a build with comps and no recorded pick is a material finding
  • Native and mobile-first surfaces comp portrait at device viewport, desktop web comps landscape, and the decision board adapts to either
  • Staging deals honour approval ratings the way world challengers do, so small per-surface pools stop repeating their weakest option
  • On a greenfield project, init asks once whether to use plain HTML/CSS, a named framework, or delegated, recorded in PRODUCT.md so later work can prove the choice was offered
Fixed 2
  • The component's leading comment now lives as the first child of the root layout's body rather than being stripped by build tools, and the built output is checked for the seed key
  • A sandboxed session's permission error no longer reads as the server dying; liveness now leads with the page's own heartbeat
Removed 1
  • Composition challengers are withdrawn until their catalog grows real axes

From impeccable

  • The finish review grew a spine. It opens with a derived verdict, rebuild, fix, or ship, computed from its fidelity matrix rather than felt, and the build thread must report that word verbatim.

  • It reviews the page, not the claims. The reviewer spawns fresh rather than inheriting the build thread's optimism, scores recaptured screenshots only, and re-reads the craft floor so a banned element is a finding even when the comp contains nothing like it.

  • The comp survives translation. A photographic hero used to be written down as "silhouette in SVG". The implementation inventory now gates on medium: figures, objects, and lit material are raster whatever the stack, while geometry and motion stay vector.

  • Three more refusals on the craft floor. A system display face as a page's display voice, unicode glyphs standing in for an icon system, and hard offset shadows outside a world that is actually neobrutalist.

  • Comps are pages, not vignettes. Prompts lead with the surface's real structure, so the model designs the fish market's website instead of painting the fish market.

  • The prompt travels with the asset. Generated images carry their own prompt in metadata, so an image moved between machines can still say what it is and why it exists.

  • Approval is part of the record. The chosen comp's sidecar carries approved: true, so the pick survives sessions and machines. A build with comps and no recorded pick is a material finding.

  • The surface owns its aspect. Native and mobile-first surfaces comp portrait at device viewport, desktop web comps landscape, and the decision board adapts to either.

  • The direction can no longer be silently lost. Some build tools strip a component's leading comment, taking the contract with it. It now lives as the first child of the root layout's body, and the built output is checked for the seed key.

  • Compositions leave the deal, for now. The surface roll still assigns which of your structures gets built, but the composition challengers are withdrawn until their catalog grows real axes.

  • Sharper dice. Staging deals honour approval ratings the way world challengers do, so small per-surface pools stop repeating their weakest option.

  • Native subagents on GitHub Copilot and Cursor. All four shipped roles emit in each harness's own custom-agent format from one source, with the reviewer correctly read-only on Cursor.

  • The stack is your decision. On a greenfield project, init asks once: plain HTML/CSS, a named framework, or delegated, recorded in PRODUCT.md so later work can prove the choice was offered.

  • The decision board survives sandboxes. A sandboxed session's permission error used to read as the server dying, which read as you closing the board. Liveness now leads with the page's own heartbeat.

View originalPermalink
How skill-v4.0.4 went
ext-v1.3.0

Extension 1.3.0

Added 3
  • Added kicker-above-heading ban rule
  • Added radial-spotlight-glow rule
  • Added stylesheet stripe scanning capability
Changed 1
  • Improved false-positive hardening for shadowed form ids, clipped-text gradients, and non-rendered text

From impeccable

  • The updated detector, in your browser. The extension ships the current rule engine: the new kicker-above-heading ban, the radial-spotlight-glow rule, stylesheet stripe scanning, and the latest false-positive hardening for shadowed form ids, clipped-text gradients, and non-rendered text.
View originalPermalink
How ext-v1.3.0 went
cli-v3.4.0

CLI 3.4.0

Added 2
  • Add kicker-above-heading rule to flag the first eyebrow label above any heading
  • Add radial-spotlight-glow rule to flag soft chromatic glow fading to transparent behind content
Changed 2
  • Pseudo-element stripe patterns are now caught in standalone CSS files and style blocks with source line information
  • Scans skip hidden directories and vendored paths while keeping conventional UI source dirs like .vuepress
Fixed 4
  • Forms whose id shadows the DOM API no longer crash element checks
  • background-clip: text gradients stop tripping contrast checks
  • Non-rendered text is excluded from tiny-text findings
  • Global skill installs write to the config directory OpenCode actually reads with safe migration from legacy location

From impeccable

  • Kickers are banned. New kicker-above-heading rule flags the first eyebrow label above any heading, replacing the old advisory that waited for three repeats. Breadcrumbs, datelines, card metadata, form labels, and document numbering all stay exempt.

  • New rule: radial-spotlight-glow. The soft chromatic glow fading to transparent behind content, a favorite AI default, is now a named finding, distinct from the existing halo rule.

  • Stripes hiding in stylesheets. Pseudo-element stripe patterns are now caught in standalone CSS files and style blocks, not just inline styles, and findings carry their source lines.

  • Scans skip what they should. Hidden directories and vendored paths are out of the walk, while conventional UI source dirs like .vuepress stay in; scans get faster and quieter at once.

  • Fewer false positives. Forms whose id shadows the DOM API no longer crash element checks, background-clip: text gradients stop tripping contrast, and non-rendered text is excluded from tiny-text findings.

  • OpenCode installs land where OpenCode looks. Global skill installs write to the config directory OpenCode actually reads, with the legacy location migrated safely.

View originalPermalink
How cli-v3.4.0 went
skill-v4.0.3

Skill 4.0.3

Changed 8
  • Decision page now displays every direction card with unified anatomy including thesis, palette, materials, first viewport, and honest risk, with additional content behind a Details flip
  • Page serves instantly with each card's sketch landing as it finishes, rendered through one deliberately unfinished shared frame
  • Sketches only show legible product name and one real headline while other text regions are greeked to prevent inventing specs, prices, or dates
  • Catalog inspirations appear as picture-in-picture and take over the frame on hover instead of posing as future design
  • Verdict section now scores every fix as resolved, partial, or unresolved against same-viewport recapture with open items earning another round
  • Review now detects display lettering of different character and flat CSS standing in for painted artwork as failures
  • DESIGN.md is now written from the built page by a dedicated documenter subagent recording what shipped rather than what was intended
  • Concept roll survives output truncation and comment-stripping build pipelines, catalog challengers carry a breadth axis, and failed decision-page start provides error messaging
Removed 1
  • Kickers and eyebrow labels above headings removed; headings now carry their own weight

From impeccable

  • The decision page grew up. Every direction card shares one anatomy: thesis, palette, materials, first viewport, honest risk, with the longer read behind a Details flip.

  • Sketches stream in while you read. The page serves instantly and each card's sketch lands as it finishes, rendered through one deliberately unfinished shared frame.

  • A sketch cannot invent facts. Only the product name and one real headline are legible; every other text region is greeked, so no sketch invents specs, prices, or dates.

  • Catalog inspirations stay labeled. They ride picture-in-picture as inspiration and take over the frame on hover, rather than posing as your future design.

  • The finish ends on a verdict. Every fix is scored resolved, partial, or unresolved against a same-viewport recapture. Open items earn one more round, and the final table reaches you as it stands.

  • The review got eyes for style. Display lettering of a different character fails however well the layout matches, and flat CSS standing in for painted artwork fails regardless of placement.

  • Kickers are banned. The eyebrow label above a heading leaves the craft floor entirely. The heading carries its own weight.

  • DESIGN.md is written from the built page. A dedicated documenter subagent records what shipped rather than what was intended.

  • Sturdier machinery. The concept roll survives output truncation and comment-stripping build pipelines, catalog challengers carry a breadth axis, and a failed decision-page start says why.

View originalPermalink
How skill-v4.0.3 went
skill-v4.0.2

Skill 4.0.2

Added 5
  • 188 reviewed worlds now compete as challengers, weighted by cultural strength and category merit rather than defaults
  • Public roll API serves the pool of challenger worlds
  • In an attended session, Impeccable opens a decision page showing the assigned direction, dealt challengers with quality-bar cards, re-roll option, and one-line steer
  • The skill notifies users that rendering through gpt-image-2 will bill their own API key before the first image
  • The build states its intent in a five-block contract within the artifact's opening comment: thesis, own world, story, first viewport, and form with the seed key, limited to 150 words
Changed 10
  • Model no longer selects its own direction; an outside seed determines which grounded direction is taken seriously with six challenger worlds presented alongside it
  • Each roll prints a reproducible key, and re-rolling clears the table instead of rewording rejected options
  • Impeccable automatically determines the type of job (blank slate, new page, section addition, redesign, or scoped refinement) without requiring a command
  • A redesign treats the old look as evidence and replaces it rather than polishing rejected designs
  • An addition inherits the surrounding page's world and decides only what it introduces, rather than quietly restyling the product
  • The decision page presents one committed direction rather than a ranked menu to avoid favoring the safest option
Deprecated 1
  • The /impeccable craft command is deprecated; describing the surface now accomplishes the same result

From impeccable

  • Direction by dice, not by taste. The model no longer picks its own favorite. An outside seed names which of its grounded directions must be taken seriously and deals six challenger worlds beside it, so the same brief stops landing on the same three fonts over a cream background. Every roll prints a key that reproduces it, and a re-roll clears the table rather than rewording what you turned down.

  • 188 reviewed worlds, dealt as challengers. These are not templates. A world competes against the directions the model derived from your product and wins only on merit, which is how it behaves in practice: strong cultural material beats the deck, thin categories lose to it. Ratings weight the draw, the category default never enters it, and the pool is served by a public roll API.

  • No command to pick. Just say what you want. Impeccable now works out what kind of job it is on its own: a blank slate, a whole new page inside an existing product, a section added to a page that already works, a redesign, or a scoped refinement. Each one gets a different amount of freedom, which is the part that used to go wrong. A redesign treats the old look as evidence and replaces it, rather than polishing what you asked to be rid of. An addition inherits the surrounding page's world and decides only what it actually introduces, rather than quietly restyling your product around a new idea. /impeccable craft is deprecated because of this: describing the surface does the same thing, and it no longer matters whether you knew the command existed.

  • Decide the direction in your browser. In an attended session Impeccable opens a decision page: the assigned direction leading, the dealt challengers as alternates with their quality-bar cards, and re-roll plus a one-line steer. It presents one committed direction rather than a ranked menu, because a lineup invites the safest card. You re-roll freely; the agent may only re-roll on named factual grounds, and a direction you pinned always wins.

  • See it rendered before it is built. The chosen direction gets drawn as a design-system board and a first-surface mock, then the build is corrected against it. This no longer needs a harness with a native image tool: set OPENAI_API_KEY and the skill renders through gpt-image-2 instead, telling you it bills your own key before the first image.

  • The build states its intent, then gets checked against it. Before code, the agent writes a five-block contract into the artifact's opening comment, 150 words at most: thesis, own world, story, first viewport, and form with the seed key. If a block reads like a mood, the direction is not decided yet. The finishing review then audits the render against it promise by promise, in its own agent where the harness allows.

View originalPermalink
How skill-v4.0.2 went
cli-v3.3.1

CLI 3.3.1

Added 1
  • New rule: underscore-ui-text flags functional text below an 11px floor, even when the size is on the documented ramp
Changed 2
  • `skills update` names the install it is about to touch, honors `--user` and `--project`, and asks instead of silently picking when both exist
  • The em dash rule is now advisory: reported separately, never counted as a failure, skipped by hooks by default, and it only fires on genuine saturation, and it counts HTML entities so encoded dashes no longer slip past
Fixed 2
  • User-level installs no longer write project-relative hook paths that crash when used in other projects; hooks are guarded so a missing file exits quietly instead of breaking your session
  • `detect` resolves DESIGN.md from each scan target's own project, not the directory you ran it from

From impeccable

  • User-level installs no longer write project-relative hook paths that crash every turn in other projects; hooks are guarded so a missing file exits quietly instead of breaking your session.

  • skills update names the install it is about to touch, honors --user and --project, and asks instead of silently picking when both exist.

  • The em dash rule is now advisory: reported separately, never counted as a failure, skipped by hooks by default, and it only fires on genuine saturation. It also counts HTML entities, so encoded dashes no longer slip past.

  • New rule: undersized-ui-text flags functional text below an 11px floor, even when the size is on the documented ramp. 59 rules total.

  • detect resolves DESIGN.md from each scan target's own project, not the directory you ran it from.

View originalPermalink
How cli-v3.3.1 went
skill-v4.0.1

Skill 4.0.1

Added 5
  • 188 reviewed worlds are now dealt as challengers competing on merit against directions derived from your product, with ratings weighting the draw and availability through a public roll API
  • In attended sessions, Impeccable opens a decision page showing the assigned direction leading and dealt challengers as alternates with quality-bar cards
  • The chosen direction is rendered as a design-system board and first-surface mock before the build is corrected against it
  • The build states its intent in a five-block contract (thesis, own world, story, first viewport, and form with seed key) in the artifact's opening comment at 150 words maximum before code generation
  • A finishing review audits the render against the contract promise by promise in its own agent where the harness allows
Changed 7
  • Model no longer selects its own preferred direction; an outside seed specifies which grounded direction to prioritize and generates six challenger worlds, eliminating repetition of the same three fonts over a cream background
  • Every direction roll prints a key that reproduces it, and re-rolling clears the table rather than rewording rejected options
  • Impeccable automatically determines the job type (blank slate, new page, section addition, redesign, or scoped refinement) without requiring user specification, with each type receiving appropriate freedom
  • A redesign now treats the old look as evidence and replaces it rather than polishing rejected elements
  • An addition inherits the surrounding page's world and decides only what it actually introduces instead of quietly restyling the product around a new idea
  • The decision page presents one committed direction rather than a ranked menu, with free re-rolling by the user but agent re-rolls only on named factual grounds, and pinned directions always winning
  • Rendering now uses gpt-image-2 through OPENAI_API_KEY instead of requiring a harness with a native image tool, with notification before first image that billing applies to your own key
Deprecated 1
  • /impeccable craft is deprecated because describing the surface accomplishes the same thing

From impeccable

  • Direction by dice, not by taste. The model no longer picks its own favorite. An outside seed names which of its grounded directions must be taken seriously and deals six challenger worlds beside it, so the same brief stops landing on the same three fonts over a cream background. Every roll prints a key that reproduces it, and a re-roll clears the table rather than rewording what you turned down.

  • 188 reviewed worlds, dealt as challengers. These are not templates. A world competes against the directions the model derived from your product and wins only on merit, which is how it behaves in practice: strong cultural material beats the deck, thin categories lose to it. Ratings weight the draw, the category default never enters it, and the pool is served by a public roll API.

  • No command to pick. Just say what you want. Impeccable now works out what kind of job it is on its own: a blank slate, a whole new page inside an existing product, a section added to a page that already works, a redesign, or a scoped refinement. Each one gets a different amount of freedom, which is the part that used to go wrong. A redesign treats the old look as evidence and replaces it, rather than polishing what you asked to be rid of. An addition inherits the surrounding page's world and decides only what it actually introduces, rather than quietly restyling your product around a new idea. /impeccable craft is deprecated because of this: describing the surface does the same thing, and it no longer matters whether you knew the command existed.

  • Decide the direction in your browser. In an attended session Impeccable opens a decision page: the assigned direction leading, the dealt challengers as alternates with their quality-bar cards, and re-roll plus a one-line steer. It presents one committed direction rather than a ranked menu, because a lineup invites the safest card. You re-roll freely; the agent may only re-roll on named factual grounds, and a direction you pinned always wins.

  • See it rendered before it is built. The chosen direction gets drawn as a design-system board and a first-surface mock, then the build is corrected against it. This no longer needs a harness with a native image tool: set OPENAI_API_KEY and the skill renders through gpt-image-2 instead, telling you it bills your own key before the first image.

  • The build states its intent, then gets checked against it. Before code, the agent writes a five-block contract into the artifact's opening comment, 150 words at most: thesis, own world, story, first viewport, and form with the seed key. If a block reads like a mood, the direction is not decided yet. The finishing review then audits the render against it promise by promise, in its own agent where the harness allows.

View originalPermalink
How skill-v4.0.1 went
cli-v3.3.0

CLI 3.3.0

Added 3
  • Add a dozen new anti-pattern rules that flag soft radial glow halos, accent spotlights, marquee scrollers, blinking terminal cursors, decorative dot and grid fields, text under overlays, first-viewport content overflowing its column, and hero art from stock geometric shapes, bringing the total count to 58
  • Allow declaring context roots in .impeccable/config.json instead of requiring package manager configuration, enabling detection and setup in non-package-workspace repos
  • Support scoping rule ignores to a single file using a wildcard value in impeccable ignores
Fixed 1
  • Nested products now honor the --target flag and resolve the correct context and source instead of falling back to repository root

From impeccable

  • A dozen new anti-pattern rules. The deterministic set now flags soft radial glow halos and accent spotlights, marquee scrollers, blinking terminal cursors, decorative dot and grid fields, text sitting under an overlay, first-viewport content that overflows its column, and hero art assembled from stock geometric shapes. That brings the count to 58.

  • Context roots live in config, not your package manager. Declare where each product's PRODUCT.md and DESIGN.md sit in .impeccable/config.json, so detection and setup work in repos that are not laid out as package workspaces.

  • Scope one rule to one file. impeccable ignores can now waive a rule for a single file with a wildcard value, so a domain-appropriate pattern in one component stops being reported without silencing the rule everywhere.

  • Nested products honor --target. Scans of a nested app inside a non-monorepo repo now resolve the right context and source, instead of falling back to the repository root.

View originalPermalink
How cli-v3.3.0 went
skill-v4.0.0

Skill 4.0.0

Added 6
  • Each roll prints a key that reproduces it, and re-rolling clears the table rather than rewording declined options
  • 188 reviewed worlds are available as challengers, competing on merit against directions derived from the product
  • In attended sessions, Impeccable opens a decision page displaying the assigned direction, dealt challengers with quality-bar cards, and re-roll plus one-line steer options
  • Chosen direction is rendered as a design-system board and first-surface mock before the build is corrected against it
  • System notifies users that image rendering will bill their own API key before the first image is generated
  • Build states its intent in a five-block contract at the artifact's opening comment (thesis, own world, story, first viewport, and form with seed key), maximum 150 words
Changed 8
  • Model no longer selects its own favorite direction; an outside seed determines which grounded direction to prioritize and generates six challenger worlds as alternatives
  • Impeccable now automatically determines the type of job (blank slate, new page, section addition, redesign, or scoped refinement) without requiring explicit command specification
  • Redesigns treat the old look as evidence and replace it rather than polishing unwanted elements
  • Additions inherit the surrounding page's world and decide only what they actually introduce, rather than quietly restyling the product
  • Decision page presents one committed direction rather than a ranked menu to avoid inviting the safest card
  • Agent may only re-roll on named factual grounds; a direction pinned by the user always wins
  • Rendering now uses gpt-image-2 through OpenAI API instead of requiring a native image tool harness; set OPENAI_API_KEY to enable it
  • Finishing review audits the render against the contract promise by promise in its own agent where the harness allows
Deprecated 1
  • /impeccable craft command is deprecated because describing the surface accomplishes the same result

From impeccable

  • Direction by dice, not by taste. The model no longer picks its own favorite. An outside seed names which of its grounded directions must be taken seriously and deals six challenger worlds beside it, so the same brief stops landing on the same three fonts over a cream background. Every roll prints a key that reproduces it, and a re-roll clears the table rather than rewording what you turned down.

  • 188 reviewed worlds, dealt as challengers. These are not templates. A world competes against the directions the model derived from your product and wins only on merit, which is how it behaves in practice: strong cultural material beats the deck, thin categories lose to it. Ratings weight the draw, the category default never enters it, and the pool is served by a public roll API.

  • No command to pick. Just say what you want. Impeccable now works out what kind of job it is on its own: a blank slate, a whole new page inside an existing product, a section added to a page that already works, a redesign, or a scoped refinement. Each one gets a different amount of freedom, which is the part that used to go wrong. A redesign treats the old look as evidence and replaces it, rather than polishing what you asked to be rid of. An addition inherits the surrounding page's world and decides only what it actually introduces, rather than quietly restyling your product around a new idea. /impeccable craft is deprecated because of this: describing the surface does the same thing, and it no longer matters whether you knew the command existed.

  • Decide the direction in your browser. In an attended session Impeccable opens a decision page: the assigned direction leading, the dealt challengers as alternates with their quality-bar cards, and re-roll plus a one-line steer. It presents one committed direction rather than a ranked menu, because a lineup invites the safest card. You re-roll freely; the agent may only re-roll on named factual grounds, and a direction you pinned always wins.

  • See it rendered before it is built. The chosen direction gets drawn as a design-system board and a first-surface mock, then the build is corrected against it. This no longer needs a harness with a native image tool: set OPENAI_API_KEY and the skill renders through gpt-image-2 instead, telling you it bills your own key before the first image.

  • The build states its intent, then gets checked against it. Before code, the agent writes a five-block contract into the artifact's opening comment, 150 words at most: thesis, own world, story, first viewport, and form with the seed key. If a block reads like a mood, the direction is not decided yet. The finishing review then audits the render against it promise by promise, in its own agent where the harness allows.

View originalPermalink
How skill-v4.0.0 went
skill-v3.9.1

Skill 3.9.1

Fixed 1
  • Remove top-level description field from plugin-packaged hook manifest to allow Codex strict hook parser to accept the design hook again

From impeccable

  • Codex loads the plugin design hook again. The plugin-packaged hook manifest carried a top-level description field that Codex's strict hook parser rejected, so the post-edit design check failed to register. That field is gone from the plugin artifact, and the hook now loads cleanly on Codex while staying identical for Claude Code.
View originalPermalink
How skill-v3.9.1 went
skill-v3.9.0

Skill 3.9.0

Changed 4
  • Decorative grid backgrounds are now a named tell, removing the two-axis CSS grid overlay pattern in favor of real product structure or plain surfaces for non-canvas elements
  • The /impeccable bolder command now respects existing design systems by making language more decisive through hierarchy, proportion, density, and copy instead of inventing new colors, gradients, or effects
  • Critique pass now runs in its own sub-agent on harnesses other than Claude and Codex to review designs with fresh eyes
  • Bundled Node helpers now execute on harnesses with locked-down permissions to avoid extra approval prompts during setup and detection
Fixed 1
  • Corrected the Codex hook manifest schema so the post-edit design check registers cleanly

From impeccable

  • Decorative grid backgrounds are now a named tell. Impeccable refuses the two-axis CSS grid overlay built from hairline gradient lines and a repeating background-size, the pattern Codex reaches for on almost any empty surface. Actual canvases, maps, blueprints, and measurement tools still get their grid; everything else gets real product structure or a plain surface.

  • /impeccable bolder stays inside your design system. When a project has a DESIGN.md, tokens, or established component styles, a bolder pass now makes the existing language more decisive through hierarchy, proportion, density, and copy instead of inventing new colors, gradients, or effects. If the system genuinely cannot express the direction, it names the exact additions and asks before expanding.

  • Critique holds its independence on more harnesses. On harnesses other than Claude and Codex, the critique pass now runs in its own sub-agent more often, so the review reads the design with fresh eyes instead of inheriting the editing context that produced it.

  • Bundled helpers run under strict-permission harnesses. The skill's bundled Node helpers now execute on harnesses that lock permissions down, so setup and detection work without extra approval prompts.

  • Codex hook manifest fixed. Corrected the Codex hook manifest schema so the post-edit design check registers cleanly.

View originalPermalink
How skill-v3.9.0 went
View all

Discussion

If you publish impeccable, you can claim this product by proving you administer its repository.