Releases: pbakaus/impeccable
Release list
Extension 1.2.1
-
The toolbar badge count matches the popup and panel. The browser-action badge counted flagged elements while the popup and DevTools panel counted anti-pattern findings, so the same scan showed two numbers (for example 21 vs 34). One element can carry several findings; the badge now counts findings too, so every surface agrees. Reported in #262.
-
Local file scans report why they fail. Scanning a
file://page with file-URL access off used to leave the popup stuck on "Scanning…" forever. The popup now shows the real reason, with a permission hint for local files, and clears it on the next scan. Reported in #258. -
Popup matches the Kinpaku design system. The toolbar popup picks up the canonical carved-tile mark and light/dark theming that follows your system preference. Reported in #260.
CLI 3.0.3
-
Existing installs now pick up script-only skill fixes.
impeccable updatecompares the complete bundled skill tree instead of justSKILL.md, so fixes in bundled scripts are detected. Runningimpeccable installon an already-installed project also refreshes stale skill files instead of stopping at "already installed." -
Codex installs report the skill version. The
.agentsand.codexbuilds now include the sameversionfrontmatter as the other harnesses, so check/update output can show the installed skill version consistently.
Skill 3.7.1
/impeccable critiqueworks again. The bundled detector was missing a config module it needed and crashed on startup. The build now ships that file with the skill, so critique and other detector-backed commands run cleanly.
Skill 3.7.0
-
Design-aware hook detections. When a project has
DESIGN.md, hooks andimpeccable detectload the local design system and flag font, color, and radius drift against the documented palette, typography stacks, rounded scale, and sidecar tonal ramps. -
Ignores now work across hooks and the CLI. Detector exceptions moved into shared config, and
impeccable ignorescan list, add, and remove rule, file, and value ignores without hand-editing JSON. -
Docs cover the full project context path. New reference pages explain hooks, the detector, configuration, and Design Context, including how
PRODUCT.md,DESIGN.md, and.impeccable/design.jsonare loaded and kept current. -
Docs code blocks now use the Impeccable palette. Shiki syntax highlighting uses design-system colors in both light and dark mode, with contrast tests so examples stay readable and do not trigger design-system color drift.
CLI 3.0.2
-
impeccable detectnow understands your design system. When a project hasDESIGN.md, CLI scans load the same context as hooks and flag font, color, and radius drift against documented typography, palette, rounded scale, and sidecar tonal ramps. Pass--no-design-systemwhen you want the global detector only. -
Ignore management is now a first-class CLI workflow.
impeccable ignorescan list, add, and remove rule, file, and value exceptions in the shared detector config, so teams no longer have to hand-edit.impeccable/config.json. Hooks and manual CLI scans honor the same exceptions. -
Install no longer fails silently on newer Node. On Node v24.16.0 and v26.1.0+,
impeccable installcould print "Downloading impeccable skills...", exit 0, and write nothing. ZIP extraction now uses pure-JSfflate, avoiding the destroyed-stream stall behind nodejs/node#63487 while preserving the Windows install fix. Reported by @kenryu42 in #250.
Skill 3.6.0
-
Project design hooks.
/impeccable hooksinstalls and repairs a project-local detector hook for Claude, Codex, and Cursor. Claude and Codex get post-edit reminders, Cursor can block proposed writes before they land, and/impeccable hooks onnow handles manifest setup and consent instead of leaving users to wire files by hand. -
Hook findings are actionable, not noisy. Hook runs track clean, pending, and fresh findings, cache duplicate reports, audit their own activity, and now frame detector output as findings requiring review: fix true issues, but use context judgment for intentional designs such as literal bounce motion. Narrow ignore flows through
ignore-value,ignore-file, andignore-rulekeep confirmed exceptions out of source comments. Shared config lives in.impeccable/config.json, with local consent and overrides in.impeccable/config.local.json. -
Svelte-native Live Mode. Svelte and SvelteKit variants now preview as temporary framework components with params stored in
params.json, then accept back into the selected source component. That keeps stateful pages closer to their real shape and avoids the HMR resets caused by string-injected previews. -
Manual and browser Live Mode got sturdier. Manual text edits have dedicated evidence, apply, and discard routes; Live Mode preserves insertion anchors and mapped-list accept cleanup; and the browser payload is split into DOM helpers, UI primitives, vocabulary, and manual-apply modules instead of one giant script.
-
Detector accuracy improved across the bundled skill. Hidden and unrendered elements are skipped in browser rules, sr-only and visually hidden text no longer trips
text-overflow, repeated kicker false positives are reduced in card and list contexts, oversized H1 detection now requires viewport dominance, clipped overflow distinguishes decorative viewports from escaping content, OKLCH alpha parses correctly, Sass files count as CSS-like detector inputs, transparent borders or shadows no longer trigger the GPT thin-border rule, and page-level numbered-marker checks no longer treat JS, TS, JSX, TSX, or CSS implementation literals as visible page copy.
Extension 1.2.0
-
Firefox build. The same detector, popup, DevTools panel, and per-rule toggles now ship as a Firefox add-on.
bun run build:extensionemits a Gecko-compatible package next to the Chrome one, with the background worker declared as an event page and a data-collection declaration that states what the extension already does: the scan runs in the page, and nothing leaves your machine. -
Firefox DevTools paths are fixed. DevTools panel and sidebar URLs are root-relative in the Firefox manifest, so packaged builds can open their extension pages reliably.
-
Detector results match the latest engine. The overlay picks up the same false-positive fixes as the CLI: hidden-element skips, sr-only text-overflow handling, tighter repeated kicker, oversized H1, clipped-overflow, OKLCH alpha, Sass-adjacent CSS parsing, transparent-border handling, and exact animation values for bounce/easing findings.
-
Scan responses are easier to correlate. Extension scan messages echo scan IDs back to the caller, and the store metadata and icon set were refreshed for the current 41-rule detector.
CLI 3.0.1
-
Motion findings preserve the actual value.
bounce-easingfindings now report the concrete animation token, Tailwind class, or overshooting cubic-bezier value instead of collapsing animation names to a genericbounce. That gives hooks and audits enough information to suggest narrowignore-valueexceptions for intentional motion. -
Project hook guidance uses judgment first. Hook output now says findings require review, not automatic correction. Agents are told to fix real design problems, classify contextual false positives explicitly, and avoid changing intentional design just to satisfy the detector.
CLI 3.0.0
-
Breaking: Node 24 minimum. The CLI now declares
"node": ">=24". Upgrade Node before installing or running this version. -
Shorter CLI commands.
impeccable install,impeccable update,impeccable link, andimpeccable checkare now the primary command shape. The oldimpeccable skills ...namespace still works for backwards compatibility. -
Clearer installer targeting.
impeccable installnow shows the harnesses it auto-detected, defaults to that set, lets you customize providers through a searchable picker, and asks whether to install into the current project or globally. Project installs are the default unless real global skills are already present. Scripts can pin the same choice with--providers=claude,codex,cursorand--scope=project|global. -
Hook-aware installs and updates.
impeccable installandimpeccable updatecan prompt once for hook consent, persist the local answer, install or repair.claude/settings.local.json,.codex/hooks.json, and.cursor/hooks.json, and still honor--no-hooksfor teams that want skills without editor hooks. -
Local and submodule workflows are cleaner.
impeccable link --source=.impeccablesupports repo-local development, symlink-safe updates avoid clobbering linked installs, provider aliases include Codex and Rovo Dev names, local bundle overrides are explicit, and ZIP extraction is safer on Windows. -
The detector got a real accuracy pass. The CLI detector now skips hidden browser elements, handles sr-only text overflow, reduces repeated kicker false positives, tightens oversized H1 and clipped-overflow heuristics, understands OKLCH alpha and Sass inputs, avoids transparent-border false positives in the GPT thin-border rule, and keeps page-level numbered-marker analysis out of JS, TS, JSX, TSX, and CSS source literals.
-
Release and CI plumbing is stricter. Build commands are split between source validation and release-output sync,
scripts/run-tests.mjsowns named test suites, andbun run smoke:hooksverifies provider hook manifests across the generated bundles.
CLI 2.3.2
-
The
i-command prefix is gone. Opting into a prefix at install time was a holdover from when every command was its own skill. With a singleimpeccableskill it only ever renamed that one skill toi-impeccable, while the install message wrongly promised/i-auditstyle commands that never existed, and the rename could clobber unrelated third-party skills in the same harness folder. The flag and the prompt are removed. -
Existing prefixed installs heal themselves.
skills installandskills updatenow rename any oldi-impeccable(or custom-prefixed) skill back to the canonicalimpeccable, scoped by name so a third-party skill that happens to start withi-is left untouched. Want a short top-level command?/impeccable pin auditstill makes/audita standalone shortcut.