#16 by GitHub stars
pbakaus/impeccable
The design vocabulary for your coding agent. Steer with polish and bolder, review with critique and audit, catch AI slop before it ships.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
.agent/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.devin/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.dsh/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.gemini/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.grok/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.hermes/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.kiro/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.omp/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.opencode/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.pi/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.qoder/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.rovodev/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.trae-cn/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.trae/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.veto/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
.vibe/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
cursor-plugin/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
plugin/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +1 / −1 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
- 3 description: "Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks."
+ 3 description: "Use to design, redesign, critique, audit, polish or animate a frontend: websites, landing pages, dashboards, app UI, components, native iOS/Android screens, or a design system (DESIGN.md)."
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
tests/oracle/workspaces/ctx-pin/.agents/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
tests/oracle/workspaces/ctx-pin/.claude/skills/audit/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
tests/oracle/workspaces/ctx-pin/.claude/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
tests/oracle/workspaces/ctx-pin/.cursor/skills/impeccable/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
df3a4abe7d08 → c3bb418ee38e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → df3a4abe7d08
No earlier version was observed for comparison.
Verified commit c3bb418ee38ee49a6b999b7752c1368f3123a2bd
git clone --filter=blob:none --no-checkout https://github.com/pbakaus/impeccable.git .hotskills/pbakaus-impeccable && git -C .hotskills/pbakaus-impeccable checkout --detach c3bb418ee38ee49a6b999b7752c1368f3123a2bd
# Copy each selected skill directory from .hotskills/pbakaus-impeccable into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/pbakaus/impeccable.git .hotskills/pbakaus-impeccable && git -C .hotskills/pbakaus-impeccable checkout --detach c3bb418ee38ee49a6b999b7752c1368f3123a2bd
# Copy each selected skill directory from .hotskills/pbakaus-impeccable into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/pbakaus/impeccable.git .hotskills/pbakaus-impeccable && git -C .hotskills/pbakaus-impeccable checkout --detach c3bb418ee38ee49a6b999b7752c1368f3123a2bd
# Copy each selected skill directory from .hotskills/pbakaus-impeccable into .cursor/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/pbakaus/impeccable.git .hotskills/pbakaus-impeccable && git -C .hotskills/pbakaus-impeccable checkout --detach c3bb418ee38ee49a6b999b7752c1368f3123a2bd
# Copy each selected skill directory from .hotskills/pbakaus-impeccable into .gemini/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/pbakaus/impeccable.git .hotskills/pbakaus-impeccable && git -C .hotskills/pbakaus-impeccable checkout --detach c3bb418ee38ee49a6b999b7752c1368f3123a2bd
# Copy each selected skill directory from .hotskills/pbakaus-impeccable into .github/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/pbakaus/impeccable.git .hotskills/pbakaus-impeccable && git -C .hotskills/pbakaus-impeccable checkout --detach c3bb418ee38ee49a6b999b7752c1368f3123a2bd
# Copy each selected skill directory from .hotskills/pbakaus-impeccable into .opencode/skills/<skill-name>/Heat
8.1- Star growth, last 7 daysAhead of 97% of tracked repositories
- Star growth, last 24 hoursAhead of 97% of tracked repositories
- Rank movement, last 7 daysAhead of 74% of tracked repositories
- Commits, last 30 daysAhead of 97% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- impeccable
.agent/skills/impeccable - impeccable
.devin/skills/impeccable - impeccable
.dsh/skills/impeccable - impeccable
.gemini/skills/impeccable - impeccable
.grok/skills/impeccable - impeccable
.hermes/skills/impeccable - impeccable
.kiro/skills/impeccable - impeccable
.omp/skills/impeccable - impeccable
.opencode/skills/impeccable - impeccable
.pi/skills/impeccable - impeccable
.qoder/skills/impeccable - impeccable
.rovodev/skills/impeccable - impeccable
.trae-cn/skills/impeccable - impeccable
.trae/skills/impeccable - impeccable
.veto/skills/impeccable - impeccable
.vibe/skills/impeccable - impeccable
cursor-plugin/skills/impeccable - impeccable
plugin/skills/impeccable - impeccable
tests/oracle/workspaces/ctx-pin/.agents/skills/impeccable - audit
tests/oracle/workspaces/ctx-pin/.claude/skills/audit - impeccable
tests/oracle/workspaces/ctx-pin/.claude/skills/impeccable - impeccable
tests/oracle/workspaces/ctx-pin/.cursor/skills/impeccable
How it works
impeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
177 tokensAlways available to the agent
SKILL.md
2,669 tokensWhen the skill is activated
Reference documents
305,023 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js../../../.claude/skills/impeccable/scripts/VERSION../../../.claude/skills/impeccable/scripts/impeccable../../../.claude/skills/impeccable/scripts/impeccable.cmd../../../.claude/skills/impeccable/scripts/live-browser-dom.js../../../.claude/skills/impeccable/scripts/live-browser-ignores.js../../../.claude/skills/impeccable/scripts/live-browser-session.js../../../.claude/skills/impeccable/scripts/live-browser.js../../../.claude/skills/impeccable/scripts/modern-screenshot.umd.js../../../plugin/skills/impeccable/scripts/VERSION../../../plugin/skills/impeccable/scripts/impeccable../../../plugin/skills/impeccable/scripts/impeccable.cmd../../../plugin/skills/impeccable/scripts/live-browser-dom.js../../../plugin/skills/impeccable/scripts/live-browser-ignores.js../../../plugin/skills/impeccable/scripts/live-browser-session.js../../../plugin/skills/impeccable/scripts/live-browser.js../../../plugin/skills/impeccable/scripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,864 bytesSKILL.mdcore11,864 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,583 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc8,008 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,608 bytesreference/degraded/asset-producer.mddoc8,474 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,615 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,125 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,326 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,160 bytesreference/live-setup.mddoc8,185 bytesreference/live.mddoc37,320 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,902 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,644 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,358 bytesreference/routing.mddoc3,334 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,262 bytesreference/visualize.mddoc13,955 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes../../../.claude-plugin/marketplace.jsonasset942 bytes../../../.claude-plugin/plugin.jsonasset452 bytes../../../.claude/skills/impeccable/SKILL.mddoc11,608 bytes../../../.claude/skills/impeccable/reference/adapt.mddoc11,313 bytes../../../.claude/skills/impeccable/reference/adapt.native.mddoc3,910 bytes../../../.claude/skills/impeccable/reference/android.mddoc4,203 bytes../../../.claude/skills/impeccable/reference/animate.mddoc5,236 bytes../../../.claude/skills/impeccable/reference/audit.mddoc9,584 bytes../../../.claude/skills/impeccable/reference/audit.native.mddoc8,326 bytes../../../.claude/skills/impeccable/reference/bolder.mddoc3,497 bytes../../../.claude/skills/impeccable/reference/clarify.mddoc4,590 bytes../../../.claude/skills/impeccable/reference/colorize.mddoc4,537 bytes../../../.claude/skills/impeccable/reference/component-review.mddoc8,017 bytes../../../.claude/skills/impeccable/reference/craft-floor.mddoc4,516 bytes../../../.claude/skills/impeccable/reference/craft.mddoc555 bytes../../../.claude/skills/impeccable/reference/critique.mddoc45,636 bytes../../../.claude/skills/impeccable/reference/degraded/asset-producer.mddoc8,478 bytes../../../.claude/skills/impeccable/reference/degraded/documenter.mddoc3,733 bytes../../../.claude/skills/impeccable/reference/degraded/finish-reviewer.mddoc15,880 bytes../../../.claude/skills/impeccable/reference/degraded/manual-edit-applier.mddoc7,685 bytes../../../.claude/skills/impeccable/reference/delight.mddoc3,716 bytes../../../.claude/skills/impeccable/reference/distill.mddoc5,529 bytes../../../.claude/skills/impeccable/reference/doctor.mddoc5,617 bytes../../../.claude/skills/impeccable/reference/document.mddoc27,457 bytes../../../.claude/skills/impeccable/reference/extract.mddoc3,337 bytes../../../.claude/skills/impeccable/reference/generate.mddoc13,152 bytes../../../.claude/skills/impeccable/reference/harden.mddoc10,748 bytes../../../.claude/skills/impeccable/reference/hooks.mddoc17,337 bytes../../../.claude/skills/impeccable/reference/init.mddoc12,160 bytes../../../.claude/skills/impeccable/reference/ios.mddoc3,812 bytes../../../.claude/skills/impeccable/reference/layout.mddoc5,161 bytes../../../.claude/skills/impeccable/reference/live-setup.mddoc8,186 bytes../../../.claude/skills/impeccable/reference/live.mddoc37,334 bytes../../../.claude/skills/impeccable/reference/mode-operate.mddoc4,716 bytes../../../.claude/skills/impeccable/reference/mode-persuade.mddoc3,638 bytes../../../.claude/skills/impeccable/reference/mode-read.mddoc4,396 bytes../../../.claude/skills/impeccable/reference/new-work.mddoc63,569 bytes../../../.claude/skills/impeccable/reference/onboard.mddoc7,688 bytes../../../.claude/skills/impeccable/reference/operate.mddoc4,145 bytes../../../.claude/skills/impeccable/reference/optimize.mddoc7,577 bytes../../../.claude/skills/impeccable/reference/overdrive.mddoc9,010 bytes../../../.claude/skills/impeccable/reference/polish.mddoc6,646 bytes../../../.claude/skills/impeccable/reference/quieter.mddoc4,951 bytes../../../.claude/skills/impeccable/reference/region-map.mddoc3,361 bytes../../../.claude/skills/impeccable/reference/routing.mddoc3,336 bytes../../../.claude/skills/impeccable/reference/shape.mddoc3,547 bytes../../../.claude/skills/impeccable/reference/typeset.mddoc6,263 bytes../../../.claude/skills/impeccable/reference/visualize.mddoc13,956 bytes../../../.claude/skills/impeccable/scripts/VERSIONruns7 bytes../../../.claude/skills/impeccable/scripts/command-metadata.jsonasset8,318 bytes../../../.claude/skills/impeccable/scripts/data/font-index-failures.jsonasset2,437 bytes../../../.claude/skills/impeccable/scripts/data/font-index.jsonasset1,100,013 bytes../../../.claude/skills/impeccable/scripts/engine-checksums.txtdoc787 bytes../../../.claude/skills/impeccable/scripts/impeccableruns11,320 bytes../../../.claude/skills/impeccable/scripts/impeccable.cmdruns12,197 bytes../../../.claude/skills/impeccable/scripts/live-browser-dom.jsruns12,283 bytes../../../.claude/skills/impeccable/scripts/live-browser-ignores.jsruns10,423 bytes../../../.claude/skills/impeccable/scripts/live-browser-session.jsruns5,838 bytes../../../.claude/skills/impeccable/scripts/live-browser.jsruns563,208 bytes../../../.claude/skills/impeccable/scripts/modern-screenshot.umd.jsruns29,290 bytes../../../.codex/hooks.jsonasset1,076 bytes../../../.cursor/hooks.jsonasset268 bytes../../../cursor-plugin/hooks/hooks.jsonasset296 bytes../../../plugin/.claude-plugin/plugin.jsonasset444 bytes../../../plugin/hooks/hooks.jsonasset1,981 bytes../../../plugin/hooks/hooks.jsonasset1,981 bytes../../../plugin/hooks/hooks.jsonasset1,981 bytes../../../plugin/hooks/hooks.jsonasset1,981 bytes../../../plugin/skills/impeccable/SKILL.mddoc11,641 bytes../../../plugin/skills/impeccable/reference/adapt.mddoc11,313 bytes../../../plugin/skills/impeccable/reference/adapt.native.mddoc3,910 bytes../../../plugin/skills/impeccable/reference/android.mddoc4,203 bytes../../../plugin/skills/impeccable/reference/animate.mddoc5,236 bytes../../../plugin/skills/impeccable/reference/audit.mddoc9,577 bytes../../../plugin/skills/impeccable/reference/audit.native.mddoc8,326 bytes../../../plugin/skills/impeccable/reference/bolder.mddoc3,497 bytes../../../plugin/skills/impeccable/reference/clarify.mddoc4,590 bytes../../../plugin/skills/impeccable/reference/colorize.mddoc4,537 bytes../../../plugin/skills/impeccable/reference/component-review.mddoc7,954 bytes../../../plugin/skills/impeccable/reference/craft-floor.mddoc4,516 bytes../../../plugin/skills/impeccable/reference/craft.mddoc555 bytes../../../plugin/skills/impeccable/reference/critique.mddoc45,587 bytes../../../plugin/skills/impeccable/reference/degraded/asset-producer.mddoc8,450 bytes../../../plugin/skills/impeccable/reference/degraded/documenter.mddoc3,733 bytes../../../plugin/skills/impeccable/reference/degraded/finish-reviewer.mddoc15,880 bytes../../../plugin/skills/impeccable/reference/degraded/manual-edit-applier.mddoc7,685 bytes../../../plugin/skills/impeccable/reference/delight.mddoc3,716 bytes../../../plugin/skills/impeccable/reference/distill.mddoc5,529 bytes../../../plugin/skills/impeccable/reference/doctor.mddoc5,603 bytes../../../plugin/skills/impeccable/reference/document.mddoc27,457 bytes../../../plugin/skills/impeccable/reference/extract.mddoc3,337 bytes../../../plugin/skills/impeccable/reference/generate.mddoc13,110 bytes../../../plugin/skills/impeccable/reference/harden.mddoc10,748 bytes../../../plugin/skills/impeccable/reference/hooks.mddoc17,258 bytes../../../plugin/skills/impeccable/reference/init.mddoc12,160 bytes../../../plugin/skills/impeccable/reference/ios.mddoc3,812 bytes../../../plugin/skills/impeccable/reference/layout.mddoc5,154 bytes../../../plugin/skills/impeccable/reference/live-setup.mddoc8,179 bytes../../../plugin/skills/impeccable/reference/live.mddoc37,236 bytes../../../plugin/skills/impeccable/reference/mode-operate.mddoc4,716 bytes../../../plugin/skills/impeccable/reference/mode-persuade.mddoc3,638 bytes../../../plugin/skills/impeccable/reference/mode-read.mddoc4,396 bytes../../../plugin/skills/impeccable/reference/new-work.mddoc63,478 bytes../../../plugin/skills/impeccable/reference/onboard.mddoc7,688 bytes../../../plugin/skills/impeccable/reference/operate.mddoc4,145 bytes../../../plugin/skills/impeccable/reference/optimize.mddoc7,577 bytes../../../plugin/skills/impeccable/reference/overdrive.mddoc9,010 bytes../../../plugin/skills/impeccable/reference/polish.mddoc6,632 bytes../../../plugin/skills/impeccable/reference/quieter.mddoc4,951 bytes../../../plugin/skills/impeccable/reference/region-map.mddoc3,340 bytes../../../plugin/skills/impeccable/reference/routing.mddoc3,322 bytes../../../plugin/skills/impeccable/reference/shape.mddoc3,547 bytes../../../plugin/skills/impeccable/reference/typeset.mddoc6,256 bytes../../../plugin/skills/impeccable/reference/visualize.mddoc13,949 bytes../../../plugin/skills/impeccable/scripts/VERSIONruns7 bytes../../../plugin/skills/impeccable/scripts/command-metadata.jsonasset8,318 bytes../../../plugin/skills/impeccable/scripts/data/font-index-failures.jsonasset2,437 bytes../../../plugin/skills/impeccable/scripts/data/font-index.jsonasset1,100,013 bytes../../../plugin/skills/impeccable/scripts/engine-checksums.txtdoc787 bytes../../../plugin/skills/impeccable/scripts/impeccableruns11,320 bytes../../../plugin/skills/impeccable/scripts/impeccable.cmdruns12,197 bytes../../../plugin/skills/impeccable/scripts/live-browser-dom.jsruns12,283 bytes../../../plugin/skills/impeccable/scripts/live-browser-ignores.jsruns10,423 bytes../../../plugin/skills/impeccable/scripts/live-browser-session.jsruns5,838 bytes../../../plugin/skills/impeccable/scripts/live-browser.jsruns563,208 bytes../../../plugin/skills/impeccable/scripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.agent/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.agent/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.agent/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
216 tokensAlways available to the agent
SKILL.md
2,713 tokensWhen the skill is activated
Reference documents
100,027 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,984 bytesSKILL.mdcore11,984 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,583 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,549 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc8,008 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,681 bytesreference/degraded/asset-producer.mddoc8,474 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,581 bytesreference/doctor.mddoc5,615 bytesreference/document.mddoc27,509 bytesreference/extract.mddoc3,389 bytesreference/generate.mddoc13,198 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,326 bytesreference/init.mddoc12,212 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,160 bytesreference/live-setup.mddoc8,185 bytesreference/live.mddoc37,320 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,975 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc9,062 bytesreference/polish.mddoc6,644 bytesreference/quieter.mddoc5,003 bytesreference/region-map.mddoc3,358 bytesreference/routing.mddoc3,334 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,262 bytesreference/visualize.mddoc13,955 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.devin/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.devin/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.devin/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
156 tokensAlways available to the agent
SKILL.md
2,653 tokensWhen the skill is activated
Reference documents
99,907 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,779 bytesSKILL.mdcore11,779 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,581 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,499 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,990 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,617 bytesreference/degraded/asset-producer.mddoc8,466 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,531 bytesreference/doctor.mddoc5,611 bytesreference/document.mddoc27,459 bytesreference/extract.mddoc3,339 bytesreference/generate.mddoc13,136 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,304 bytesreference/init.mddoc12,162 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,158 bytesreference/live-setup.mddoc8,183 bytesreference/live.mddoc37,292 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,899 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc9,012 bytesreference/polish.mddoc6,640 bytesreference/quieter.mddoc4,953 bytesreference/region-map.mddoc3,352 bytesreference/routing.mddoc3,330 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,260 bytesreference/visualize.mddoc13,953 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.dsh/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.dsh/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.dsh/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
141 tokensAlways available to the agent
SKILL.md
2,638 tokensWhen the skill is activated
Reference documents
99,892 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,750 bytesSKILL.mdcore11,750 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,584 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc8,017 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,615 bytesreference/degraded/asset-producer.mddoc8,478 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,617 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,131 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,337 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,161 bytesreference/live-setup.mddoc8,186 bytesreference/live.mddoc37,334 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,915 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,646 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,361 bytesreference/routing.mddoc3,336 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,263 bytesreference/visualize.mddoc13,956 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.gemini/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.gemini/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.gemini/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
252 tokensAlways available to the agent
SKILL.md
2,748 tokensWhen the skill is activated
Reference documents
99,907 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore12,098 bytesSKILL.mdcore12,098 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,582 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,497 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,999 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,622 bytesreference/degraded/asset-producer.mddoc8,470 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,529 bytesreference/doctor.mddoc5,613 bytesreference/document.mddoc27,457 bytesreference/extract.mddoc3,337 bytesreference/generate.mddoc13,140 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,315 bytesreference/init.mddoc12,160 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,159 bytesreference/live-setup.mddoc8,184 bytesreference/live.mddoc37,306 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,910 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc9,010 bytesreference/polish.mddoc6,642 bytesreference/quieter.mddoc4,951 bytesreference/region-map.mddoc3,355 bytesreference/routing.mddoc3,332 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,261 bytesreference/visualize.mddoc13,954 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.grok/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.grok/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.grok/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
149 tokensAlways available to the agent
SKILL.md
2,646 tokensWhen the skill is activated
Reference documents
99,867 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,770 bytesSKILL.mdcore11,770 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,584 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc8,017 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,615 bytesreference/degraded/asset-producer.mddoc8,478 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,617 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,131 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,337 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,161 bytesreference/live-setup.mddoc8,186 bytesreference/live.mddoc37,334 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,915 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,646 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,361 bytesreference/routing.mddoc3,336 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,263 bytesreference/visualize.mddoc13,956 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.hermes/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.hermes/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.hermes/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
149 tokensAlways available to the agent
SKILL.md
2,646 tokensWhen the skill is activated
Reference documents
99,892 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,762 bytesSKILL.mdcore11,762 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,582 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,999 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,621 bytesreference/degraded/asset-producer.mddoc8,470 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,613 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,119 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,315 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,159 bytesreference/live-setup.mddoc8,184 bytesreference/live.mddoc37,306 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,889 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,642 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,355 bytesreference/routing.mddoc3,332 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,261 bytesreference/visualize.mddoc13,954 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.kiro/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.kiro/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.kiro/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
177 tokensAlways available to the agent
SKILL.md
2,669 tokensWhen the skill is activated
Reference documents
99,812 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,854 bytesSKILL.mdcore11,854 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,581 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,990 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,594 bytesreference/degraded/asset-producer.mddoc8,466 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,611 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,113 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,304 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,158 bytesreference/live-setup.mddoc8,183 bytesreference/live.mddoc37,292 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,876 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,640 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,352 bytesreference/routing.mddoc3,330 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,260 bytesreference/visualize.mddoc13,953 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.omp/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.omp/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.omp/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
252 tokensAlways available to the agent
SKILL.md
2,748 tokensWhen the skill is activated
Reference documents
99,907 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore12,118 bytesSKILL.mdcore12,118 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,586 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,492 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc8,035 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,645 bytesreference/degraded/asset-producer.mddoc8,486 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,524 bytesreference/doctor.mddoc5,621 bytesreference/document.mddoc27,452 bytesreference/extract.mddoc3,332 bytesreference/generate.mddoc13,159 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,359 bytesreference/init.mddoc12,155 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,163 bytesreference/live-setup.mddoc8,188 bytesreference/live.mddoc37,362 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,957 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc9,005 bytesreference/polish.mddoc6,650 bytesreference/quieter.mddoc4,946 bytesreference/region-map.mddoc3,367 bytesreference/routing.mddoc3,340 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,265 bytesreference/visualize.mddoc13,958 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.opencode/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.opencode/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.opencode/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
177 tokensAlways available to the agent
SKILL.md
2,669 tokensWhen the skill is activated
Reference documents
99,789 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,849 bytesSKILL.mdcore11,849 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,580 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,981 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,587 bytesreference/degraded/asset-producer.mddoc8,462 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,609 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,107 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,293 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,157 bytesreference/live-setup.mddoc8,182 bytesreference/live.mddoc37,278 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,863 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,638 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,349 bytesreference/routing.mddoc3,328 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,259 bytesreference/visualize.mddoc13,952 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.pi/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.pi/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.pi/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
252 tokensAlways available to the agent
SKILL.md
2,748 tokensWhen the skill is activated
Reference documents
99,867 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore12,103 bytesSKILL.mdcore12,103 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,583 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc8,008 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,608 bytesreference/degraded/asset-producer.mddoc8,474 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,615 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,125 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,326 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,160 bytesreference/live-setup.mddoc8,185 bytesreference/live.mddoc37,320 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,902 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,644 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,358 bytesreference/routing.mddoc3,334 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,262 bytesreference/visualize.mddoc13,955 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.qoder/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.qoder/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.qoder/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
253 tokensAlways available to the agent
SKILL.md
2,753 tokensWhen the skill is activated
Reference documents
99,968 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore12,113 bytesSKILL.mdcore12,113 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,585 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc8,026 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,622 bytesreference/degraded/asset-producer.mddoc8,482 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,619 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,137 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,348 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,162 bytesreference/live-setup.mddoc8,187 bytesreference/live.mddoc37,348 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,928 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,648 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,364 bytesreference/routing.mddoc3,338 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,264 bytesreference/visualize.mddoc13,957 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.rovodev/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.rovodev/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.rovodev/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
223 tokensAlways available to the agent
SKILL.md
2,724 tokensWhen the skill is activated
Reference documents
99,968 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore12,013 bytesSKILL.mdcore12,013 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,585 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc8,026 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,620 bytesreference/degraded/asset-producer.mddoc8,482 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,619 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,137 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,348 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,162 bytesreference/live-setup.mddoc8,187 bytesreference/live.mddoc37,348 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,928 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,648 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,364 bytesreference/routing.mddoc3,338 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,264 bytesreference/visualize.mddoc13,957 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.trae-cn/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.trae-cn/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.trae-cn/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
223 tokensAlways available to the agent
SKILL.md
2,720 tokensWhen the skill is activated
Reference documents
99,890 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore12,001 bytesSKILL.mdcore12,001 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,582 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,999 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,599 bytesreference/degraded/asset-producer.mddoc8,470 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,613 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,119 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,315 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,159 bytesreference/live-setup.mddoc8,184 bytesreference/live.mddoc37,306 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,889 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,642 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,355 bytesreference/routing.mddoc3,332 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,261 bytesreference/visualize.mddoc13,954 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.trae/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.trae/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.trae/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
149 tokensAlways available to the agent
SKILL.md
2,646 tokensWhen the skill is activated
Reference documents
99,873 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,762 bytesSKILL.mdcore11,762 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,582 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,999 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,621 bytesreference/degraded/asset-producer.mddoc8,470 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,613 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,119 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,315 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,159 bytesreference/live-setup.mddoc8,184 bytesreference/live.mddoc37,306 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,889 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,642 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,355 bytesreference/routing.mddoc3,332 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,261 bytesreference/visualize.mddoc13,954 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.veto/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.veto/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.veto/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
185 tokensAlways available to the agent
SKILL.md
2,681 tokensWhen the skill is activated
Reference documents
99,867 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,880 bytesSKILL.mdcore11,880 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,582 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,999 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,601 bytesreference/degraded/asset-producer.mddoc8,470 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,613 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,316 bytesreference/generate.mddoc13,119 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,315 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,159 bytesreference/live-setup.mddoc8,184 bytesreference/live.mddoc37,306 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,889 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,642 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,355 bytesreference/routing.mddoc3,332 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,261 bytesreference/visualize.mddoc13,954 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `<skill-base-dir>/scripts/impeccable context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `.vibe/skills/impeccable/scripts/impeccable <verb>` command in this skill and its references, and `.vibe/skills/impeccable/scripts` is the fallback only when the runtime reports no base directory. On a Windows shell without `sh`, call `.vibe/skills/impeccable/scripts/impeccable.cmd` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
What it loads into context
Frontmatter
149 tokensAlways available to the agent
SKILL.md
2,618 tokensWhen the skill is activated
Reference documents
99,703 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,649 bytesSKILL.mdcore11,649 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,577 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,476 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,954 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,572 bytesreference/degraded/asset-producer.mddoc8,451 bytesreference/degraded/documenter.mddoc3,734 bytesreference/degraded/finish-reviewer.mddoc15,881 bytesreference/degraded/manual-edit-applier.mddoc7,686 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,508 bytesreference/doctor.mddoc5,603 bytesreference/document.mddoc27,436 bytesreference/extract.mddoc3,315 bytesreference/generate.mddoc13,089 bytesreference/harden.mddoc10,744 bytesreference/hooks.mddoc17,258 bytesreference/init.mddoc12,139 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,154 bytesreference/live-setup.mddoc8,179 bytesreference/live.mddoc37,236 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc62,824 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,576 bytesreference/overdrive.mddoc8,989 bytesreference/polish.mddoc6,632 bytesreference/quieter.mddoc4,930 bytesreference/region-map.mddoc3,340 bytesreference/routing.mddoc3,322 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,256 bytesreference/visualize.mddoc13,949 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `"<skill-base-dir>/scripts/impeccable" context` once per session, where `<skill-base-dir>` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. That base directory resolves every `"<skill-base-dir>/scripts/impeccable" <verb>` command in this skill and its references. On a Windows shell without `sh`, call `& "<skill-base-dir>/scripts/impeccable.cmd"` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
Use to design, redesign, critique, audit, polish or animate a frontend: websites, landing pages, dashboards, app UI, components, native iOS/Android screens, or a design system (DESIGN.md).
What it loads into context
Frontmatter
142 tokensAlways available to the agent
SKILL.md
2,651 tokensWhen the skill is activated
Reference documents
99,879 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Setup
- How to design
- Modes
- Commands
Scripts executed separately
scripts/VERSIONscripts/impeccablescripts/impeccable.cmdscripts/live-browser-dom.jsscripts/live-browser-ignores.jsscripts/live-browser-session.jsscripts/live-browser.jsscripts/modern-screenshot.umd.js
Files
SKILL.mdcore11,641 bytesSKILL.mdcore11,641 bytesreference/adapt.mddoc11,313 bytesreference/adapt.native.mddoc3,910 bytesreference/android.mddoc4,203 bytesreference/animate.mddoc5,236 bytesreference/audit.mddoc9,577 bytesreference/audit.native.mddoc8,326 bytesreference/bolder.mddoc3,497 bytesreference/clarify.mddoc4,590 bytesreference/colorize.mddoc4,537 bytesreference/component-review.mddoc7,954 bytesreference/craft-floor.mddoc4,516 bytesreference/craft.mddoc555 bytesreference/critique.mddoc45,587 bytesreference/degraded/asset-producer.mddoc8,450 bytesreference/degraded/documenter.mddoc3,733 bytesreference/degraded/finish-reviewer.mddoc15,880 bytesreference/degraded/manual-edit-applier.mddoc7,685 bytesreference/delight.mddoc3,716 bytesreference/distill.mddoc5,529 bytesreference/doctor.mddoc5,603 bytesreference/document.mddoc27,457 bytesreference/extract.mddoc3,337 bytesreference/generate.mddoc13,110 bytesreference/harden.mddoc10,748 bytesreference/hooks.mddoc17,258 bytesreference/init.mddoc12,160 bytesreference/ios.mddoc3,812 bytesreference/layout.mddoc5,154 bytesreference/live-setup.mddoc8,179 bytesreference/live.mddoc37,236 bytesreference/mode-operate.mddoc4,716 bytesreference/mode-persuade.mddoc3,638 bytesreference/mode-read.mddoc4,396 bytesreference/new-work.mddoc63,478 bytesreference/onboard.mddoc7,688 bytesreference/operate.mddoc4,145 bytesreference/optimize.mddoc7,577 bytesreference/overdrive.mddoc9,010 bytesreference/polish.mddoc6,632 bytesreference/quieter.mddoc4,951 bytesreference/region-map.mddoc3,340 bytesreference/routing.mddoc3,322 bytesreference/shape.mddoc3,547 bytesreference/typeset.mddoc6,256 bytesreference/visualize.mddoc13,949 bytesscripts/VERSIONruns7 bytesscripts/command-metadata.jsonasset8,318 bytesscripts/data/font-index-failures.jsonasset2,437 bytesscripts/data/font-index.jsonasset1,100,013 bytesscripts/engine-checksums.txtdoc787 bytesscripts/impeccableruns11,320 bytesscripts/impeccable.cmdruns12,197 bytesscripts/live-browser-dom.jsruns12,283 bytesscripts/live-browser-ignores.jsruns10,423 bytesscripts/live-browser-session.jsruns5,838 bytesscripts/live-browser.jsruns563,208 bytesscripts/modern-screenshot.umd.jsruns29,290 bytes
Read SKILL.md
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
- Finish the job. No hedging, no shortcuts: the deliverable is complete, except assets the user must provide.
- Scale ambition to the surface's mode (see Modes). Persuade and Experience get full commitment: bold, distinct work with a point of view. On Operate and Read, ambition shows as precision and restraint, and patterns the visitor already knows earn their place.
- Verify by looking at the rendered result at the sizes it ships at, and batch the checks: fix what one look shows before looking again, rather than screenshotting after every tweak.
## Setup
1. Run `"${CLAUDE_SKILL_DIR}/scripts/impeccable" context` once per session, where `${CLAUDE_SKILL_DIR}` is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. Every `"${CLAUDE_SKILL_DIR}/scripts/impeccable" <verb>` command in this skill and its references resolves against that base directory. In reference files, replace the skill-base-dir placeholder with this directory before running commands; it is not a shell variable. On a Windows shell without `sh`, call `& "${CLAUDE_SKILL_DIR}/scripts/impeccable.cmd"` instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as `--target <path>`. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.
2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or [reference/new-work.md](reference/new-work.md) for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
3. After resolving analysis and direction, read [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.
**Launcher unavailable:** On refusal or failure, send a separate message **before the next tool call**: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading [reference/craft-floor.md](reference/craft-floor.md) immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.View the complete source on GitHubimpeccable
When your agent uses it
fixture
What it loads into context
Frontmatter
7 tokensAlways available to the agent
SKILL.md
10 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore46 bytes
audit
When your agent uses it
a user-authored audit skill
What it loads into context
Frontmatter
12 tokensAlways available to the agent
SKILL.md
18 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore73 bytes
impeccable
When your agent uses it
fixture
What it loads into context
Frontmatter
7 tokensAlways available to the agent
SKILL.md
10 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore46 bytes
impeccable
When your agent uses it
fixture
What it loads into context
Frontmatter
7 tokensAlways available to the agent
SKILL.md
10 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore46 bytes
Skills included
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- impeccable
- audit
- impeccable
- impeccable
Repository facts
- License
- Apache-2.0
- Created
- Nov 16, 2025
- Last pushed
- Nov 5, 2026
- Forks
- 6,161
- Open issues
- 39
- Project activity
- Active
Rank over the last 12 weeks
Now #16 · best #16 · up 2 in 30 days
- #20 from Oct 1 to Oct 2
- #19 from Oct 3 to Oct 4
- #18 from Oct 5 to Oct 24
- #20 on Oct 25
- #17 on Oct 28
- #16 since Oct 29
8 earlier periods
- #26 on Aug 2
- #26 from Aug 7 to Aug 10
- #25 on Aug 11
- #24 from Aug 12 to Aug 29
- #23 from Aug 30 to Sep 1
- #22 from Sep 2 to Sep 18
- #21 from Sep 19 to Sep 21
- #22 from Sep 22 to Sep 30
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 285 notes
.agent/skills/impeccable/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.agent/skills/impeccable/reference/degraded/finish-reviewer.md:18Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/reference/degraded/finish-reviewer.md:19Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/reference/degraded/finish-reviewer.md:20Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/reference/new-work.md:47Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/reference/new-work.md:51Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/reference/new-work.md:108Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/scripts/data/font-index.json:1Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/scripts/live-browser.js:10627Analysis incomplete: regex work limit reached.agent/skills/impeccable/scripts/modern-screenshot.umd.js:1Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/scripts/modern-screenshot.umd.js:6Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/scripts/modern-screenshot.umd.js:4Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/scripts/modern-screenshot.umd.js:7Analysis incomplete: physical or joined line exceeds character limit.agent/skills/impeccable/scripts/modern-screenshot.umd.js:5Analysis incomplete: physical or joined line exceeds character limit.claude/skills/impeccable/reference/degraded/finish-reviewer.md:18Analysis incomplete: physical or joined line exceeds character limit.claude/skills/impeccable/reference/degraded/finish-reviewer.md:19Analysis incomplete: physical or joined line exceeds character limit.claude/skills/impeccable/reference/degraded/finish-reviewer.md:20Analysis incomplete: physical or joined line exceeds character limit.claude/skills/impeccable/reference/new-work.md:47Analysis incomplete: physical or joined line exceeds character limit.claude/skills/impeccable/reference/new-work.md:51Analysis incomplete: physical or joined line exceeds character limit.claude/skills/impeccable/reference/new-work.md:110Analysis incomplete: physical or joined line exceeds character limit
- 8 broad permissionsin 8 files: impeccable/SKILL.md:1 impeccable/SKILL.md:1 impeccable/SKILL.md:1 and 5 more
- 140 dangerous shell commandsin 19 files: plugin/skills/impeccable/scripts/impeccable:178 impeccable/scripts/impeccable:178 .claude/skills/impeccable/scripts/impeccable:178 and 16 more
- 2,893 network referencesin 193 files: plugin/skills/impeccable/scripts/live-browser.js:2 impeccable/scripts/live-browser.js:2 .claude/skills/impeccable/scripts/live-browser.js:2 and 190 more
- 100 obfuscation signalsin 19 files: plugin/skills/impeccable/scripts/modern-screenshot.umd.js:1 impeccable/scripts/modern-screenshot.umd.js:1 .claude/skills/impeccable/scripts/modern-screenshot.umd.js:1 and 16 more
- No instruction overrides
- 160 executable scriptsin 152 files: plugin/skills/impeccable/scripts/VERSION:1 plugin/skills/impeccable/scripts/impeccable:1 plugin/skills/impeccable/scripts/impeccable.cmd:1 and 149 more
- No access to secrets
- No requests to vote in Hot
Show all 3,301 signals by file
.agent/skills/impeccable/SKILL.md
- Broad permissionsline 1
Bash(npx impeccable *)
.agent/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.agent/skills/impeccable/scripts/impeccable live-server --background`, present the browser if - Network accessline 79
4. If mutation is available, start `.agent/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impe
.agent/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.agent/skills/impeccable/reference/generate.md
- Network accessline 49
.agent/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.agent/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.agent/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.agent/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.agent/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.agent/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.agent/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.agent/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.agent/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.agent/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.agent/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.agent/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.claude-plugin/marketplace.json
- Network accessline 1
{ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - Network accessline 2
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - Network accessline 20
"source": "./plugin", "category": "design", "homepage": "https://impeccable.style", - Network accessline 21
"category": "design", "homepage": "https://impeccable.style", "tags": [ - Network accessline 22
"homepage": "https://impeccable.style",
.claude-plugin/plugin.json
- Network accessline 7
"email": "paul@paulbakaus.com" }, "homepage": "https://impeccable.style", - Network accessline 8
}, "homepage": "https://impeccable.style", "repository": "https://github.com/pbakaus/impeccable", - Network accessline 9
"homepage": "https://impeccable.style", - Network accessline 10
"repository": "https://github.com/pbakaus/impeccable",
.claude/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.claude/skills/impeccable/scripts/impeccable live-server --background`, present the browser if - Network accessline 79
4. If mutation is available, start `.claude/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `imp
.claude/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.claude/skills/impeccable/reference/generate.md
- Network accessline 49
.claude/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.claude/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.claude/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.claude/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.claude/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.claude/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.claude/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.claude/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.claude/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.claude/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.claude/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.claude/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.devin/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.devin/skills/impeccable/scripts/impeccable live-server --background`, present the browser if - Network accessline 79
4. If mutation is available, start `.devin/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impe
.devin/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.devin/skills/impeccable/reference/generate.md
- Network accessline 49
.devin/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.devin/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.devin/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.devin/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.devin/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.devin/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.devin/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.devin/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.devin/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.devin/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.devin/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.devin/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.dsh/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.dsh/skills/impeccable/scripts/impeccable live-server --background`, present the browser if su - Network accessline 79
4. If mutation is available, start `.dsh/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impecc
.dsh/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.dsh/skills/impeccable/reference/generate.md
- Network accessline 49
.dsh/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.dsh/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.dsh/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.dsh/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.dsh/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.dsh/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.dsh/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.dsh/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.dsh/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.dsh/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.dsh/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.dsh/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.gemini/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.gemini/skills/impeccable/scripts/impeccable live-server --background`, present the browser if - Network accessline 79
4. If mutation is available, start `.gemini/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `imp
.gemini/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.gemini/skills/impeccable/reference/generate.md
- Network accessline 49
.gemini/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.gemini/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.gemini/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.gemini/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.gemini/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.gemini/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.gemini/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.gemini/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.gemini/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.gemini/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.gemini/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.gemini/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.grok/skills/impeccable/SKILL.md
- Broad permissionsline 1
Bash(npx impeccable *)
.grok/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.grok/skills/impeccable/scripts/impeccable live-server --background`, present the browser if s - Network accessline 79
4. If mutation is available, start `.grok/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impec
.grok/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.grok/skills/impeccable/reference/generate.md
- Network accessline 49
.grok/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.grok/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.grok/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.grok/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.grok/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.grok/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.grok/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.grok/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.grok/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.grok/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.grok/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.grok/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.hermes/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.hermes/skills/impeccable/scripts/impeccable live-server --background`, present the browser if - Network accessline 79
4. If mutation is available, start `.hermes/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `imp
.hermes/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.hermes/skills/impeccable/reference/generate.md
- Network accessline 49
.hermes/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.hermes/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.hermes/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.hermes/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.hermes/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.hermes/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.hermes/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.hermes/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.hermes/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.hermes/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.hermes/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.hermes/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.kiro/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.kiro/skills/impeccable/scripts/impeccable live-server --background`, present the browser if s - Network accessline 79
4. If mutation is available, start `.kiro/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impec
.kiro/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.kiro/skills/impeccable/reference/generate.md
- Network accessline 49
.kiro/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.kiro/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.kiro/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.kiro/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.kiro/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.kiro/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.kiro/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.kiro/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.kiro/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.kiro/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.kiro/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.kiro/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.omp/skills/impeccable/SKILL.md
- Broad permissionsline 1
Bash(npx impeccable *)
.omp/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.omp/skills/impeccable/scripts/impeccable live-server --background`, present the browser if su - Network accessline 79
4. If mutation is available, start `.omp/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impecc
.omp/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.omp/skills/impeccable/reference/generate.md
- Network accessline 49
.omp/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.omp/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.omp/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.omp/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.omp/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.omp/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.omp/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.omp/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.omp/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.omp/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.omp/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.omp/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.opencode/skills/impeccable/SKILL.md
- Broad permissionsline 1
Bash(npx impeccable *)
.opencode/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.opencode/skills/impeccable/scripts/impeccable live-server --background`, present the browser - Network accessline 79
4. If mutation is available, start `.opencode/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `i
.opencode/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.opencode/skills/impeccable/reference/generate.md
- Network accessline 49
.opencode/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.opencode/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.opencode/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.opencode/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.opencode/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.opencode/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.opencode/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.opencode/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.opencode/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.opencode/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.opencode/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.opencode/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.pi/skills/impeccable/SKILL.md
- Broad permissionsline 1
Bash(npx impeccable *)
.pi/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.pi/skills/impeccable/scripts/impeccable live-server --background`, present the browser if sup - Network accessline 79
4. If mutation is available, start `.pi/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impecca
.pi/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.pi/skills/impeccable/reference/generate.md
- Network accessline 49
.pi/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.pi/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.pi/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.pi/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.pi/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.pi/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.pi/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.pi/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.pi/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.pi/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.pi/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.pi/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.qoder/skills/impeccable/SKILL.md
- Broad permissionsline 1
Bash(npx impeccable *)
.qoder/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.qoder/skills/impeccable/scripts/impeccable live-server --background`, present the browser if - Network accessline 79
4. If mutation is available, start `.qoder/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impe
.qoder/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.qoder/skills/impeccable/reference/generate.md
- Network accessline 49
.qoder/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.qoder/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.qoder/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.qoder/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.qoder/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.qoder/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.qoder/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.qoder/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.qoder/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.qoder/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.qoder/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.qoder/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.rovodev/skills/impeccable/SKILL.md
- Broad permissionsline 1
Bash(npx impeccable *)
.rovodev/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.rovodev/skills/impeccable/scripts/impeccable live-server --background`, present the browser i - Network accessline 79
4. If mutation is available, start `.rovodev/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `im
.rovodev/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.rovodev/skills/impeccable/reference/generate.md
- Network accessline 49
.rovodev/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.rovodev/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.rovodev/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.rovodev/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.rovodev/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.rovodev/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.rovodev/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.rovodev/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.rovodev/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.rovodev/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.rovodev/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.rovodev/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.trae-cn/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.trae-cn/skills/impeccable/scripts/impeccable live-server --background`, present the browser i - Network accessline 79
4. If mutation is available, start `.trae-cn/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `im
.trae-cn/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.trae-cn/skills/impeccable/reference/generate.md
- Network accessline 49
.trae-cn/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.trae-cn/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.trae-cn/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.trae-cn/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.trae-cn/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.trae-cn/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.trae-cn/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.trae-cn/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.trae-cn/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.trae-cn/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.trae-cn/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.trae-cn/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.trae/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.trae/skills/impeccable/scripts/impeccable live-server --background`, present the browser if s - Network accessline 79
4. If mutation is available, start `.trae/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impec
.trae/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.trae/skills/impeccable/reference/generate.md
- Network accessline 49
.trae/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.trae/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.trae/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.trae/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.trae/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.trae/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.trae/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.trae/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.trae/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.trae/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.trae/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.trae/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.veto/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.veto/skills/impeccable/scripts/impeccable live-server --background`, present the browser if s - Network accessline 79
4. If mutation is available, start `.veto/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impec
.veto/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.veto/skills/impeccable/reference/generate.md
- Network accessline 49
.veto/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.veto/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.veto/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.veto/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.veto/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.veto/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.veto/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.veto/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.veto/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.veto/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.veto/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.veto/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
.vibe/skills/impeccable/SKILL.md
- Broad permissionsline 1
Bash(npx impeccable *)
.vibe/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `.vibe/skills/impeccable/scripts/impeccable live-server --background`, present the browser if s - Network accessline 79
4. If mutation is available, start `.vibe/skills/impeccable/scripts/impeccable live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impec
.vibe/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
.vibe/skills/impeccable/reference/generate.md
- Network accessline 49
.vibe/skills/impeccable/scripts/impeccable live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
.vibe/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
.vibe/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
.vibe/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
.vibe/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
.vibe/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
.vibe/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
.vibe/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
.vibe/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
.vibe/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
.vibe/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
.vibe/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
cursor-plugin/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `"<skill-base-dir>/scripts/impeccable" live-server --background`, present the browser if suppor - Network accessline 79
4. If mutation is available, start `"<skill-base-dir>/scripts/impeccable" live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impeccable
cursor-plugin/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
cursor-plugin/skills/impeccable/reference/generate.md
- Network accessline 49
"<skill-base-dir>/scripts/impeccable" live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
cursor-plugin/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
cursor-plugin/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
cursor-plugin/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
cursor-plugin/skills/impeccable/scripts/VERSION
- Executable scriptline 1
Executable file
cursor-plugin/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
cursor-plugin/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
cursor-plugin/skills/impeccable/scripts/live-browser-dom.js
- Executable scriptline 1
Executable file
cursor-plugin/skills/impeccable/scripts/live-browser-ignores.js
- Executable scriptline 1
Executable file
cursor-plugin/skills/impeccable/scripts/live-browser-session.js
- Executable scriptline 1
Executable file
cursor-plugin/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted]
cursor-plugin/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
plugin/.claude-plugin/plugin.json
- Network accessline 7
"email": "paul@paulbakaus.com" }, "homepage": "https://impeccable.style", - Network accessline 8
}, "homepage": "https://impeccable.style", "repository": "https://github.com/pbakaus/impeccable", - Network accessline 9
"homepage": "https://impeccable.style", - Network accessline 10
"repository": "https://github.com/pbakaus/impeccable",
plugin/skills/impeccable/reference/critique.md
- Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 77
2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count. 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4 - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `"<skill-base-dir>/scripts/impeccable" live-server --background`, present the browser if suppor - Network accessline 78
3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal. 4. If mutation is available, start `"<skill-base-dir>/scripts/impeccable" live-server --background`, present the browser if suppor - Network accessline 79
4. If mutation is available, start `"<skill-base-dir>/scripts/impeccable" live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impeccable - Network accessline 79
4. If mutation is available, start `"<skill-base-dir>/scripts/impeccable" live-server --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impeccable
plugin/skills/impeccable/reference/document.md
- Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect - Network accessline 3
DESIGN.md follows the [official DESIGN.md format spec](https://raw.githubusercontent.com/google-labs-code/design.md/main/docs/spec.md): optional YAML frontmatter carrying machine-readable design tokens, followed by up to eight markdown sect
plugin/skills/impeccable/reference/generate.md
- Network accessline 49
"<skill-base-dir>/scripts/impeccable" live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000 - Network accessline 49
"<skill-base-dir>/scripts/impeccable" live-generate --target src/App.jsx --dev-url http://127.0.0.1:5173/ --selector ".pricing-grid" --action bolder --count 3 --boot --wait-for-browser 60000
plugin/skills/impeccable/reference/live-setup.md
- Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 56
- **`append-arrays`**: CSP as structured directive arrays; auto-patchable (monorepo helpers with `additionalScriptSrc`/`additionalConnectSrc`, SvelteKit `kit.csp.directives`, Nuxt `nuxt-security`). - **`append-string`**: CSP as a literal va - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 58
- **`middleware`** / **`meta-tag`**: detected but not auto-patched. Show the user the detected files, ask them to add `http://localhost:8400` to `script-src` and `connect-src` manually, then mark `cspChecked: true` and proceed. - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 62
> **CSP patch needed.** I detected a Content Security Policy in your project that blocks `http://localhost:8400`: the live picker won't load without an allowance. Here's the change I'd make: - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 78
// Dev-only allowance so impeccable live mode can load. Guarded by NODE_ENV. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 80
process.env.NODE_ENV === "development" ? ["http://localhost:8400"] : []; - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 83
Per-framework: Next.js + monorepo helper: edit the *app's* `next.config.*` (not the shared helper), appending to `additionalScriptSrc` / `additionalConnectSrc`. SvelteKit: `svelte.config.js`, `kit.csp.directives['script-src']` and `['connec - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 90
// Dev-only allowance so impeccable live mode can load. const __impeccableLiveDev = process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 92
process.env.NODE_ENV === "development" ? " http://localhost:8400" : ""; - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 98
Per-framework: Next.js inline `headers()` in `next.config.*`; Nuxt `routeRules['/**'].headers['Content-Security-Policy']` in `nuxt.config.*`. Reference outputs: [nextjs-inline-csp/expected-after-patch.js](https://github.com/pbakaus/impeccab - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again. - Network accessline 102
If the user said "no" to the CSP patch and later reports live not working: their dev CSP blocks `http://localhost:8400`. Delete `cspChecked` from `.impeccable/live/config.json` and re-run `impeccable live`; setup asks again.
plugin/skills/impeccable/reference/live.md
- Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope > - Network accessline 201
For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope >
plugin/skills/impeccable/reference/routing.md
- Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid - Network accessline 5
Give advice without executing commands; the menu below is only for bare invocations. Consult relevant command references as needed for prerequisites and scope. Link to the [docs](https://impeccable.style/docs/) for the broader workflow guid
plugin/skills/impeccable/scripts/VERSION
plugin/skills/impeccable/scripts/impeccable
- Executable scriptline 1
#!/bin/sh - Executable scriptline 1
#!/bin/sh - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 161
} fetch_url() { if command -v curl >/dev/null 2>&1; then - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 162
fetch_url() { if command -v curl >/dev/null 2>&1; then curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 163
if command -v curl >/dev/null 2>&1; then - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 164
curl -fsSL --retry 2 -o "$tmp" "$1" 2>/dev/null - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 165
elif command -v wget >/dev/null 2>&1; then - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Network accessline 166
wget -q -O "$tmp" "$1" 2>/dev/null - Dangerous shell operationline 178
rm -f "$download_file" - Dangerous shell operationline 178
rm -f "$download_file" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 186
fi if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 187
if [ -n "$version" ] && [ "$os" != unknown ] && [ "$arch" != unknown ]; then base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" url="$base/engine-v$version/$asset" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 188
base="${IMPECCABLE_DOWNLOAD_BASE:-https://github.com/pbakaus/impeccable/releases/download}" - Network accessline 189
url="$base/engine-v$version/$asset" - Network accessline 189
url="$base/engine-v$version/$asset" - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Dangerous shell operationline 199
cleanup() { rm -f "$tmp" 2>/dev/null || :; } - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 214
fi fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 215
fetched=0 if [ -n "$expected" ] && fetch_url "$url"; then fetched=1 - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 216
if [ -n "$expected" ] && fetch_url "$url"; then - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 220
url="$base/engine-v$version/impeccable-windows-x64.exe" - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 221
expected=$expected_x64 fetch_url "$url" && fetched=1 fi - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 222
fetch_url "$url" && fetched=1 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 229
if [ -z "$actual" ]; then rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Dangerous shell operationline 230
rm -f "$tmp" - Dangerous shell operationline 230
rm -f "$tmp" - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 230
rm -f "$tmp" echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 exit 127 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 231
echo "impeccable: cannot verify $url (no sha256 tool, or hashing failed); refusing the unverified download" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 234
if [ "$actual" != "$expected" ]; then rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 - Dangerous shell operationline 235
rm -f "$tmp" - Dangerous shell operationline 235
rm -f "$tmp" - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 235
rm -f "$tmp" echo "impeccable: checksum mismatch downloading $url" >&2 exit 127 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 236
echo "impeccable: checksum mismatch downloading $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 241
check_download rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 - Dangerous shell operationline 242
rm -f "$tmp" - Dangerous shell operationline 242
rm -f "$tmp" - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 242
rm -f "$tmp" echo "impeccable: could not make the verified download executable: $url" >&2 exit 127 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 243
echo "impeccable: could not make the verified download executable: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 248
check_download rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 - Dangerous shell operationline 249
rm -f "$tmp" - Dangerous shell operationline 249
rm -f "$tmp" - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 249
rm -f "$tmp" echo "impeccable: could not cache the verified download: $url" >&2 exit 127 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 250
echo "impeccable: could not cache the verified download: $url" >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 257
fi rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Dangerous shell operationline 258
rm -f "$tmp" 2>/dev/null - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 258
rm -f "$tmp" 2>/dev/null echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 setup_help - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 259
echo "impeccable: could not download engine $version from $url; check network access, the release URL, and curl or wget availability." >&2 - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 264
echo "impeccable: no engine binary for $os-$arch found (looked in $bin, $cached, PATH)." >&2 echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impecc - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https: - Network accessline 265
echo "Download impeccable-$os-$arch from https://github.com/pbakaus/impeccable/releases (tag engine-v$version) into $cache_root/bin/$version/impeccable$exe (then chmod +x), or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https:
plugin/skills/impeccable/scripts/impeccable.cmd
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 111
where curl.exe >nul 2>nul if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 112
if errorlevel 1 goto curl_missing if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" if exist "%IMPECCABLE_HOME%\bin\%version%\" goto cache_ready - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 113
if not defined IMPECCABLE_DOWNLOAD_BASE set "IMPECCABLE_DOWNLOAD_BASE=https://github.com/pbakaus/impeccable/releases/download" - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 303
:fail echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IM - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 304
echo impeccable: no engine binary found (looked in %bin%, %cached%, PATH). 1>&2 echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCAB - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2 - Network accessline 305
echo Download impeccable-windows-%arch%.exe from https://github.com/pbakaus/impeccable/releases (tag engine-v%version%) and save it as %cached%, or set IMPECCABLE_BIN to a preinstalled engine binary. Docs: https://impeccable.style 1>&2
plugin/skills/impeccable/scripts/live-browser-dom.js
plugin/skills/impeccable/scripts/live-browser-ignores.js
plugin/skills/impeccable/scripts/live-browser-session.js
plugin/skills/impeccable/scripts/live-browser.js
- Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 2
* Impeccable Live Variant Mode - Browser Script * * Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 3
* * Injected into the user's page via <script src="http://localhost:PORT/live.js">. * The server prepends window.__IMPECCABLE_TOKEN__ and window.__IMPECCABLE_PORT__ - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 4
* Injected into the user's page via <script src="http://localhost:PORT/live.js">. - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 487
annotSvgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 595
annotState.strokes.forEach((s, idx) => { const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 596
const d = pointsToPath(s.points); const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); hit.setAttribute('d', d); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 597
const hit = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 606
hit.dataset.annotStroke = String(idx); annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 607
annotSvgEl.appendChild(hit); const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); visible.setAttribute('d', d); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 608
const visible = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 743
if (Math.hypot(dx, dy) < DRAG_THRESHOLD) return; annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 744
annotPointer.moved = true; const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); strokeEl.setAttribute('stroke', C.brand); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 745
const strokeEl = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 948
}); if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 949
if (strokes.length > 0) { const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); svg.setAttribute('viewBox', '0 0 ' + rect.width + ' ' + rect.height); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 950
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 955
}); for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 956
for (const s of strokes) { const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('stroke', C.brand); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 957
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); - Network accessline 3946
[Credential-related source omitted] - Network accessline 3946
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3947
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3948
[Credential-related source omitted] - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3981
dismissToast(); try { const res = await fetch( - Network accessline 3982
[Credential-related source omitted] - Network accessline 3982
[Credential-related source omitted] - Network accessline 3983
const res = await fetch( - Network accessline 3983
const res = await fetch( - Network accessline 3984
[Credential-related source omitted] - Network accessline 3984
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4060
[Credential-related source omitted] - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4372
async function fetchPendingCount() { try { const res = await fetch( - Network accessline 4373
[Credential-related source omitted] - Network accessline 4373
[Credential-related source omitted] - Network accessline 4374
const res = await fetch( - Network accessline 4374
const res = await fetch( - Network accessline 4375
[Credential-related source omitted] - Network accessline 4375
[Credential-related source omitted] - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4392
setPendingApplyLoading(true, count); try { const res = await fetch( - Network accessline 4393
[Credential-related source omitted] - Network accessline 4393
[Credential-related source omitted] - Network accessline 4394
const res = await fetch( - Network accessline 4394
const res = await fetch( - Network accessline 4395
[Credential-related source omitted] - Network accessline 4395
[Credential-related source omitted] - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4436
if (!ok) return; try { const res = await fetch( - Network accessline 4437
[Credential-related source omitted] - Network accessline 4437
[Credential-related source omitted] - Network accessline 4438
const res = await fetch( - Network accessline 4438
const res = await fetch( - Network accessline 4439
[Credential-related source omitted] - Network accessline 4439
[Credential-related source omitted] - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4475
updateManualApplyRepairState({ attempt: 1, maxAttempts: 3 }, 'repairing'); try { const res = await fetch( - Network accessline 4476
[Credential-related source omitted] - Network accessline 4476
[Credential-related source omitted] - Network accessline 4477
const res = await fetch( - Network accessline 4477
const res = await fetch( - Network accessline 4478
[Credential-related source omitted] - Network accessline 4478
[Credential-related source omitted] - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4491
if (!ok) return; try { const res = await fetch( - Network accessline 4492
[Credential-related source omitted] - Network accessline 4492
[Credential-related source omitted] - Network accessline 4493
const res = await fetch( - Network accessline 4493
const res = await fetch( - Network accessline 4494
[Credential-related source omitted] - Network accessline 4494
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5582
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5583
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5584
[Credential-related source omitted] - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5585
try { const res = await fetch(url); if (!res.ok) return {}; - Network accessline 5586
const res = await fetch(url); - Network accessline 5586
const res = await fetch(url); - Network accessline 6056
[Credential-related source omitted] - Network accessline 6056
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6057
[Credential-related source omitted] - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6058
try { const res = await fetch(url); if (!res.ok) throw new Error(String(res.status)); - Network accessline 6059
const res = await fetch(url); - Network accessline 6059
const res = await fetch(url); - Network accessline 6527
[Credential-related source omitted] - Network accessline 6527
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6528
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6529
[Credential-related source omitted] - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6553
showToast('Could not read the source file to check this session; it stays open and is checked again on the next event.', 5500); }; fetch(url) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6554
}; fetch(url) .then(r => { if (!r.ok) throw new Error('source read failed: ' + r.status); return r.text(); }) - Network accessline 6555
fetch(url) - Network accessline 6555
fetch(url) - Network accessline 6684
[Credential-related source omitted] - Network accessline 6684
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6685
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6686
[Credential-related source omitted] - Network accessline 6687
fetch(url) - Network accessline 6687
fetch(url) - Network accessline 7416
[Credential-related source omitted] - Network accessline 7416
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7417
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7538
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7539
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7806
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 7807
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8064
[Credential-related source omitted] - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8685
msLoadPromise = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8686
const s = document.createElement('script'); s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; s.onload = () => resolve(window.modernScreenshot); - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8687
s.src = 'http://localhost:' + PORT + '/modern-screenshot.js'; - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8731
await Promise.all([...urls].map(async (url) => { try { const res = await fetch(url); - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8732
try { const res = await fetch(url); if (!res.ok) return; - Network accessline 8733
const res = await fetch(url); - Network accessline 8733
const res = await fetch(url); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8758
if (!sheet.href) continue; try { const res = await fetch(sheet.href); - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8759
try { const res = await fetch(sheet.href); if (!res.ok) continue; - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 8760
const res = await fetch(sheet.href); - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9019
if (blob && hasAnnotations) { try { const uploadRes = await fetch( - Network accessline 9020
[Credential-related source omitted] - Network accessline 9020
[Credential-related source omitted] - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9021
const uploadRes = await fetch( - Network accessline 9022
[Credential-related source omitted] - Network accessline 9022
[Credential-related source omitted]
plugin/skills/impeccable/scripts/modern-screenshot.umd.js
- Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Network accessline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Possible obfuscationline 1
(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis!="undefined"?globalThis:y||self,v(y.modernScreenshot={}))})(this,function(y){"us - Executable scriptline 1
Executable file - Executable scriptline 1
Executable file - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Possible obfuscationline 6
`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute("width"))||0,n=n||i.height||Number(e.getAttribute("height"))||0}return{width:r,he - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Network accessline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 7
`);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(this,null,function*(){if(I(r)&&(ot(r)||at(r))||n.filter&&!n.filter(r))return;Te.has(t. - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 10
`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,"");for(;;){const a=Pe.exec(r);if(!a)break;t.push(a[0])}r=r.replace(Pe,"");const - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C( - Possible obfuscationline 14
`}),s.appendChild(n.createTextNode(S))}i.timeEnd("clone node"),yield m==null?void 0:m(g),u!==!1&&I(g)&&(i.time("embed web font"),yield qt(g,r),i.timeEnd("embed web font")),i.time("embed node"),De(g,r);const p=a.length;let E=0;const b=()=>C(
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 15 facts
- Contacts github.com, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/impeccable:188High confidence
- Contacts impeccable.style, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/impeccable:265High confidence
- Contacts github.com, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/impeccable.cmd:113High confidence
- Contacts impeccable.style, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/impeccable.cmd:305High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/live-browser.js:487High confidence
- Contacts github.com, which SKILL.md, the README and the plugin manifest do not mention.claude/skills/impeccable/scripts/impeccable:188High confidence
- Contacts impeccable.style, which SKILL.md, the README and the plugin manifest do not mention.claude/skills/impeccable/scripts/impeccable:265High confidence
- Contacts github.com, which SKILL.md, the README and the plugin manifest do not mention.claude/skills/impeccable/scripts/impeccable.cmd:113High confidence
- Contacts impeccable.style, which SKILL.md, the README and the plugin manifest do not mention.claude/skills/impeccable/scripts/impeccable.cmd:305High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mention.claude/skills/impeccable/scripts/live-browser.js:487High confidence
- Contacts github.com, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/impeccable:188High confidence
- Contacts impeccable.style, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/impeccable:265High confidence
- Contacts github.com, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/impeccable.cmd:113High confidence
- Contacts impeccable.style, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/impeccable.cmd:305High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionimpeccable/scripts/live-browser.js:487High confidence
Signal confidence: 485 facts
- Broad permissions in the frontmatter of the SKILL.mdimpeccable/SKILL.md:1High confidence
- Network access in prose of documentationimpeccable/reference/critique.md:77Low confidence
- Network access in prose of documentationimpeccable/reference/critique.md:78Low confidence
- Network access in prose of documentationimpeccable/reference/critique.md:79Low confidence
- Network access in prose of documentationimpeccable/reference/document.md:3Low confidence
- Network access in code of documentationimpeccable/reference/generate.md:49Low confidence
- Network access in prose of documentationimpeccable/reference/live-setup.md:56Low confidence
- Network access in prose of documentationimpeccable/reference/live-setup.md:58Low confidence
- Network access in prose of documentationimpeccable/reference/live-setup.md:62Low confidence
- Network access in code of documentationimpeccable/reference/live-setup.md:78Low confidence
- Network access in code of documentationimpeccable/reference/live-setup.md:80Low confidence
- Network access in prose of documentationimpeccable/reference/live-setup.md:83Low confidence
- Network access in code of documentationimpeccable/reference/live-setup.md:90Low confidence
- Network access in code of documentationimpeccable/reference/live-setup.md:92Low confidence
- Network access in prose of documentationimpeccable/reference/live-setup.md:98Low confidence
- Network access in prose of documentationimpeccable/reference/live-setup.md:102Low confidence
- Network access in prose of documentationimpeccable/reference/live.md:201Low confidence
- Network access in prose of documentationimpeccable/reference/routing.md:5Low confidence
- Executable script in code of a file that runsimpeccable/scripts/VERSION:1High confidence
- Executable script in code of a file that runsimpeccable/scripts/impeccable:1High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:161High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:162High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:163High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:164High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:165High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:166High confidence
- Dangerous shell operation in code of a file that runsimpeccable/scripts/impeccable:178High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:186High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:187High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:188High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:189High confidence
- Dangerous shell operation in code of a file that runsimpeccable/scripts/impeccable:199High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:214High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:215High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:216High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:220High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:221High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:222High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:229High confidence
- Dangerous shell operation in code of a file that runsimpeccable/scripts/impeccable:230High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:230High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:231High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:234High confidence
- Dangerous shell operation in code of a file that runsimpeccable/scripts/impeccable:235High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:235High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:236High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:241High confidence
- Dangerous shell operation in code of a file that runsimpeccable/scripts/impeccable:242High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:242High confidence
- Network access in code of a file that runsimpeccable/scripts/impeccable:243High confidence
and 435 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Native | Path .cursor/agents/impeccable-asset-producer.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Path .gemini/settings.json | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Native | Path .github/skills/impeccable/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Native | Path .opencode/commands/impeccable.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/pbakaus-impeccable/)