What’s New

impeccable

AI

impeccable release notes.

Latest ext-v1.3.0 · by impeccableWebsitepbakaus/impeccable

Changelog

ext-v1.3.0

Extension 1.3.0

  • 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.
cli-v3.4.0

CLI 3.4.0

  • 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.

skill-v4.0.3

Skill 4.0.3

  • 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.

skill-v4.0.2

Skill 4.0.2

  • 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.

cli-v3.3.1

CLI 3.3.1

  • 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.

skill-v4.0.1

Skill 4.0.1

  • 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.

cli-v3.3.0

CLI 3.3.0

  • 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.

skill-v4.0.0

Skill 4.0.0

  • 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.

skill-v3.9.1

Skill 3.9.1

  • 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.
skill-v3.9.0

Skill 3.9.0

  • 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.