Not in the top 1,000 by GitHub stars
MohamedAbdallah-14/prompt-to-asset
MCP server + CLI for production-grade software assets (logos, app icons, favicons, OG, illustrations) — routes across 30+ image models, zero-key first, validates before shipping.
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
.windsurf/skills/app-icon/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/asset-enhancer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/asset-validation-debug/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/brand-consistency/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/favicon/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/illustration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/logo/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/og-image/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/svg-authoring/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/t2i-prompt-dialect/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/transparent-bg/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/ui-mockup-prompt/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
.windsurf/skills/vectorize/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/app-icon/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/asset-enhancer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/asset-validation-debug/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/brand-consistency/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/favicon/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/illustration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/logo/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/og-image/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/svg-authoring/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/t2i-prompt-dialect/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/transparent-bg/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/ui-mockup-prompt/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
plugins/prompt-to-asset/skills/vectorize/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/app-icon/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/asset-enhancer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/asset-validation-debug/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/brand-consistency/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/favicon/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/illustration/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/logo/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/og-image/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/svg-authoring/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/t2i-prompt-dialect/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/transparent-bg/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/ui-mockup-prompt/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
skills/vectorize/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
1e66880c2a2a → 1e66880c2a2a
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 1e66880c2a2a
No earlier version was observed for comparison.
Verified commit 1e66880c2a2a34f35bf9bc55ad64194f8185109f
git clone --filter=blob:none --no-checkout https://github.com/MohamedAbdallah-14/prompt-to-asset.git .hotskills/mohamedabdallah-14-prompt-to-asset && git -C .hotskills/mohamedabdallah-14-prompt-to-asset checkout --detach 1e66880c2a2a34f35bf9bc55ad64194f8185109f
# Copy each selected skill directory from .hotskills/mohamedabdallah-14-prompt-to-asset into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/MohamedAbdallah-14/prompt-to-asset.git .hotskills/mohamedabdallah-14-prompt-to-asset && git -C .hotskills/mohamedabdallah-14-prompt-to-asset checkout --detach 1e66880c2a2a34f35bf9bc55ad64194f8185109f
# Copy each selected skill directory from .hotskills/mohamedabdallah-14-prompt-to-asset into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/MohamedAbdallah-14/prompt-to-asset.git .hotskills/mohamedabdallah-14-prompt-to-asset && git -C .hotskills/mohamedabdallah-14-prompt-to-asset checkout --detach 1e66880c2a2a34f35bf9bc55ad64194f8185109f
# Copy each selected skill directory from .hotskills/mohamedabdallah-14-prompt-to-asset into .cursor/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/MohamedAbdallah-14/prompt-to-asset.git .hotskills/mohamedabdallah-14-prompt-to-asset && git -C .hotskills/mohamedabdallah-14-prompt-to-asset checkout --detach 1e66880c2a2a34f35bf9bc55ad64194f8185109f
# Copy each selected skill directory from .hotskills/mohamedabdallah-14-prompt-to-asset into .gemini/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/MohamedAbdallah-14/prompt-to-asset.git .hotskills/mohamedabdallah-14-prompt-to-asset && git -C .hotskills/mohamedabdallah-14-prompt-to-asset checkout --detach 1e66880c2a2a34f35bf9bc55ad64194f8185109f
# Copy each selected skill directory from .hotskills/mohamedabdallah-14-prompt-to-asset into .github/skills/<skill-name>/Heat
0.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- app-icon
.windsurf/skills/app-icon - asset-enhancer
.windsurf/skills/asset-enhancer - asset-validation-debug
.windsurf/skills/asset-validation-debug - brand-consistency
.windsurf/skills/brand-consistency - favicon
.windsurf/skills/favicon - illustration
.windsurf/skills/illustration - logo
.windsurf/skills/logo - og-image
.windsurf/skills/og-image - svg-authoring
.windsurf/skills/svg-authoring - t2i-prompt-dialect
.windsurf/skills/t2i-prompt-dialect - transparent-bg
.windsurf/skills/transparent-bg - ui-mockup-prompt
.windsurf/skills/ui-mockup-prompt - vectorize
.windsurf/skills/vectorize - app-icon
plugins/prompt-to-asset/skills/app-icon - asset-enhancer
plugins/prompt-to-asset/skills/asset-enhancer - asset-validation-debug
plugins/prompt-to-asset/skills/asset-validation-debug - brand-consistency
plugins/prompt-to-asset/skills/brand-consistency - favicon
plugins/prompt-to-asset/skills/favicon - illustration
plugins/prompt-to-asset/skills/illustration - logo
plugins/prompt-to-asset/skills/logo - og-image
plugins/prompt-to-asset/skills/og-image - svg-authoring
plugins/prompt-to-asset/skills/svg-authoring - t2i-prompt-dialect
plugins/prompt-to-asset/skills/t2i-prompt-dialect - transparent-bg
plugins/prompt-to-asset/skills/transparent-bg - ui-mockup-prompt
plugins/prompt-to-asset/skills/ui-mockup-prompt - vectorize
plugins/prompt-to-asset/skills/vectorize - app-icon
skills/app-icon - asset-enhancer
skills/asset-enhancer - asset-validation-debug
skills/asset-validation-debug - brand-consistency
skills/brand-consistency - favicon
skills/favicon - illustration
skills/illustration - logo
skills/logo - og-image
skills/og-image - svg-authoring
skills/svg-authoring - t2i-prompt-dialect
skills/t2i-prompt-dialect - transparent-bg
skills/transparent-bg - ui-mockup-prompt
skills/ui-mockup-prompt - vectorize
skills/vectorize
How it works
app-icon
When your agent uses it
Generate an app icon from a single 1024² master and fan out to iOS (AppIcon.appiconset with squircle-ready 1024 opaque), Android (adaptive foreground + background + Android 13 monochrome), PWA (192/512 + 512 maskable with 80% safe zone), and visionOS (3-layer parallax).
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
1,203 tokensWhen the skill is activated
Reference documents
103,968 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Platform requirements (non-negotiable)
- Generation — mark, then pack
- Prompt scaffold
- Android 13 monochrome derivation
- Validation
- Output
Files
../../../.claude-plugin/plugin.jsonasset487 bytesSKILL.mdcore4,340 bytes../../../plugins/prompt-to-asset/.claude-plugin/plugin.jsonasset487 bytes../../../plugins/prompt-to-asset/skills/app-icon/SKILL.mddoc4,340 bytes../../../plugins/prompt-to-asset/skills/asset-enhancer/SKILL.mddoc17,276 bytes../../../plugins/prompt-to-asset/skills/asset-validation-debug/SKILL.mddoc8,119 bytes../../../plugins/prompt-to-asset/skills/brand-consistency/SKILL.mddoc7,510 bytes../../../plugins/prompt-to-asset/skills/favicon/SKILL.mddoc3,318 bytes../../../plugins/prompt-to-asset/skills/illustration/SKILL.mddoc3,607 bytes../../../plugins/prompt-to-asset/skills/logo/SKILL.mddoc3,683 bytes../../../plugins/prompt-to-asset/skills/og-image/SKILL.mddoc3,048 bytes../../../plugins/prompt-to-asset/skills/svg-authoring/SKILL.mddoc7,540 bytes../../../plugins/prompt-to-asset/skills/t2i-prompt-dialect/SKILL.mddoc11,036 bytes../../../plugins/prompt-to-asset/skills/transparent-bg/SKILL.mddoc4,199 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/SKILL.mddoc21,735 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/anti-slop-detail.mddoc11,509 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/craft-rules-condensed.mddoc10,885 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/laws-of-ux.mddoc23,665 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/_skeleton.mddoc2,881 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/flux-2-pro.mddoc7,175 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/gpt-image-1.5.mddoc5,522 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/gpt-image-2.mddoc6,560 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/ideogram-3-turbo.mddoc5,805 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/midjourney-v7.mddoc5,241 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/nano-banana-pro.mddoc8,261 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/routing-evidence.mddoc5,305 bytes../../../plugins/prompt-to-asset/skills/ui-mockup-prompt/references/surface-patterns.mddoc14,529 bytes../../../plugins/prompt-to-asset/skills/vectorize/SKILL.mddoc3,293 bytes../../../skills/app-icon/SKILL.mddoc4,340 bytes../../../skills/asset-enhancer/SKILL.mddoc17,276 bytes../../../skills/asset-validation-debug/SKILL.mddoc8,119 bytes../../../skills/brand-consistency/SKILL.mddoc7,510 bytes../../../skills/favicon/SKILL.mddoc3,318 bytes../../../skills/illustration/SKILL.mddoc3,607 bytes../../../skills/logo/SKILL.mddoc3,683 bytes../../../skills/og-image/SKILL.mddoc3,048 bytes../../../skills/svg-authoring/SKILL.mddoc7,540 bytes../../../skills/t2i-prompt-dialect/SKILL.mddoc11,036 bytes../../../skills/transparent-bg/SKILL.mddoc4,199 bytes../../../skills/ui-mockup-prompt.skillasset50,172 bytes../../../skills/ui-mockup-prompt/SKILL.mddoc21,735 bytes../../../skills/ui-mockup-prompt/evals/evals.jsonasset5,024 bytes../../../skills/ui-mockup-prompt/evals/evals.jsonasset5,024 bytes../../../skills/ui-mockup-prompt/references/anti-slop-detail.mddoc11,509 bytes../../../skills/ui-mockup-prompt/references/craft-rules-condensed.mddoc10,885 bytes../../../skills/ui-mockup-prompt/references/laws-of-ux.mddoc23,665 bytes../../../skills/ui-mockup-prompt/references/models/_skeleton.mddoc2,881 bytes../../../skills/ui-mockup-prompt/references/models/flux-2-pro.mddoc7,175 bytes../../../skills/ui-mockup-prompt/references/models/gpt-image-1.5.mddoc5,522 bytes../../../skills/ui-mockup-prompt/references/models/gpt-image-2.mddoc6,560 bytes../../../skills/ui-mockup-prompt/references/models/ideogram-3-turbo.mddoc5,805 bytes../../../skills/ui-mockup-prompt/references/models/midjourney-v7.mddoc5,241 bytes../../../skills/ui-mockup-prompt/references/models/nano-banana-pro.mddoc8,261 bytes../../../skills/ui-mockup-prompt/references/routing-evidence.mddoc5,305 bytes../../../skills/ui-mockup-prompt/references/surface-patterns.mddoc14,529 bytes../../../skills/vectorize/SKILL.mddoc3,293 bytes
Read SKILL.md
# App icon generation
## Platform requirements (non-negotiable)
| Platform | Size/format | Transparency | Safe zone |
|---|---|---|---|
| **iOS App Store** | 1024×1024 PNG, **no alpha** | **opaque** | squircle mask applied by OS; keep subject in 824px center |
| iOS device | 180, 167, 152, 120, 87, 80, 76, 60, 58, 40, 29, 20 (@1x, @2x, @3x) | opaque | same |
| iOS 18 dark / tinted | Icon Composer layered source | per-layer | same |
| **Android adaptive** | 108 dp foreground + 108 dp background; 72 dp visible safe zone | FG yes / BG no | 72 dp of 108 dp |
| Android 13 monochrome | themed drawable | yes | same |
| Google Play | 512×512 PNG, no alpha | opaque | — |
| **PWA** | 192, 512 `any`; 512 `maskable` | `maskable`: opaque + 80% safe zone | 80% of 512 for maskable |
| **visionOS** | 3× 1024² PNGs (parallax layers) | per-layer | — |View the complete source on GitHubasset-enhancer
When your agent uses it
Classify a software-asset brief (logo, app icon, favicon, OG image, illustration, splash, icon pack, transparent mark), route to the right image model, rewrite the prompt in the target model's dialect, pick an execution mode (inline_svg / external_prompt_only / api) based on what's actually available, and run the pipeline. Use whenever the user asks for any visual asset for a software product.
What it loads into context
Frontmatter
162 tokensAlways available to the agent
SKILL.md
4,712 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
- Cardinal rules
- Three execution modes
- Recommended flow
- Asset taxonomy — closed enum
- Pipeline (api mode)
- Model routing (data-driven)
- Dialect rules per provider
- Brand bundle
- Validation
- Regenerate vs. repair
- Caching
- Output contracts
- Research
Files
SKILL.mdcore17,276 bytes
Read SKILL.md
# asset-enhancer skill
Comprehensive behavior spec for producing production-grade software-development assets. Drives every `asset_*` MCP tool.
## Cardinal rules
> 1. Producing production-grade software assets is a **routing + post-processing** problem, not a prompt-engineering problem.
> 2. The user may not have an image-model API key. The plugin must work anyway.
> 3. There are real zero-key and free-token paths — always surface them first before asking the user to pay for anything. The `free_api.routes` block in `asset_capabilities()` enumerates the ranked free programmatic routes: Cloudflare Workers AI (Flux-1-Schnell + SDXL, 10k neurons/day), NVIDIA NIM (Flux / SDXL / SANA, 1k requests/month with `NVIDIA_API_KEY`, no card), HF Inference (free `HF_TOKEN`), Stable Horde (anonymous queue), Pollinations (zero-signup HTTP, last resort), and local ComfyUI. **Google's Gemini / Imagen image API is paid for programmatic image output** — unbilled `GEMINI_API_KEY` → HTTP 429, `limit: 0`. The AI Studio **web UI** at https://aistudio.google.com is still free for interactive generation — treat it as a paste-only flow (`external_prompt_only` → `asset_ingest_external`).
See `rules/asset-enhancer-activate.md` for the condensed always-on version. This file is the long-form spec.
## Three execution modes
View the complete source on GitHubasset-validation-debug
When your agent uses it
Diagnose and repair asset-generation failures. Maps tier-0/1/2 validation codes (checkerboard, missing alpha, safe-zone violation, palette drift, garbled wordmark, low contrast) to concrete repair primitives (matte, inpaint, route change, seed sweep, composite). Applies a retry budget so Claude does not loop on hopeless regenerations.
What it loads into context
Frontmatter
113 tokensAlways available to the agent
SKILL.md
2,162 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
- Failure code → repair table
- Diagnosis tree
- Repair primitives — cost / ROI
- Route-change rules for architectural failures
- Proactive (pre-generation) checks
- Where the codes come from
- Integration with systematic debugging
- Evidence to log per pipeline boundary
- Research
Files
SKILL.mdcore8,119 bytes
Read SKILL.md
# Asset validation + repair
Triggered when `asset_validate()`, `asset_generate_*`, or `asset_save_inline_svg` returns warnings or errors. Do NOT loop on the same failure; follow the tree and respect the retry budget.
## Failure code → repair table
| Code | Origin | Repair primitive | Retry budget |
|---|---|---|---|
| `T0_CHECKERBOARD` | Imagen/Gemini rendering fake transparency | **Route change** → `gpt-image-1` (`background:"transparent"`), Ideogram v3 (`style:"transparent"`), Recraft V3 | 2 |
| `T0_ALPHA_MISSING` | RGB-only output on transparency-required asset | **Matte** via `asset_remove_background` (BiRefNet preferred, RMBG fallback) | 1 |
| `T0_DIMENSIONS` | wrong `width`/`height` API params | Fix params, regenerate | 1 |
| `T0_SAFE_ZONE` | subject bleeds outside platform center | Regenerate with explicit `"centered with 20% padding on all sides"` | 1 |
| `T0_FILE_SIZE` (SVG) | path count blows budget | `asset_save_inline_svg` → SVGO → K-means color reduction → vtracer | 1 |
| `T0_DCT_ENTROPY` | solid-color / NSFW-filter hit | Regenerate same params once; if repeats, change prompt | 1 |View the complete source on GitHubbrand-consistency
When your agent uses it
Maintain visual coherence across a multi-asset brand set (logo + app icon + favicon + illustrations). Builds BrandBundle (palette, typography, style refs, do-not list), enforces palette per model (Recraft `controls.colors`, Midjourney `--sref`, IP-Adapter, LoRA), validates style similarity with CSD and palette ΔE2000, and promotes accepted assets into the reference set so each new generation tightens the lock.
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
2,033 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
- BrandBundle shape
- Palette enforcement per model (strongest → weakest)
- Style reference management
- LoRA training workflow (≥20-asset sets)
- Asset-type adaptation
- Do-not list encoding
- Typography consistency
- Validation across the set
- Convergence detection
- Common mistakes
- Research
Files
SKILL.mdcore7,510 bytesSKILL.mdcore7,510 bytes
Read SKILL.md
# Brand consistency
Engaged when a user is generating more than one asset for the same brand, or when an existing `brand.json` / `brand.md` is in play. Wraps `asset_brand_bundle_parse`, `asset_generate_*`, and validation.
## BrandBundle shape
```yaml
palette:
- { name: primary, hex: "#0A1F44", usage: mark }
- { name: accent, hex: "#FF6B6B", usage: highlight }
- { name: neutral, hex: "#FAFAFA", usage: background }
typography:
primary: { family: "Geist Sans", fallback: "geometric sans-serif, bold" }
secondary: { family: "Geist Mono", fallback: "monospace" }View the complete source on GitHubfavicon
When your agent uses it
Generate a full favicon bundle — favicon.ico (16/32/48 multi-res), icon.svg with prefers-color-scheme dark support, apple-touch-icon.png 180×180 opaque, and PWA 192/512/512-maskable — from a brand mark or a mark prompt.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
900 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
- What modern browsers actually want (see research 11)
- Generation strategy
- Prompt scaffold for raster fallback
- Dark-mode variant
- Validation (critical for favicons)
- Output
Files
SKILL.mdcore3,318 bytes
Read SKILL.md
# Favicon generation
## What modern browsers actually want (see research 11)
```html
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/svg+xml" href="/icon.svg">
<link rel="icon" type="image/svg+xml" href="/icon-dark.svg" media="(prefers-color-scheme: dark)">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/manifest.webmanifest">
```
| File | Size | Alpha | Notes |
|---|---|---|---|View the complete source on GitHubillustration
When your agent uses it
Generate an in-product illustration (empty state, onboarding, hero, spot art) that obeys a brand bundle. Uses IP-Adapter / LoRA / Recraft style_id / Flux.2 brand refs for consistency across a set; validates palette ΔE2000 and style adherence.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
894 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
- The consistency problem
- Routing
- Brand bundle injection
- Prompt scaffold
- Post-processing
- Full-set propagation
- Output
Files
SKILL.mdcore3,607 bytes
Read SKILL.md
# Illustration generation
## The consistency problem
A single illustration is easy. **A set of twelve in the same style** is the hard problem. Research 10 + 15: prompt words drift; reference images do not. Any illustration skill must inject a brand style reference at every call.
## Routing
| Model | Brand lock mechanism | Best for |
|---|---|---|
| **Flux Pro / Flux.2** | `reference_images[]` (up to 8 in Flux.2) + brand LoRA | Photoreal, stylized 3D, brand illustration sets |
| **SDXL + brand LoRA** | trained LoRA (6d recipe, ~5k steps on 20 images) | Bespoke brand style, open-weight |
| **Recraft V3** | `style_id` (brand magic) | Flat vector, editorial illustration |
| **Ideogram 3** | style codes | Loose "same vibe" — not strict lock |View the complete source on GitHublogo
When your agent uses it
Generate a production-grade logo (primary brand mark). Returns RGBA PNG master + SVG vector + monochrome variant. Route by text-length and per-model ceiling. Strong-text models render multi-word and even paragraph-length wordmarks reliably; weak-text models composite SVG type post-render.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
1,037 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
- Spec
- Routing by intent
- Dialect-ready prompt scaffold
- Post-process
- Failure → action
- Output
Files
SKILL.mdcore3,683 bytes
Read SKILL.md
# Logo generation
## Spec
- **Master:** 1024×1024 RGBA PNG, transparent background, subject centered in 80% safe zone
- **Vector:** SVG, ≤200 paths, fixed viewBox, SVGO optimized
- **Monochrome:** 1-color mono variant (auto-derived via luminance threshold or separate generation)
- **Wordmark routing — model-specific, not blanket:**
- **Paragraph-length OK:** `gpt-image-2`, `gemini-3-pro-image-preview` (Nano Banana Pro), `gpt-image-1.5`. Include the wordmark in the prompt; composite stays safer for pixel-exact UI copy.
- **3–10 words reliable:** `ideogram-3` / `ideogram-3-turbo`, `gemini-3.1-flash-image-preview` (Nano Banana 2), `gpt-image-1`, `flux-2` family.
- **≤3 words / ≤25 chars:** Imagen 4 family, Recraft V4.
- **Composite always:** Flux 1.x, Flux Schnell, SDXL, SD 1.5, Mystic, Pollinations, original Nano Banana 1.
## Routing by intent
| text in mark? | vector needed? | primary | fallback |View the complete source on GitHubog-image
When your agent uses it
Generate an Open Graph / Twitter Card social unfurler image — 1200×630 JPEG/PNG, <5MB, with deterministic typography. Defaults to Satori + @resvg/resvg-js template rendering (no diffusion). Diffusion is optional and only for the hero art layer composited behind the template.
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
805 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
- Spec
- Architecture
- Templates (canonical)
- Validation
- Output
Files
SKILL.mdcore3,048 bytes
Read SKILL.md
# OG image generation
## Spec
- **Dimensions:** 1200×630 (OG 1.91:1) primary. Optional: 1080×1080 square (Instagram), 2:1 Twitter Card `summary_large_image`.
- **Format:** PNG or JPEG, <5MB, served over absolute HTTPS URL, no auth headers.
- **Text:** Deterministic — use Satori + real fonts. **Never sample typography from a diffusion model** for OG cards; headlines get garbled (see logo skill § 3-word rule).
- **Headline:** ≤8 words, 64–96pt. Subheadline: ≤15 words, 28–36pt.
- **Contrast:** WCAG AA min 4.5:1 (Slack/Discord render inside their own color backgrounds).
## Architecture
**Default: template-based, no diffusion.** The OG engine is:
View the complete source on GitHubsvg-authoring
When your agent uses it
Author production-grade inline SVG (logos, favicons, icon packs, stickers, transparent marks) when the P2A `inline_svg` execution mode is selected. Enforces viewBox, path-budget, palette, optical balance, and small-scale legibility rules so the emitted `<svg>` survives `asset_save_inline_svg` validation and renders crisp from 16×16 through 1024×1024.
What it loads into context
Frontmatter
121 tokensAlways available to the agent
SKILL.md
2,018 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
- Hard constraints (non-negotiable)
- Design principles (from frontend-design, adapted for SVG)
- SVG grammar cheatsheet
- Style taxonomy
- Small-scale survivability check
- Text inside SVG
- Color application
- Failure patterns to avoid
- Round-trip contract
- Research
Files
SKILL.mdcore7,540 bytes
Read SKILL.md
# SVG authoring (inline_svg mode)
Engaged when `asset_generate_*` returns an `InlineSvgPlan`. Read `svg_brief` (viewBox, palette, path_budget, require[], do_not[], skeleton) and emit one `<svg>…</svg>` code block that honors every constraint. Then call `asset_save_inline_svg({ svg, asset_type })` so the file lands on disk.
## Hard constraints (non-negotiable)
| Asset type | viewBox | Path budget | Colors | Safe-zone | Notes |
|---|---|---|---|---|---|
| `logo` | `0 0 120 120` (or brief-specified) | ≤40 | 2–4 hex | subject fits inside 80% center box | Flat, geometric, closed shapes |
| `favicon` (master SVG) | `0 0 64 64` | ≤30 | 2–3 hex | legible at 16×16 after downsampling | ≥2px stroke equivalent at 16² |
| `icon_pack` (per icon) | `0 0 24 24` | ≤8 | monocolor (`currentColor`) OR 2 tones | 2px grid, 1.5–2px strokes | All icons share grid + stroke weight |
| `sticker` | `0 0 240 240` | ≤60 | up to 6 hex | bleed allowed; no hard edge requirement | Chunkier line weights OK |
| `transparent_mark` | `0 0 200 200` | ≤40 | 2–3 hex | 80% center | Never emit `<rect fill="white">` as "background" |
| `app_icon` master | `0 0 1024 1024` | ≤60 | 3–5 hex | iOS HIG 824² center | Opaque bg allowed; no alpha needed on this one |View the complete source on GitHubt2i-prompt-dialect
When your agent uses it
Rewrite an asset brief into the exact prompt dialect of the target image model (OpenAI gpt-image-1, Google Imagen/Gemini, SDXL, Flux.1/Flux.2, Midjourney, Ideogram, Recraft). Handles negative-prompt translation, token budgets, transparency quirks, brand-palette injection, and text-in-image ceilings so that `asset_generate_*` submissions succeed on the first try.
What it loads into context
Frontmatter
122 tokensAlways available to the agent
SKILL.md
3,010 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
- Per-model rules (quick card, verified Apr 2026)
- Negative-prompt translation
- Text-in-image — model-specific ceilings, not a blanket rule
- Brand injection per model
- Dialect-rewrite template (logo example)
- Pre-submission checklist
- Common mistakes
- Research
Files
SKILL.mdcore11,036 bytes
Read SKILL.md
# T2I prompt dialect
Runs between `asset_enhance_prompt()` and `asset_generate_*()`. Takes a normalized brief plus a target model and emits a prompt that honors that model's syntax, token budget, and quirks.
## Per-model rules (quick card, verified Apr 2026)
| Model | Grammar | Token / char ceiling | Negative prompt | Transparency | Text ceiling |
|---|---|---|---|---|---|
| `gpt-image-2` | Prose | ~100 words | silently ignored | **NOT supported — `background:"transparent"` 400s** (regression vs 1.5) — route transparent jobs to gpt-image-1.5 instead | ~80 chars / paragraph (~99% accuracy per third-party tests) |
| `gpt-image-1.5` | Prose | ~100 words | silently ignored | API param `background: "transparent"` | dense text ~60 chars (LM Arena #1) |
| `gpt-image-1` | Prose | ~100 words | silently ignored | API param `background: "transparent"` | ~50 chars / ≤5 words |
| Imagen 4 (Fast/Standard/Ultra) | Narrative prose, ≥30 words suppresses auto-rewriter | unbounded | **`negativePrompt` accepted on Vertex AI; ignored on Gemini API** | never request in prompt (renders checkerboard as RGB) | ≤25 chars per Google's own guidance |
| Gemini 3.1 Flash Image (Nano Banana 2) | Prose | unbounded | ignored | renders checkerboard | ~50 chars / ~90% accuracy (#1 Image Arena at launch — strong-text, not weak) |
| Gemini 3 Pro Image (Nano Banana Pro) | Prose | unbounded | ignored | renders checkerboard | paragraph-length reliable (~94-96% accuracy) |View the complete source on GitHubtransparent-bg
When your agent uses it
Produce a truly RGBA-transparent asset from a brief. Handles the
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
1,109 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
- The problem (see research 13 + 04)
- Fix hierarchy (apply first that fits)
- Validation (never ship without)
- Prompt scaffold for fallback matting flow
- Never do this
- Output
Files
SKILL.mdcore4,199 bytes
Read SKILL.md
# Transparent background
## The problem (see research 13 + 04)
Almost every modern T2I VAE is **RGB-only**. Asking Imagen 3/4 or Gemini 2.5/3 Flash Image for a "transparent logo" triggers one of two failures:
1. **Flat background** — DALL·E 3, Stable Diffusion families render a white/gray background that must be matted.
2. **Checkerboard as RGB pixels** — Gemini/Imagen literally render the gray-and-white 8×8 tile pattern (because Photoshop screenshots in their training data show transparency that way). This is the "weird boxes" users report. **It cannot be fixed by prompting.**
## Fix hierarchy (apply first that fits)
### 1. Route to a native-RGBA provider
| Provider | Mechanism |View the complete source on GitHubui-mockup-prompt
When your agent uses it
Translate a UI brief (a page, a screen, a single component, a feature) into a paste-ready prompt for Nano Banana Pro / gpt-image-2 / Ideogram / Flux 2 / Midjourney that produces a designer-grade mockup as visual inspiration — not pixel-spec UI, not AI slop. Use whenever the user asks for "imagine the X page", "mock up the Y screen", "give me a prompt for nano banana / gpt image 2 to design", "describe this UI for an image model", "draft a prompt for the designer to take inspiration from", or any time the agent needs to produce a UI image-gen prompt for a real product surface (pricing page, dashboard, settings, onboarding, mobile screen, marketing hero, single component). Be pushy — trigger even when the user says "design" without "prompt", or "show me what X could look like" — the agent should reach for this skill before hand-rolling a brief.
What it loads into context
Frontmatter
213 tokensAlways available to the agent
SKILL.md
5,126 tokensWhen the skill is activated
Reference documents
26,111 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Four things this skill must do, in order
- When the agent invokes this skill
- Routing decision
- The cardinal anti-slop rules
- What "design intelligence" means in the prompt
- The slot-labeled prompt skeleton
- Output contract
- Defaults the skill assumes silently
- When NOT to use this skill
- Reference files in this skill
Files
SKILL.mdcore21,735 bytesreferences/anti-slop-detail.mddoc11,509 bytesreferences/craft-rules-condensed.mddoc10,885 bytesreferences/laws-of-ux.mddoc23,665 bytesreferences/models/_skeleton.mddoc2,881 bytesreferences/models/flux-2-pro.mddoc7,175 bytesreferences/models/gpt-image-1.5.mddoc5,522 bytesreferences/models/gpt-image-2.mddoc6,560 bytesreferences/models/ideogram-3-turbo.mddoc5,805 bytesreferences/models/midjourney-v7.mddoc5,241 bytesreferences/models/nano-banana-pro.mddoc8,261 bytesreferences/routing-evidence.mddoc5,305 bytesreferences/surface-patterns.mddoc14,529 bytes
Read SKILL.md
# ui-mockup-prompt
This skill turns a UI brief into a single paste-ready prompt for a strong-text image model (gpt-image-2, Nano Banana Pro, Ideogram 3 Turbo, Flux 2 Pro, Midjourney v7) that produces designer-quality mockups for **inspiration**, not pixel-exact production UI.
The output is for a working designer to riff on. They will redo the spacing, the radius, the font, the exact palette. What they need from the image is a **visual direction with soul** — one that isn't AI-default purple-gradient-on-white-Inter-rounded-card slop.
## Four things this skill must do, in order
1. **Identify the surface and its job.** A pricing page, a dashboard, a settings screen, an onboarding flow — each has a different job. Aesthetic commitment is constrained by what the surface must *do*, not chosen freely. Look the surface up in `references/surface-patterns.md`.
2. **Pick the right model.** Text density, transparency need, available references, and budget all flow into a routing decision the calling agent should not have to think about.
3. **Compose a slot-labeled prompt** in that model's specific dialect, with the universal anti-slop rules, craft-grounded design intelligence, and the surface's UX-pattern requirements baked in.
4. **Return the bundle:** chosen model + reasoning + paste-ready prompt + multi-ref recipe (if the user has refs) + validation reminder (with surface-specific UX checks).
The prompt should resist AI defaults *by construction*. The model still has freedom — the skill commits to one bold aesthetic direction *constrained by the surface's job* and writes the prompt around it, instead of letting the model fall back to indigo + Inter + rounded cards OR to editorially-polished output that violates the page's UX fundamentals.View the complete source on GitHubvectorize
When your agent uses it
Convert a raster image to SVG. Three paths — Recraft hosted vectorization, vtracer (multi-color polygon), potrace (1-bit). Optimizes with SVGO; validates path count as a quality signal.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
864 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
- Three paths
- Choosing the path
- Path-count quality signal
- SVGO configuration
- Validation
- Output
Files
SKILL.mdcore3,293 bytesSKILL.mdcore3,293 bytes
Read SKILL.md
# Vectorize
## Three paths
### 1. Recraft `/vectorize` (hosted, highest quality)
Input: any raster. Output: clean SVG, typically 20–100 paths for a mark, 200–500 for an illustration. Commercial tier only.
```ts
const svg = await recraft.vectorize({ image: pngBuffer });
```
### 2. `vtracer` (local, multi-color polygon)
View the complete source on GitHubapp-icon
When your agent uses it
Generate an app icon from a single 1024² master and fan out to iOS (AppIcon.appiconset with squircle-ready 1024 opaque), Android (adaptive foreground + background + Android 13 monochrome), PWA (192/512 + 512 maskable with 80% safe zone), and visionOS (3-layer parallax).
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
1,203 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
- Platform requirements (non-negotiable)
- Generation — mark, then pack
- Prompt scaffold
- Android 13 monochrome derivation
- Validation
- Output
Files
SKILL.mdcore4,340 bytes
Read SKILL.md
# App icon generation
## Platform requirements (non-negotiable)
| Platform | Size/format | Transparency | Safe zone |
|---|---|---|---|
| **iOS App Store** | 1024×1024 PNG, **no alpha** | **opaque** | squircle mask applied by OS; keep subject in 824px center |
| iOS device | 180, 167, 152, 120, 87, 80, 76, 60, 58, 40, 29, 20 (@1x, @2x, @3x) | opaque | same |
| iOS 18 dark / tinted | Icon Composer layered source | per-layer | same |
| **Android adaptive** | 108 dp foreground + 108 dp background; 72 dp visible safe zone | FG yes / BG no | 72 dp of 108 dp |
| Android 13 monochrome | themed drawable | yes | same |
| Google Play | 512×512 PNG, no alpha | opaque | — |
| **PWA** | 192, 512 `any`; 512 `maskable` | `maskable`: opaque + 80% safe zone | 80% of 512 for maskable |
| **visionOS** | 3× 1024² PNGs (parallax layers) | per-layer | — |View the complete source on GitHubasset-enhancer
When your agent uses it
Classify a software-asset brief (logo, app icon, favicon, OG image, illustration, splash, icon pack, transparent mark), route to the right image model, rewrite the prompt in the target model's dialect, pick an execution mode (inline_svg / external_prompt_only / api) based on what's actually available, and run the pipeline. Use whenever the user asks for any visual asset for a software product.
What it loads into context
Frontmatter
162 tokensAlways available to the agent
SKILL.md
4,712 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
- Cardinal rules
- Three execution modes
- Recommended flow
- Asset taxonomy — closed enum
- Pipeline (api mode)
- Model routing (data-driven)
- Dialect rules per provider
- Brand bundle
- Validation
- Regenerate vs. repair
- Caching
- Output contracts
- Research
Files
SKILL.mdcore17,276 bytes
Read SKILL.md
# asset-enhancer skill
Comprehensive behavior spec for producing production-grade software-development assets. Drives every `asset_*` MCP tool.
## Cardinal rules
> 1. Producing production-grade software assets is a **routing + post-processing** problem, not a prompt-engineering problem.
> 2. The user may not have an image-model API key. The plugin must work anyway.
> 3. There are real zero-key and free-token paths — always surface them first before asking the user to pay for anything. The `free_api.routes` block in `asset_capabilities()` enumerates the ranked free programmatic routes: Cloudflare Workers AI (Flux-1-Schnell + SDXL, 10k neurons/day), NVIDIA NIM (Flux / SDXL / SANA, 1k requests/month with `NVIDIA_API_KEY`, no card), HF Inference (free `HF_TOKEN`), Stable Horde (anonymous queue), Pollinations (zero-signup HTTP, last resort), and local ComfyUI. **Google's Gemini / Imagen image API is paid for programmatic image output** — unbilled `GEMINI_API_KEY` → HTTP 429, `limit: 0`. The AI Studio **web UI** at https://aistudio.google.com is still free for interactive generation — treat it as a paste-only flow (`external_prompt_only` → `asset_ingest_external`).
See `rules/asset-enhancer-activate.md` for the condensed always-on version. This file is the long-form spec.
## Three execution modes
View the complete source on GitHubasset-validation-debug
When your agent uses it
Diagnose and repair asset-generation failures. Maps tier-0/1/2 validation codes (checkerboard, missing alpha, safe-zone violation, palette drift, garbled wordmark, low contrast) to concrete repair primitives (matte, inpaint, route change, seed sweep, composite). Applies a retry budget so Claude does not loop on hopeless regenerations.
What it loads into context
Frontmatter
113 tokensAlways available to the agent
SKILL.md
2,162 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
- Failure code → repair table
- Diagnosis tree
- Repair primitives — cost / ROI
- Route-change rules for architectural failures
- Proactive (pre-generation) checks
- Where the codes come from
- Integration with systematic debugging
- Evidence to log per pipeline boundary
- Research
Files
SKILL.mdcore8,119 bytes
Read SKILL.md
# Asset validation + repair
Triggered when `asset_validate()`, `asset_generate_*`, or `asset_save_inline_svg` returns warnings or errors. Do NOT loop on the same failure; follow the tree and respect the retry budget.
## Failure code → repair table
| Code | Origin | Repair primitive | Retry budget |
|---|---|---|---|
| `T0_CHECKERBOARD` | Imagen/Gemini rendering fake transparency | **Route change** → `gpt-image-1` (`background:"transparent"`), Ideogram v3 (`style:"transparent"`), Recraft V3 | 2 |
| `T0_ALPHA_MISSING` | RGB-only output on transparency-required asset | **Matte** via `asset_remove_background` (BiRefNet preferred, RMBG fallback) | 1 |
| `T0_DIMENSIONS` | wrong `width`/`height` API params | Fix params, regenerate | 1 |
| `T0_SAFE_ZONE` | subject bleeds outside platform center | Regenerate with explicit `"centered with 20% padding on all sides"` | 1 |
| `T0_FILE_SIZE` (SVG) | path count blows budget | `asset_save_inline_svg` → SVGO → K-means color reduction → vtracer | 1 |
| `T0_DCT_ENTROPY` | solid-color / NSFW-filter hit | Regenerate same params once; if repeats, change prompt | 1 |View the complete source on GitHubbrand-consistency
When your agent uses it
Maintain visual coherence across a multi-asset brand set (logo + app icon + favicon + illustrations). Builds BrandBundle (palette, typography, style refs, do-not list), enforces palette per model (Recraft `controls.colors`, Midjourney `--sref`, IP-Adapter, LoRA), validates style similarity with CSD and palette ΔE2000, and promotes accepted assets into the reference set so each new generation tightens the lock.
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
2,033 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
- BrandBundle shape
- Palette enforcement per model (strongest → weakest)
- Style reference management
- LoRA training workflow (≥20-asset sets)
- Asset-type adaptation
- Do-not list encoding
- Typography consistency
- Validation across the set
- Convergence detection
- Common mistakes
- Research
Files
SKILL.mdcore7,510 bytesSKILL.mdcore7,510 bytes
Read SKILL.md
# Brand consistency
Engaged when a user is generating more than one asset for the same brand, or when an existing `brand.json` / `brand.md` is in play. Wraps `asset_brand_bundle_parse`, `asset_generate_*`, and validation.
## BrandBundle shape
```yaml
palette:
- { name: primary, hex: "#0A1F44", usage: mark }
- { name: accent, hex: "#FF6B6B", usage: highlight }
- { name: neutral, hex: "#FAFAFA", usage: background }
typography:
primary: { family: "Geist Sans", fallback: "geometric sans-serif, bold" }
secondary: { family: "Geist Mono", fallback: "monospace" }View the complete source on GitHubfavicon
When your agent uses it
Generate a full favicon bundle — favicon.ico (16/32/48 multi-res), icon.svg with prefers-color-scheme dark support, apple-touch-icon.png 180×180 opaque, and PWA 192/512/512-maskable — from a brand mark or a mark prompt.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
900 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
- What modern browsers actually want (see research 11)
- Generation strategy
- Prompt scaffold for raster fallback
- Dark-mode variant
- Validation (critical for favicons)
- Output
Files
SKILL.mdcore3,318 bytes
Read SKILL.md
# Favicon generation
## What modern browsers actually want (see research 11)
```html
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/svg+xml" href="/icon.svg">
<link rel="icon" type="image/svg+xml" href="/icon-dark.svg" media="(prefers-color-scheme: dark)">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/manifest.webmanifest">
```
| File | Size | Alpha | Notes |
|---|---|---|---|View the complete source on GitHubillustration
When your agent uses it
Generate an in-product illustration (empty state, onboarding, hero, spot art) that obeys a brand bundle. Uses IP-Adapter / LoRA / Recraft style_id / Flux.2 brand refs for consistency across a set; validates palette ΔE2000 and style adherence.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
894 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
- The consistency problem
- Routing
- Brand bundle injection
- Prompt scaffold
- Post-processing
- Full-set propagation
- Output
Files
SKILL.mdcore3,607 bytes
Read SKILL.md
# Illustration generation
## The consistency problem
A single illustration is easy. **A set of twelve in the same style** is the hard problem. Research 10 + 15: prompt words drift; reference images do not. Any illustration skill must inject a brand style reference at every call.
## Routing
| Model | Brand lock mechanism | Best for |
|---|---|---|
| **Flux Pro / Flux.2** | `reference_images[]` (up to 8 in Flux.2) + brand LoRA | Photoreal, stylized 3D, brand illustration sets |
| **SDXL + brand LoRA** | trained LoRA (6d recipe, ~5k steps on 20 images) | Bespoke brand style, open-weight |
| **Recraft V3** | `style_id` (brand magic) | Flat vector, editorial illustration |
| **Ideogram 3** | style codes | Loose "same vibe" — not strict lock |View the complete source on GitHublogo
When your agent uses it
Generate a production-grade logo (primary brand mark). Returns RGBA PNG master + SVG vector + monochrome variant. Route by text-length and per-model ceiling. Strong-text models render multi-word and even paragraph-length wordmarks reliably; weak-text models composite SVG type post-render.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
1,037 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
- Spec
- Routing by intent
- Dialect-ready prompt scaffold
- Post-process
- Failure → action
- Output
Files
SKILL.mdcore3,683 bytes
Read SKILL.md
# Logo generation
## Spec
- **Master:** 1024×1024 RGBA PNG, transparent background, subject centered in 80% safe zone
- **Vector:** SVG, ≤200 paths, fixed viewBox, SVGO optimized
- **Monochrome:** 1-color mono variant (auto-derived via luminance threshold or separate generation)
- **Wordmark routing — model-specific, not blanket:**
- **Paragraph-length OK:** `gpt-image-2`, `gemini-3-pro-image-preview` (Nano Banana Pro), `gpt-image-1.5`. Include the wordmark in the prompt; composite stays safer for pixel-exact UI copy.
- **3–10 words reliable:** `ideogram-3` / `ideogram-3-turbo`, `gemini-3.1-flash-image-preview` (Nano Banana 2), `gpt-image-1`, `flux-2` family.
- **≤3 words / ≤25 chars:** Imagen 4 family, Recraft V4.
- **Composite always:** Flux 1.x, Flux Schnell, SDXL, SD 1.5, Mystic, Pollinations, original Nano Banana 1.
## Routing by intent
| text in mark? | vector needed? | primary | fallback |View the complete source on GitHubog-image
When your agent uses it
Generate an Open Graph / Twitter Card social unfurler image — 1200×630 JPEG/PNG, <5MB, with deterministic typography. Defaults to Satori + @resvg/resvg-js template rendering (no diffusion). Diffusion is optional and only for the hero art layer composited behind the template.
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
805 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
- Spec
- Architecture
- Templates (canonical)
- Validation
- Output
Files
SKILL.mdcore3,048 bytes
Read SKILL.md
# OG image generation
## Spec
- **Dimensions:** 1200×630 (OG 1.91:1) primary. Optional: 1080×1080 square (Instagram), 2:1 Twitter Card `summary_large_image`.
- **Format:** PNG or JPEG, <5MB, served over absolute HTTPS URL, no auth headers.
- **Text:** Deterministic — use Satori + real fonts. **Never sample typography from a diffusion model** for OG cards; headlines get garbled (see logo skill § 3-word rule).
- **Headline:** ≤8 words, 64–96pt. Subheadline: ≤15 words, 28–36pt.
- **Contrast:** WCAG AA min 4.5:1 (Slack/Discord render inside their own color backgrounds).
## Architecture
**Default: template-based, no diffusion.** The OG engine is:
View the complete source on GitHubsvg-authoring
When your agent uses it
Author production-grade inline SVG (logos, favicons, icon packs, stickers, transparent marks) when the P2A `inline_svg` execution mode is selected. Enforces viewBox, path-budget, palette, optical balance, and small-scale legibility rules so the emitted `<svg>` survives `asset_save_inline_svg` validation and renders crisp from 16×16 through 1024×1024.
What it loads into context
Frontmatter
121 tokensAlways available to the agent
SKILL.md
2,018 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
- Hard constraints (non-negotiable)
- Design principles (from frontend-design, adapted for SVG)
- SVG grammar cheatsheet
- Style taxonomy
- Small-scale survivability check
- Text inside SVG
- Color application
- Failure patterns to avoid
- Round-trip contract
- Research
Files
SKILL.mdcore7,540 bytes
Read SKILL.md
# SVG authoring (inline_svg mode)
Engaged when `asset_generate_*` returns an `InlineSvgPlan`. Read `svg_brief` (viewBox, palette, path_budget, require[], do_not[], skeleton) and emit one `<svg>…</svg>` code block that honors every constraint. Then call `asset_save_inline_svg({ svg, asset_type })` so the file lands on disk.
## Hard constraints (non-negotiable)
| Asset type | viewBox | Path budget | Colors | Safe-zone | Notes |
|---|---|---|---|---|---|
| `logo` | `0 0 120 120` (or brief-specified) | ≤40 | 2–4 hex | subject fits inside 80% center box | Flat, geometric, closed shapes |
| `favicon` (master SVG) | `0 0 64 64` | ≤30 | 2–3 hex | legible at 16×16 after downsampling | ≥2px stroke equivalent at 16² |
| `icon_pack` (per icon) | `0 0 24 24` | ≤8 | monocolor (`currentColor`) OR 2 tones | 2px grid, 1.5–2px strokes | All icons share grid + stroke weight |
| `sticker` | `0 0 240 240` | ≤60 | up to 6 hex | bleed allowed; no hard edge requirement | Chunkier line weights OK |
| `transparent_mark` | `0 0 200 200` | ≤40 | 2–3 hex | 80% center | Never emit `<rect fill="white">` as "background" |
| `app_icon` master | `0 0 1024 1024` | ≤60 | 3–5 hex | iOS HIG 824² center | Opaque bg allowed; no alpha needed on this one |View the complete source on GitHubt2i-prompt-dialect
When your agent uses it
Rewrite an asset brief into the exact prompt dialect of the target image model (OpenAI gpt-image-1, Google Imagen/Gemini, SDXL, Flux.1/Flux.2, Midjourney, Ideogram, Recraft). Handles negative-prompt translation, token budgets, transparency quirks, brand-palette injection, and text-in-image ceilings so that `asset_generate_*` submissions succeed on the first try.
What it loads into context
Frontmatter
122 tokensAlways available to the agent
SKILL.md
3,010 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
- Per-model rules (quick card, verified Apr 2026)
- Negative-prompt translation
- Text-in-image — model-specific ceilings, not a blanket rule
- Brand injection per model
- Dialect-rewrite template (logo example)
- Pre-submission checklist
- Common mistakes
- Research
Files
SKILL.mdcore11,036 bytes
Read SKILL.md
# T2I prompt dialect
Runs between `asset_enhance_prompt()` and `asset_generate_*()`. Takes a normalized brief plus a target model and emits a prompt that honors that model's syntax, token budget, and quirks.
## Per-model rules (quick card, verified Apr 2026)
| Model | Grammar | Token / char ceiling | Negative prompt | Transparency | Text ceiling |
|---|---|---|---|---|---|
| `gpt-image-2` | Prose | ~100 words | silently ignored | **NOT supported — `background:"transparent"` 400s** (regression vs 1.5) — route transparent jobs to gpt-image-1.5 instead | ~80 chars / paragraph (~99% accuracy per third-party tests) |
| `gpt-image-1.5` | Prose | ~100 words | silently ignored | API param `background: "transparent"` | dense text ~60 chars (LM Arena #1) |
| `gpt-image-1` | Prose | ~100 words | silently ignored | API param `background: "transparent"` | ~50 chars / ≤5 words |
| Imagen 4 (Fast/Standard/Ultra) | Narrative prose, ≥30 words suppresses auto-rewriter | unbounded | **`negativePrompt` accepted on Vertex AI; ignored on Gemini API** | never request in prompt (renders checkerboard as RGB) | ≤25 chars per Google's own guidance |
| Gemini 3.1 Flash Image (Nano Banana 2) | Prose | unbounded | ignored | renders checkerboard | ~50 chars / ~90% accuracy (#1 Image Arena at launch — strong-text, not weak) |
| Gemini 3 Pro Image (Nano Banana Pro) | Prose | unbounded | ignored | renders checkerboard | paragraph-length reliable (~94-96% accuracy) |View the complete source on GitHubtransparent-bg
When your agent uses it
Produce a truly RGBA-transparent asset from a brief. Handles the
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
1,109 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
- The problem (see research 13 + 04)
- Fix hierarchy (apply first that fits)
- Validation (never ship without)
- Prompt scaffold for fallback matting flow
- Never do this
- Output
Files
SKILL.mdcore4,199 bytes
Read SKILL.md
# Transparent background
## The problem (see research 13 + 04)
Almost every modern T2I VAE is **RGB-only**. Asking Imagen 3/4 or Gemini 2.5/3 Flash Image for a "transparent logo" triggers one of two failures:
1. **Flat background** — DALL·E 3, Stable Diffusion families render a white/gray background that must be matted.
2. **Checkerboard as RGB pixels** — Gemini/Imagen literally render the gray-and-white 8×8 tile pattern (because Photoshop screenshots in their training data show transparency that way). This is the "weird boxes" users report. **It cannot be fixed by prompting.**
## Fix hierarchy (apply first that fits)
### 1. Route to a native-RGBA provider
| Provider | Mechanism |View the complete source on GitHubui-mockup-prompt
When your agent uses it
Translate a UI brief (a page, a screen, a single component, a feature) into a paste-ready prompt for Nano Banana Pro / gpt-image-2 / Ideogram / Flux 2 / Midjourney that produces a designer-grade mockup as visual inspiration — not pixel-spec UI, not AI slop. Use whenever the user asks for "imagine the X page", "mock up the Y screen", "give me a prompt for nano banana / gpt image 2 to design", "describe this UI for an image model", "draft a prompt for the designer to take inspiration from", or any time the agent needs to produce a UI image-gen prompt for a real product surface (pricing page, dashboard, settings, onboarding, mobile screen, marketing hero, single component). Be pushy — trigger even when the user says "design" without "prompt", or "show me what X could look like" — the agent should reach for this skill before hand-rolling a brief.
What it loads into context
Frontmatter
213 tokensAlways available to the agent
SKILL.md
5,126 tokensWhen the skill is activated
Reference documents
26,111 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Four things this skill must do, in order
- When the agent invokes this skill
- Routing decision
- The cardinal anti-slop rules
- What "design intelligence" means in the prompt
- The slot-labeled prompt skeleton
- Output contract
- Defaults the skill assumes silently
- When NOT to use this skill
- Reference files in this skill
Files
SKILL.mdcore21,735 bytesreferences/anti-slop-detail.mddoc11,509 bytesreferences/craft-rules-condensed.mddoc10,885 bytesreferences/laws-of-ux.mddoc23,665 bytesreferences/models/_skeleton.mddoc2,881 bytesreferences/models/flux-2-pro.mddoc7,175 bytesreferences/models/gpt-image-1.5.mddoc5,522 bytesreferences/models/gpt-image-2.mddoc6,560 bytesreferences/models/ideogram-3-turbo.mddoc5,805 bytesreferences/models/midjourney-v7.mddoc5,241 bytesreferences/models/nano-banana-pro.mddoc8,261 bytesreferences/routing-evidence.mddoc5,305 bytesreferences/surface-patterns.mddoc14,529 bytes
Read SKILL.md
# ui-mockup-prompt
This skill turns a UI brief into a single paste-ready prompt for a strong-text image model (gpt-image-2, Nano Banana Pro, Ideogram 3 Turbo, Flux 2 Pro, Midjourney v7) that produces designer-quality mockups for **inspiration**, not pixel-exact production UI.
The output is for a working designer to riff on. They will redo the spacing, the radius, the font, the exact palette. What they need from the image is a **visual direction with soul** — one that isn't AI-default purple-gradient-on-white-Inter-rounded-card slop.
## Four things this skill must do, in order
1. **Identify the surface and its job.** A pricing page, a dashboard, a settings screen, an onboarding flow — each has a different job. Aesthetic commitment is constrained by what the surface must *do*, not chosen freely. Look the surface up in `references/surface-patterns.md`.
2. **Pick the right model.** Text density, transparency need, available references, and budget all flow into a routing decision the calling agent should not have to think about.
3. **Compose a slot-labeled prompt** in that model's specific dialect, with the universal anti-slop rules, craft-grounded design intelligence, and the surface's UX-pattern requirements baked in.
4. **Return the bundle:** chosen model + reasoning + paste-ready prompt + multi-ref recipe (if the user has refs) + validation reminder (with surface-specific UX checks).
The prompt should resist AI defaults *by construction*. The model still has freedom — the skill commits to one bold aesthetic direction *constrained by the surface's job* and writes the prompt around it, instead of letting the model fall back to indigo + Inter + rounded cards OR to editorially-polished output that violates the page's UX fundamentals.View the complete source on GitHubvectorize
When your agent uses it
Convert a raster image to SVG. Three paths — Recraft hosted vectorization, vtracer (multi-color polygon), potrace (1-bit). Optimizes with SVGO; validates path count as a quality signal.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
864 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
- Three paths
- Choosing the path
- Path-count quality signal
- SVGO configuration
- Validation
- Output
Files
SKILL.mdcore3,293 bytesSKILL.mdcore3,293 bytes
Read SKILL.md
# Vectorize
## Three paths
### 1. Recraft `/vectorize` (hosted, highest quality)
Input: any raster. Output: clean SVG, typically 20–100 paths for a mark, 200–500 for an illustration. Commercial tier only.
```ts
const svg = await recraft.vectorize({ image: pngBuffer });
```
### 2. `vtracer` (local, multi-color polygon)
View the complete source on GitHubapp-icon
When your agent uses it
Generate an app icon from a single 1024² master and fan out to iOS (AppIcon.appiconset with squircle-ready 1024 opaque), Android (adaptive foreground + background + Android 13 monochrome), PWA (192/512 + 512 maskable with 80% safe zone), and visionOS (3-layer parallax).
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
1,203 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
- Platform requirements (non-negotiable)
- Generation — mark, then pack
- Prompt scaffold
- Android 13 monochrome derivation
- Validation
- Output
Files
SKILL.mdcore4,340 bytes
Read SKILL.md
# App icon generation
## Platform requirements (non-negotiable)
| Platform | Size/format | Transparency | Safe zone |
|---|---|---|---|
| **iOS App Store** | 1024×1024 PNG, **no alpha** | **opaque** | squircle mask applied by OS; keep subject in 824px center |
| iOS device | 180, 167, 152, 120, 87, 80, 76, 60, 58, 40, 29, 20 (@1x, @2x, @3x) | opaque | same |
| iOS 18 dark / tinted | Icon Composer layered source | per-layer | same |
| **Android adaptive** | 108 dp foreground + 108 dp background; 72 dp visible safe zone | FG yes / BG no | 72 dp of 108 dp |
| Android 13 monochrome | themed drawable | yes | same |
| Google Play | 512×512 PNG, no alpha | opaque | — |
| **PWA** | 192, 512 `any`; 512 `maskable` | `maskable`: opaque + 80% safe zone | 80% of 512 for maskable |
| **visionOS** | 3× 1024² PNGs (parallax layers) | per-layer | — |View the complete source on GitHubasset-enhancer
When your agent uses it
Classify a software-asset brief (logo, app icon, favicon, OG image, illustration, splash, icon pack, transparent mark), route to the right image model, rewrite the prompt in the target model's dialect, pick an execution mode (inline_svg / external_prompt_only / api) based on what's actually available, and run the pipeline. Use whenever the user asks for any visual asset for a software product.
What it loads into context
Frontmatter
162 tokensAlways available to the agent
SKILL.md
4,712 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
- Cardinal rules
- Three execution modes
- Recommended flow
- Asset taxonomy — closed enum
- Pipeline (api mode)
- Model routing (data-driven)
- Dialect rules per provider
- Brand bundle
- Validation
- Regenerate vs. repair
- Caching
- Output contracts
- Research
Files
SKILL.mdcore17,276 bytes
Read SKILL.md
# asset-enhancer skill
Comprehensive behavior spec for producing production-grade software-development assets. Drives every `asset_*` MCP tool.
## Cardinal rules
> 1. Producing production-grade software assets is a **routing + post-processing** problem, not a prompt-engineering problem.
> 2. The user may not have an image-model API key. The plugin must work anyway.
> 3. There are real zero-key and free-token paths — always surface them first before asking the user to pay for anything. The `free_api.routes` block in `asset_capabilities()` enumerates the ranked free programmatic routes: Cloudflare Workers AI (Flux-1-Schnell + SDXL, 10k neurons/day), NVIDIA NIM (Flux / SDXL / SANA, 1k requests/month with `NVIDIA_API_KEY`, no card), HF Inference (free `HF_TOKEN`), Stable Horde (anonymous queue), Pollinations (zero-signup HTTP, last resort), and local ComfyUI. **Google's Gemini / Imagen image API is paid for programmatic image output** — unbilled `GEMINI_API_KEY` → HTTP 429, `limit: 0`. The AI Studio **web UI** at https://aistudio.google.com is still free for interactive generation — treat it as a paste-only flow (`external_prompt_only` → `asset_ingest_external`).
See `rules/asset-enhancer-activate.md` for the condensed always-on version. This file is the long-form spec.
## Three execution modes
View the complete source on GitHubasset-validation-debug
When your agent uses it
Diagnose and repair asset-generation failures. Maps tier-0/1/2 validation codes (checkerboard, missing alpha, safe-zone violation, palette drift, garbled wordmark, low contrast) to concrete repair primitives (matte, inpaint, route change, seed sweep, composite). Applies a retry budget so Claude does not loop on hopeless regenerations.
What it loads into context
Frontmatter
113 tokensAlways available to the agent
SKILL.md
2,162 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
- Failure code → repair table
- Diagnosis tree
- Repair primitives — cost / ROI
- Route-change rules for architectural failures
- Proactive (pre-generation) checks
- Where the codes come from
- Integration with systematic debugging
- Evidence to log per pipeline boundary
- Research
Files
SKILL.mdcore8,119 bytes
Read SKILL.md
# Asset validation + repair
Triggered when `asset_validate()`, `asset_generate_*`, or `asset_save_inline_svg` returns warnings or errors. Do NOT loop on the same failure; follow the tree and respect the retry budget.
## Failure code → repair table
| Code | Origin | Repair primitive | Retry budget |
|---|---|---|---|
| `T0_CHECKERBOARD` | Imagen/Gemini rendering fake transparency | **Route change** → `gpt-image-1` (`background:"transparent"`), Ideogram v3 (`style:"transparent"`), Recraft V3 | 2 |
| `T0_ALPHA_MISSING` | RGB-only output on transparency-required asset | **Matte** via `asset_remove_background` (BiRefNet preferred, RMBG fallback) | 1 |
| `T0_DIMENSIONS` | wrong `width`/`height` API params | Fix params, regenerate | 1 |
| `T0_SAFE_ZONE` | subject bleeds outside platform center | Regenerate with explicit `"centered with 20% padding on all sides"` | 1 |
| `T0_FILE_SIZE` (SVG) | path count blows budget | `asset_save_inline_svg` → SVGO → K-means color reduction → vtracer | 1 |
| `T0_DCT_ENTROPY` | solid-color / NSFW-filter hit | Regenerate same params once; if repeats, change prompt | 1 |View the complete source on GitHubbrand-consistency
When your agent uses it
Maintain visual coherence across a multi-asset brand set (logo + app icon + favicon + illustrations). Builds BrandBundle (palette, typography, style refs, do-not list), enforces palette per model (Recraft `controls.colors`, Midjourney `--sref`, IP-Adapter, LoRA), validates style similarity with CSD and palette ΔE2000, and promotes accepted assets into the reference set so each new generation tightens the lock.
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
2,033 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
- BrandBundle shape
- Palette enforcement per model (strongest → weakest)
- Style reference management
- LoRA training workflow (≥20-asset sets)
- Asset-type adaptation
- Do-not list encoding
- Typography consistency
- Validation across the set
- Convergence detection
- Common mistakes
- Research
Files
SKILL.mdcore7,510 bytesSKILL.mdcore7,510 bytes
Read SKILL.md
# Brand consistency
Engaged when a user is generating more than one asset for the same brand, or when an existing `brand.json` / `brand.md` is in play. Wraps `asset_brand_bundle_parse`, `asset_generate_*`, and validation.
## BrandBundle shape
```yaml
palette:
- { name: primary, hex: "#0A1F44", usage: mark }
- { name: accent, hex: "#FF6B6B", usage: highlight }
- { name: neutral, hex: "#FAFAFA", usage: background }
typography:
primary: { family: "Geist Sans", fallback: "geometric sans-serif, bold" }
secondary: { family: "Geist Mono", fallback: "monospace" }View the complete source on GitHubfavicon
When your agent uses it
Generate a full favicon bundle — favicon.ico (16/32/48 multi-res), icon.svg with prefers-color-scheme dark support, apple-touch-icon.png 180×180 opaque, and PWA 192/512/512-maskable — from a brand mark or a mark prompt.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
900 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
- What modern browsers actually want (see research 11)
- Generation strategy
- Prompt scaffold for raster fallback
- Dark-mode variant
- Validation (critical for favicons)
- Output
Files
SKILL.mdcore3,318 bytes
Read SKILL.md
# Favicon generation
## What modern browsers actually want (see research 11)
```html
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/svg+xml" href="/icon.svg">
<link rel="icon" type="image/svg+xml" href="/icon-dark.svg" media="(prefers-color-scheme: dark)">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/manifest.webmanifest">
```
| File | Size | Alpha | Notes |
|---|---|---|---|View the complete source on GitHubillustration
When your agent uses it
Generate an in-product illustration (empty state, onboarding, hero, spot art) that obeys a brand bundle. Uses IP-Adapter / LoRA / Recraft style_id / Flux.2 brand refs for consistency across a set; validates palette ΔE2000 and style adherence.
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
894 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
- The consistency problem
- Routing
- Brand bundle injection
- Prompt scaffold
- Post-processing
- Full-set propagation
- Output
Files
SKILL.mdcore3,607 bytes
Read SKILL.md
# Illustration generation
## The consistency problem
A single illustration is easy. **A set of twelve in the same style** is the hard problem. Research 10 + 15: prompt words drift; reference images do not. Any illustration skill must inject a brand style reference at every call.
## Routing
| Model | Brand lock mechanism | Best for |
|---|---|---|
| **Flux Pro / Flux.2** | `reference_images[]` (up to 8 in Flux.2) + brand LoRA | Photoreal, stylized 3D, brand illustration sets |
| **SDXL + brand LoRA** | trained LoRA (6d recipe, ~5k steps on 20 images) | Bespoke brand style, open-weight |
| **Recraft V3** | `style_id` (brand magic) | Flat vector, editorial illustration |
| **Ideogram 3** | style codes | Loose "same vibe" — not strict lock |View the complete source on GitHublogo
When your agent uses it
Generate a production-grade logo (primary brand mark). Returns RGBA PNG master + SVG vector + monochrome variant. Route by text-length and per-model ceiling. Strong-text models render multi-word and even paragraph-length wordmarks reliably; weak-text models composite SVG type post-render.
What it loads into context
Frontmatter
87 tokensAlways available to the agent
SKILL.md
1,037 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
- Spec
- Routing by intent
- Dialect-ready prompt scaffold
- Post-process
- Failure → action
- Output
Files
SKILL.mdcore3,683 bytes
Read SKILL.md
# Logo generation
## Spec
- **Master:** 1024×1024 RGBA PNG, transparent background, subject centered in 80% safe zone
- **Vector:** SVG, ≤200 paths, fixed viewBox, SVGO optimized
- **Monochrome:** 1-color mono variant (auto-derived via luminance threshold or separate generation)
- **Wordmark routing — model-specific, not blanket:**
- **Paragraph-length OK:** `gpt-image-2`, `gemini-3-pro-image-preview` (Nano Banana Pro), `gpt-image-1.5`. Include the wordmark in the prompt; composite stays safer for pixel-exact UI copy.
- **3–10 words reliable:** `ideogram-3` / `ideogram-3-turbo`, `gemini-3.1-flash-image-preview` (Nano Banana 2), `gpt-image-1`, `flux-2` family.
- **≤3 words / ≤25 chars:** Imagen 4 family, Recraft V4.
- **Composite always:** Flux 1.x, Flux Schnell, SDXL, SD 1.5, Mystic, Pollinations, original Nano Banana 1.
## Routing by intent
| text in mark? | vector needed? | primary | fallback |View the complete source on GitHubog-image
When your agent uses it
Generate an Open Graph / Twitter Card social unfurler image — 1200×630 JPEG/PNG, <5MB, with deterministic typography. Defaults to Satori + @resvg/resvg-js template rendering (no diffusion). Diffusion is optional and only for the hero art layer composited behind the template.
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
805 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
- Spec
- Architecture
- Templates (canonical)
- Validation
- Output
Files
SKILL.mdcore3,048 bytes
Read SKILL.md
# OG image generation
## Spec
- **Dimensions:** 1200×630 (OG 1.91:1) primary. Optional: 1080×1080 square (Instagram), 2:1 Twitter Card `summary_large_image`.
- **Format:** PNG or JPEG, <5MB, served over absolute HTTPS URL, no auth headers.
- **Text:** Deterministic — use Satori + real fonts. **Never sample typography from a diffusion model** for OG cards; headlines get garbled (see logo skill § 3-word rule).
- **Headline:** ≤8 words, 64–96pt. Subheadline: ≤15 words, 28–36pt.
- **Contrast:** WCAG AA min 4.5:1 (Slack/Discord render inside their own color backgrounds).
## Architecture
**Default: template-based, no diffusion.** The OG engine is:
View the complete source on GitHubsvg-authoring
When your agent uses it
Author production-grade inline SVG (logos, favicons, icon packs, stickers, transparent marks) when the P2A `inline_svg` execution mode is selected. Enforces viewBox, path-budget, palette, optical balance, and small-scale legibility rules so the emitted `<svg>` survives `asset_save_inline_svg` validation and renders crisp from 16×16 through 1024×1024.
What it loads into context
Frontmatter
121 tokensAlways available to the agent
SKILL.md
2,018 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
- Hard constraints (non-negotiable)
- Design principles (from frontend-design, adapted for SVG)
- SVG grammar cheatsheet
- Style taxonomy
- Small-scale survivability check
- Text inside SVG
- Color application
- Failure patterns to avoid
- Round-trip contract
- Research
Files
SKILL.mdcore7,540 bytes
Read SKILL.md
# SVG authoring (inline_svg mode)
Engaged when `asset_generate_*` returns an `InlineSvgPlan`. Read `svg_brief` (viewBox, palette, path_budget, require[], do_not[], skeleton) and emit one `<svg>…</svg>` code block that honors every constraint. Then call `asset_save_inline_svg({ svg, asset_type })` so the file lands on disk.
## Hard constraints (non-negotiable)
| Asset type | viewBox | Path budget | Colors | Safe-zone | Notes |
|---|---|---|---|---|---|
| `logo` | `0 0 120 120` (or brief-specified) | ≤40 | 2–4 hex | subject fits inside 80% center box | Flat, geometric, closed shapes |
| `favicon` (master SVG) | `0 0 64 64` | ≤30 | 2–3 hex | legible at 16×16 after downsampling | ≥2px stroke equivalent at 16² |
| `icon_pack` (per icon) | `0 0 24 24` | ≤8 | monocolor (`currentColor`) OR 2 tones | 2px grid, 1.5–2px strokes | All icons share grid + stroke weight |
| `sticker` | `0 0 240 240` | ≤60 | up to 6 hex | bleed allowed; no hard edge requirement | Chunkier line weights OK |
| `transparent_mark` | `0 0 200 200` | ≤40 | 2–3 hex | 80% center | Never emit `<rect fill="white">` as "background" |
| `app_icon` master | `0 0 1024 1024` | ≤60 | 3–5 hex | iOS HIG 824² center | Opaque bg allowed; no alpha needed on this one |View the complete source on GitHubt2i-prompt-dialect
When your agent uses it
Rewrite an asset brief into the exact prompt dialect of the target image model (OpenAI gpt-image-1, Google Imagen/Gemini, SDXL, Flux.1/Flux.2, Midjourney, Ideogram, Recraft). Handles negative-prompt translation, token budgets, transparency quirks, brand-palette injection, and text-in-image ceilings so that `asset_generate_*` submissions succeed on the first try.
What it loads into context
Frontmatter
122 tokensAlways available to the agent
SKILL.md
3,010 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
- Per-model rules (quick card, verified Apr 2026)
- Negative-prompt translation
- Text-in-image — model-specific ceilings, not a blanket rule
- Brand injection per model
- Dialect-rewrite template (logo example)
- Pre-submission checklist
- Common mistakes
- Research
Files
SKILL.mdcore11,036 bytes
Read SKILL.md
# T2I prompt dialect
Runs between `asset_enhance_prompt()` and `asset_generate_*()`. Takes a normalized brief plus a target model and emits a prompt that honors that model's syntax, token budget, and quirks.
## Per-model rules (quick card, verified Apr 2026)
| Model | Grammar | Token / char ceiling | Negative prompt | Transparency | Text ceiling |
|---|---|---|---|---|---|
| `gpt-image-2` | Prose | ~100 words | silently ignored | **NOT supported — `background:"transparent"` 400s** (regression vs 1.5) — route transparent jobs to gpt-image-1.5 instead | ~80 chars / paragraph (~99% accuracy per third-party tests) |
| `gpt-image-1.5` | Prose | ~100 words | silently ignored | API param `background: "transparent"` | dense text ~60 chars (LM Arena #1) |
| `gpt-image-1` | Prose | ~100 words | silently ignored | API param `background: "transparent"` | ~50 chars / ≤5 words |
| Imagen 4 (Fast/Standard/Ultra) | Narrative prose, ≥30 words suppresses auto-rewriter | unbounded | **`negativePrompt` accepted on Vertex AI; ignored on Gemini API** | never request in prompt (renders checkerboard as RGB) | ≤25 chars per Google's own guidance |
| Gemini 3.1 Flash Image (Nano Banana 2) | Prose | unbounded | ignored | renders checkerboard | ~50 chars / ~90% accuracy (#1 Image Arena at launch — strong-text, not weak) |
| Gemini 3 Pro Image (Nano Banana Pro) | Prose | unbounded | ignored | renders checkerboard | paragraph-length reliable (~94-96% accuracy) |View the complete source on GitHubtransparent-bg
When your agent uses it
Produce a truly RGBA-transparent asset from a brief. Handles the
What it loads into context
Frontmatter
89 tokensAlways available to the agent
SKILL.md
1,109 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
- The problem (see research 13 + 04)
- Fix hierarchy (apply first that fits)
- Validation (never ship without)
- Prompt scaffold for fallback matting flow
- Never do this
- Output
Files
SKILL.mdcore4,199 bytes
Read SKILL.md
# Transparent background
## The problem (see research 13 + 04)
Almost every modern T2I VAE is **RGB-only**. Asking Imagen 3/4 or Gemini 2.5/3 Flash Image for a "transparent logo" triggers one of two failures:
1. **Flat background** — DALL·E 3, Stable Diffusion families render a white/gray background that must be matted.
2. **Checkerboard as RGB pixels** — Gemini/Imagen literally render the gray-and-white 8×8 tile pattern (because Photoshop screenshots in their training data show transparency that way). This is the "weird boxes" users report. **It cannot be fixed by prompting.**
## Fix hierarchy (apply first that fits)
### 1. Route to a native-RGBA provider
| Provider | Mechanism |View the complete source on GitHubui-mockup-prompt
When your agent uses it
Translate a UI brief (a page, a screen, a single component, a feature) into a paste-ready prompt for Nano Banana Pro / gpt-image-2 / Ideogram / Flux 2 / Midjourney that produces a designer-grade mockup as visual inspiration — not pixel-spec UI, not AI slop. Use whenever the user asks for "imagine the X page", "mock up the Y screen", "give me a prompt for nano banana / gpt image 2 to design", "describe this UI for an image model", "draft a prompt for the designer to take inspiration from", or any time the agent needs to produce a UI image-gen prompt for a real product surface (pricing page, dashboard, settings, onboarding, mobile screen, marketing hero, single component). Be pushy — trigger even when the user says "design" without "prompt", or "show me what X could look like" — the agent should reach for this skill before hand-rolling a brief.
What it loads into context
Frontmatter
213 tokensAlways available to the agent
SKILL.md
5,126 tokensWhen the skill is activated
Reference documents
26,111 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Four things this skill must do, in order
- When the agent invokes this skill
- Routing decision
- The cardinal anti-slop rules
- What "design intelligence" means in the prompt
- The slot-labeled prompt skeleton
- Output contract
- Defaults the skill assumes silently
- When NOT to use this skill
- Reference files in this skill
Files
SKILL.mdcore21,735 bytesevals/evals.jsonasset5,024 bytesreferences/anti-slop-detail.mddoc11,509 bytesreferences/craft-rules-condensed.mddoc10,885 bytesreferences/laws-of-ux.mddoc23,665 bytesreferences/models/_skeleton.mddoc2,881 bytesreferences/models/flux-2-pro.mddoc7,175 bytesreferences/models/gpt-image-1.5.mddoc5,522 bytesreferences/models/gpt-image-2.mddoc6,560 bytesreferences/models/ideogram-3-turbo.mddoc5,805 bytesreferences/models/midjourney-v7.mddoc5,241 bytesreferences/models/nano-banana-pro.mddoc8,261 bytesreferences/routing-evidence.mddoc5,305 bytesreferences/surface-patterns.mddoc14,529 bytes
Read SKILL.md
# ui-mockup-prompt
This skill turns a UI brief into a single paste-ready prompt for a strong-text image model (gpt-image-2, Nano Banana Pro, Ideogram 3 Turbo, Flux 2 Pro, Midjourney v7) that produces designer-quality mockups for **inspiration**, not pixel-exact production UI.
The output is for a working designer to riff on. They will redo the spacing, the radius, the font, the exact palette. What they need from the image is a **visual direction with soul** — one that isn't AI-default purple-gradient-on-white-Inter-rounded-card slop.
## Four things this skill must do, in order
1. **Identify the surface and its job.** A pricing page, a dashboard, a settings screen, an onboarding flow — each has a different job. Aesthetic commitment is constrained by what the surface must *do*, not chosen freely. Look the surface up in `references/surface-patterns.md`.
2. **Pick the right model.** Text density, transparency need, available references, and budget all flow into a routing decision the calling agent should not have to think about.
3. **Compose a slot-labeled prompt** in that model's specific dialect, with the universal anti-slop rules, craft-grounded design intelligence, and the surface's UX-pattern requirements baked in.
4. **Return the bundle:** chosen model + reasoning + paste-ready prompt + multi-ref recipe (if the user has refs) + validation reminder (with surface-specific UX checks).
The prompt should resist AI defaults *by construction*. The model still has freedom — the skill commits to one bold aesthetic direction *constrained by the surface's job* and writes the prompt around it, instead of letting the model fall back to indigo + Inter + rounded cards OR to editorially-polished output that violates the page's UX fundamentals.View the complete source on GitHubvectorize
When your agent uses it
Convert a raster image to SVG. Three paths — Recraft hosted vectorization, vtracer (multi-color polygon), potrace (1-bit). Optimizes with SVGO; validates path count as a quality signal.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
864 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
- Three paths
- Choosing the path
- Path-count quality signal
- SVGO configuration
- Validation
- Output
Files
SKILL.mdcore3,293 bytesSKILL.mdcore3,293 bytes
Read SKILL.md
# Vectorize
## Three paths
### 1. Recraft `/vectorize` (hosted, highest quality)
Input: any raster. Output: clean SVG, typically 20–100 paths for a mark, 200–500 for an illustration. Commercial tier only.
```ts
const svg = await recraft.vectorize({ image: pngBuffer });
```
### 2. `vtracer` (local, multi-color polygon)
View the complete source on GitHubSkills included
- app-icon
- asset-enhancer
- asset-validation-debug
- brand-consistency
- favicon
- illustration
- logo
- og-image
- svg-authoring
- t2i-prompt-dialect
- transparent-bg
- ui-mockup-prompt
- vectorize
- app-icon
- asset-enhancer
- asset-validation-debug
- brand-consistency
- favicon
- illustration
- logo
- og-image
- svg-authoring
- t2i-prompt-dialect
- transparent-bg
- ui-mockup-prompt
- vectorize
- app-icon
- asset-enhancer
- asset-validation-debug
- brand-consistency
- favicon
- illustration
- logo
- og-image
- svg-authoring
- t2i-prompt-dialect
- transparent-bg
- ui-mockup-prompt
- vectorize
Repository facts
- License
- MIT
- Created
- Apr 20, 2026
- Last pushed
- Oct 18, 2026
- Forks
- 3
- Open issues
- 3
- Project activity
- Active
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 39 notes
skills/ui-mockup-prompt/evals/evals.json:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notes.windsurf/skills/brand-consistency/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notes.windsurf/skills/vectorize/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesplugins/prompt-to-asset/skills/brand-consistency/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notesskills/ui-mockup-prompt/evals/evals.json:1Plugin-wide analysis incomplete; see repository notes
- No broad tool permissions
- No dangerous shell commands
- 285 network referencesin 24 files: plugins/prompt-to-asset/skills/ui-mockup-prompt/references/laws-of-ux.md:3 skills/ui-mockup-prompt/references/laws-of-ux.md:3 ui-mockup-prompt/references/laws-of-ux.md:3 and 21 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 30 references to secretsin 12 files: plugins/prompt-to-asset/skills/asset-enhancer/SKILL.md:27 skills/asset-enhancer/SKILL.md:27 asset-enhancer/SKILL.md:27 and 9 more
- No requests to vote in Hot
Show all 315 signals by file
.windsurf/skills/asset-enhancer/SKILL.md
- Network accessline 25
> 1. Producing production-grade software assets is a **routing + post-processing** problem, not a prompt-engineering problem. > 2. The user may not have an image-model API key. The plugin must work anyway. > 3. There are real zero-key and f - Network accessline 27
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Network accessline 50
The server returns the dialect-correct prompt + a list of paste targets with URLs in **free-first order**: AI Studio **web UI** (https://aistudio.google.com — free interactive Gemini / Imagen), Pollinations (zero-signup HTTP), HF Inference - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Network accessline 246
"enhanced_prompt": "…", "target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], - Network accessline 247
"target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], "ingest_hint": { - Network accessline 248
"paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }],
.windsurf/skills/svg-authoring/SKILL.md
- Network accessline 36
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
.windsurf/skills/ui-mockup-prompt/references/craft-rules-condensed.md
- Network accessline 21
Source: https://github.com/nexu-io/open-design/blob/main/craft/color.md - Network accessline 39
Source: https://github.com/nexu-io/open-design/blob/main/craft/typography.md - Network accessline 59
Source: https://github.com/nexu-io/open-design/blob/main/craft/state-coverage.md - Network accessline 80
Source: https://github.com/nexu-io/open-design/blob/main/craft/accessibility-baseline.md - Network accessline 105
Source: https://github.com/nexu-io/open-design/blob/main/craft/rtl-and-bidi.md - Network accessline 122
Source: https://github.com/nexu-io/open-design/blob/main/craft/animation-discipline.md - Network accessline 138
Source: https://github.com/nexu-io/open-design/pull/625 - Network accessline 162
Source: https://github.com/nexu-io/open-design/blob/main/craft/anti-ai-slop.md
.windsurf/skills/ui-mockup-prompt/references/laws-of-ux.md
- Network accessline 3
A reference of 30 cognitive / perceptual / design heuristics from [lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 4
[lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 35
Source URL: https://lawsofux.com/law-of-common-region/ - Network accessline 47
Source URL: https://lawsofux.com/law-of-proximity/ - Network accessline 59
Source URL: https://lawsofux.com/law-of-pr%C3%A4gnanz/ - Network accessline 71
Source URL: https://lawsofux.com/law-of-similarity/ - Network accessline 83
Source URL: https://lawsofux.com/law-of-uniform-connectedness/ - Network accessline 95
Source URL: https://lawsofux.com/aesthetic-usability-effect/ - Network accessline 107
Source URL: https://lawsofux.com/selective-attention/ - Network accessline 119
Source URL: https://lawsofux.com/von-restorff-effect/ - Network accessline 135
Source URL: https://lawsofux.com/hicks-law/ - Network accessline 147
Source URL: https://lawsofux.com/choice-overload/ - Network accessline 159
Source URL: https://lawsofux.com/occams-razor/ - Network accessline 171
Source URL: https://lawsofux.com/pareto-principle/ - Network accessline 183
Source URL: https://lawsofux.com/teslers-law/ - Network accessline 195
Source URL: https://lawsofux.com/cognitive-bias/ - Network accessline 211
Source URL: https://lawsofux.com/millers-law/ - Network accessline 223
Source URL: https://lawsofux.com/working-memory/ - Network accessline 235
Source URL: https://lawsofux.com/chunking/ - Network accessline 247
Source URL: https://lawsofux.com/serial-position-effect/ - Network accessline 259
Source URL: https://lawsofux.com/peak-end-rule/ - Network accessline 271
Source URL: https://lawsofux.com/zeigarnik-effect/ - Network accessline 287
Source URL: https://lawsofux.com/fittss-law/ - Network accessline 299
Source URL: https://lawsofux.com/doherty-threshold/ - Network accessline 311
Source URL: https://lawsofux.com/flow/ - Network accessline 323
Source URL: https://lawsofux.com/goal-gradient-effect/ - Network accessline 335
Source URL: https://lawsofux.com/postels-law/ - Network accessline 351
Source URL: https://lawsofux.com/jakobs-law/ - Network accessline 363
Source URL: https://lawsofux.com/mental-model/ - Network accessline 375
Source URL: https://lawsofux.com/paradox-of-the-active-user/ - Network accessline 387
Source URL: https://lawsofux.com/parkinsons-law/ - Network accessline 399
Source URL: https://lawsofux.com/cognitive-load/ - Network accessline 422
Source attribution: all laws curated by Jon Yablonski at https://lawsofux.com/. Distillations and prompt directives in this file - Network accessline 423
https://lawsofux.com/. Distillations and prompt directives in this file
.windsurf/skills/ui-mockup-prompt/references/models/flux-2-pro.md
.windsurf/skills/ui-mockup-prompt/references/models/ideogram-3-turbo.md
.windsurf/skills/ui-mockup-prompt/references/models/nano-banana-pro.md
- Access to secretsline 67
[Credential-related source omitted] - Network accessline 87
Per [Apiyi's reference guide](https://help.apiyi.com/en/gemini-14-reference-images-object-fidelity-character-consistency-guide-en.html), 5 of those 6 object slots receive higher-fidelity preservation. Place the most-critical refs (target st
.windsurf/skills/ui-mockup-prompt/references/routing-evidence.md
plugins/prompt-to-asset/skills/asset-enhancer/SKILL.md
- Network accessline 25
> 1. Producing production-grade software assets is a **routing + post-processing** problem, not a prompt-engineering problem. > 2. The user may not have an image-model API key. The plugin must work anyway. > 3. There are real zero-key and f - Network accessline 25
> 1. Producing production-grade software assets is a **routing + post-processing** problem, not a prompt-engineering problem. > 2. The user may not have an image-model API key. The plugin must work anyway. > 3. There are real zero-key and f - Network accessline 27
[Credential-related source omitted] - Network accessline 27
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Network accessline 50
The server returns the dialect-correct prompt + a list of paste targets with URLs in **free-first order**: AI Studio **web UI** (https://aistudio.google.com — free interactive Gemini / Imagen), Pollinations (zero-signup HTTP), HF Inference - Network accessline 50
The server returns the dialect-correct prompt + a list of paste targets with URLs in **free-first order**: AI Studio **web UI** (https://aistudio.google.com — free interactive Gemini / Imagen), Pollinations (zero-signup HTTP), HF Inference - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Network accessline 246
"enhanced_prompt": "…", "target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], - Network accessline 246
"enhanced_prompt": "…", "target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], - Network accessline 247
"target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], "ingest_hint": { - Network accessline 247
"target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], "ingest_hint": { - Network accessline 248
"paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], - Network accessline 248
"paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }],
plugins/prompt-to-asset/skills/svg-authoring/SKILL.md
- Network accessline 36
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"> - Network accessline 36
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
plugins/prompt-to-asset/skills/ui-mockup-prompt/references/craft-rules-condensed.md
- Network accessline 21
Source: https://github.com/nexu-io/open-design/blob/main/craft/color.md - Network accessline 21
Source: https://github.com/nexu-io/open-design/blob/main/craft/color.md - Network accessline 39
Source: https://github.com/nexu-io/open-design/blob/main/craft/typography.md - Network accessline 39
Source: https://github.com/nexu-io/open-design/blob/main/craft/typography.md - Network accessline 59
Source: https://github.com/nexu-io/open-design/blob/main/craft/state-coverage.md - Network accessline 59
Source: https://github.com/nexu-io/open-design/blob/main/craft/state-coverage.md - Network accessline 80
Source: https://github.com/nexu-io/open-design/blob/main/craft/accessibility-baseline.md - Network accessline 80
Source: https://github.com/nexu-io/open-design/blob/main/craft/accessibility-baseline.md - Network accessline 105
Source: https://github.com/nexu-io/open-design/blob/main/craft/rtl-and-bidi.md - Network accessline 105
Source: https://github.com/nexu-io/open-design/blob/main/craft/rtl-and-bidi.md - Network accessline 122
Source: https://github.com/nexu-io/open-design/blob/main/craft/animation-discipline.md - Network accessline 122
Source: https://github.com/nexu-io/open-design/blob/main/craft/animation-discipline.md - Network accessline 138
Source: https://github.com/nexu-io/open-design/pull/625 - Network accessline 138
Source: https://github.com/nexu-io/open-design/pull/625 - Network accessline 162
Source: https://github.com/nexu-io/open-design/blob/main/craft/anti-ai-slop.md - Network accessline 162
Source: https://github.com/nexu-io/open-design/blob/main/craft/anti-ai-slop.md
plugins/prompt-to-asset/skills/ui-mockup-prompt/references/laws-of-ux.md
- Network accessline 3
A reference of 30 cognitive / perceptual / design heuristics from [lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 3
A reference of 30 cognitive / perceptual / design heuristics from [lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 4
[lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 4
[lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 35
Source URL: https://lawsofux.com/law-of-common-region/ - Network accessline 35
Source URL: https://lawsofux.com/law-of-common-region/ - Network accessline 47
Source URL: https://lawsofux.com/law-of-proximity/ - Network accessline 47
Source URL: https://lawsofux.com/law-of-proximity/ - Network accessline 59
Source URL: https://lawsofux.com/law-of-pr%C3%A4gnanz/ - Network accessline 59
Source URL: https://lawsofux.com/law-of-pr%C3%A4gnanz/ - Network accessline 71
Source URL: https://lawsofux.com/law-of-similarity/ - Network accessline 71
Source URL: https://lawsofux.com/law-of-similarity/ - Network accessline 83
Source URL: https://lawsofux.com/law-of-uniform-connectedness/ - Network accessline 83
Source URL: https://lawsofux.com/law-of-uniform-connectedness/ - Network accessline 95
Source URL: https://lawsofux.com/aesthetic-usability-effect/ - Network accessline 95
Source URL: https://lawsofux.com/aesthetic-usability-effect/ - Network accessline 107
Source URL: https://lawsofux.com/selective-attention/ - Network accessline 107
Source URL: https://lawsofux.com/selective-attention/ - Network accessline 119
Source URL: https://lawsofux.com/von-restorff-effect/ - Network accessline 119
Source URL: https://lawsofux.com/von-restorff-effect/ - Network accessline 135
Source URL: https://lawsofux.com/hicks-law/ - Network accessline 135
Source URL: https://lawsofux.com/hicks-law/ - Network accessline 147
Source URL: https://lawsofux.com/choice-overload/ - Network accessline 147
Source URL: https://lawsofux.com/choice-overload/ - Network accessline 159
Source URL: https://lawsofux.com/occams-razor/ - Network accessline 159
Source URL: https://lawsofux.com/occams-razor/ - Network accessline 171
Source URL: https://lawsofux.com/pareto-principle/ - Network accessline 171
Source URL: https://lawsofux.com/pareto-principle/ - Network accessline 183
Source URL: https://lawsofux.com/teslers-law/ - Network accessline 183
Source URL: https://lawsofux.com/teslers-law/ - Network accessline 195
Source URL: https://lawsofux.com/cognitive-bias/ - Network accessline 195
Source URL: https://lawsofux.com/cognitive-bias/ - Network accessline 211
Source URL: https://lawsofux.com/millers-law/ - Network accessline 211
Source URL: https://lawsofux.com/millers-law/ - Network accessline 223
Source URL: https://lawsofux.com/working-memory/ - Network accessline 223
Source URL: https://lawsofux.com/working-memory/ - Network accessline 235
Source URL: https://lawsofux.com/chunking/ - Network accessline 235
Source URL: https://lawsofux.com/chunking/ - Network accessline 247
Source URL: https://lawsofux.com/serial-position-effect/ - Network accessline 247
Source URL: https://lawsofux.com/serial-position-effect/ - Network accessline 259
Source URL: https://lawsofux.com/peak-end-rule/ - Network accessline 259
Source URL: https://lawsofux.com/peak-end-rule/ - Network accessline 271
Source URL: https://lawsofux.com/zeigarnik-effect/ - Network accessline 271
Source URL: https://lawsofux.com/zeigarnik-effect/ - Network accessline 287
Source URL: https://lawsofux.com/fittss-law/ - Network accessline 287
Source URL: https://lawsofux.com/fittss-law/ - Network accessline 299
Source URL: https://lawsofux.com/doherty-threshold/ - Network accessline 299
Source URL: https://lawsofux.com/doherty-threshold/ - Network accessline 311
Source URL: https://lawsofux.com/flow/ - Network accessline 311
Source URL: https://lawsofux.com/flow/ - Network accessline 323
Source URL: https://lawsofux.com/goal-gradient-effect/ - Network accessline 323
Source URL: https://lawsofux.com/goal-gradient-effect/ - Network accessline 335
Source URL: https://lawsofux.com/postels-law/ - Network accessline 335
Source URL: https://lawsofux.com/postels-law/ - Network accessline 351
Source URL: https://lawsofux.com/jakobs-law/ - Network accessline 351
Source URL: https://lawsofux.com/jakobs-law/ - Network accessline 363
Source URL: https://lawsofux.com/mental-model/ - Network accessline 363
Source URL: https://lawsofux.com/mental-model/ - Network accessline 375
Source URL: https://lawsofux.com/paradox-of-the-active-user/ - Network accessline 375
Source URL: https://lawsofux.com/paradox-of-the-active-user/ - Network accessline 387
Source URL: https://lawsofux.com/parkinsons-law/ - Network accessline 387
Source URL: https://lawsofux.com/parkinsons-law/ - Network accessline 399
Source URL: https://lawsofux.com/cognitive-load/ - Network accessline 399
Source URL: https://lawsofux.com/cognitive-load/ - Network accessline 422
Source attribution: all laws curated by Jon Yablonski at https://lawsofux.com/. Distillations and prompt directives in this file - Network accessline 422
Source attribution: all laws curated by Jon Yablonski at https://lawsofux.com/. Distillations and prompt directives in this file - Network accessline 423
https://lawsofux.com/. Distillations and prompt directives in this file - Network accessline 423
https://lawsofux.com/. Distillations and prompt directives in this file
plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/flux-2-pro.md
- Network accessline 115
response = requests.post( - Network accessline 115
response = requests.post( - Network accessline 116
"https://api.together.xyz/v1/images/generations", - Network accessline 116
"https://api.together.xyz/v1/images/generations", - Access to secretsline 117
[Credential-related source omitted] - Access to secretsline 117
[Credential-related source omitted]
plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/ideogram-3-turbo.md
- Network accessline 77
response = requests.post( - Network accessline 77
response = requests.post( - Network accessline 78
"https://api.ideogram.ai/v1/ideogram-v3/generate", - Network accessline 78
"https://api.ideogram.ai/v1/ideogram-v3/generate", - Access to secretsline 79
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Network accessline 123
POST https://api.ideogram.ai/v1/ideogram-v3/generate-transparent - Network accessline 123
POST https://api.ideogram.ai/v1/ideogram-v3/generate-transparent
plugins/prompt-to-asset/skills/ui-mockup-prompt/references/models/nano-banana-pro.md
- Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Network accessline 87
Per [Apiyi's reference guide](https://help.apiyi.com/en/gemini-14-reference-images-object-fidelity-character-consistency-guide-en.html), 5 of those 6 object slots receive higher-fidelity preservation. Place the most-critical refs (target st - Network accessline 87
Per [Apiyi's reference guide](https://help.apiyi.com/en/gemini-14-reference-images-object-fidelity-character-consistency-guide-en.html), 5 of those 6 object slots receive higher-fidelity preservation. Place the most-critical refs (target st
plugins/prompt-to-asset/skills/ui-mockup-prompt/references/routing-evidence.md
skills/asset-enhancer/SKILL.md
- Network accessline 25
> 1. Producing production-grade software assets is a **routing + post-processing** problem, not a prompt-engineering problem. > 2. The user may not have an image-model API key. The plugin must work anyway. > 3. There are real zero-key and f - Network accessline 25
> 1. Producing production-grade software assets is a **routing + post-processing** problem, not a prompt-engineering problem. > 2. The user may not have an image-model API key. The plugin must work anyway. > 3. There are real zero-key and f - Network accessline 27
[Credential-related source omitted] - Network accessline 27
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Access to secretsline 27
[Credential-related source omitted] - Network accessline 50
The server returns the dialect-correct prompt + a list of paste targets with URLs in **free-first order**: AI Studio **web UI** (https://aistudio.google.com — free interactive Gemini / Imagen), Pollinations (zero-signup HTTP), HF Inference - Network accessline 50
The server returns the dialect-correct prompt + a list of paste targets with URLs in **free-first order**: AI Studio **web UI** (https://aistudio.google.com — free interactive Gemini / Imagen), Pollinations (zero-signup HTTP), HF Inference - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 52
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Network accessline 246
"enhanced_prompt": "…", "target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], - Network accessline 246
"enhanced_prompt": "…", "target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], - Network accessline 247
"target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], "ingest_hint": { - Network accessline 247
"target_model": "ideogram-3-turbo", "paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], "ingest_hint": { - Network accessline 248
"paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }], - Network accessline 248
"paste_targets": [{ "name": "Ideogram web", "url": "https://ideogram.ai", "notes": "…" }],
skills/svg-authoring/SKILL.md
- Network accessline 36
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"> - Network accessline 36
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
skills/ui-mockup-prompt/references/craft-rules-condensed.md
- Network accessline 21
Source: https://github.com/nexu-io/open-design/blob/main/craft/color.md - Network accessline 21
Source: https://github.com/nexu-io/open-design/blob/main/craft/color.md - Network accessline 39
Source: https://github.com/nexu-io/open-design/blob/main/craft/typography.md - Network accessline 39
Source: https://github.com/nexu-io/open-design/blob/main/craft/typography.md - Network accessline 59
Source: https://github.com/nexu-io/open-design/blob/main/craft/state-coverage.md - Network accessline 59
Source: https://github.com/nexu-io/open-design/blob/main/craft/state-coverage.md - Network accessline 80
Source: https://github.com/nexu-io/open-design/blob/main/craft/accessibility-baseline.md - Network accessline 80
Source: https://github.com/nexu-io/open-design/blob/main/craft/accessibility-baseline.md - Network accessline 105
Source: https://github.com/nexu-io/open-design/blob/main/craft/rtl-and-bidi.md - Network accessline 105
Source: https://github.com/nexu-io/open-design/blob/main/craft/rtl-and-bidi.md - Network accessline 122
Source: https://github.com/nexu-io/open-design/blob/main/craft/animation-discipline.md - Network accessline 122
Source: https://github.com/nexu-io/open-design/blob/main/craft/animation-discipline.md - Network accessline 138
Source: https://github.com/nexu-io/open-design/pull/625 - Network accessline 138
Source: https://github.com/nexu-io/open-design/pull/625 - Network accessline 162
Source: https://github.com/nexu-io/open-design/blob/main/craft/anti-ai-slop.md - Network accessline 162
Source: https://github.com/nexu-io/open-design/blob/main/craft/anti-ai-slop.md
skills/ui-mockup-prompt/references/laws-of-ux.md
- Network accessline 3
A reference of 30 cognitive / perceptual / design heuristics from [lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 3
A reference of 30 cognitive / perceptual / design heuristics from [lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 4
[lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 4
[lawsofux.com](https://lawsofux.com/) (Jon Yablonski). Each entry distils - Network accessline 35
Source URL: https://lawsofux.com/law-of-common-region/ - Network accessline 35
Source URL: https://lawsofux.com/law-of-common-region/ - Network accessline 47
Source URL: https://lawsofux.com/law-of-proximity/ - Network accessline 47
Source URL: https://lawsofux.com/law-of-proximity/ - Network accessline 59
Source URL: https://lawsofux.com/law-of-pr%C3%A4gnanz/ - Network accessline 59
Source URL: https://lawsofux.com/law-of-pr%C3%A4gnanz/ - Network accessline 71
Source URL: https://lawsofux.com/law-of-similarity/ - Network accessline 71
Source URL: https://lawsofux.com/law-of-similarity/ - Network accessline 83
Source URL: https://lawsofux.com/law-of-uniform-connectedness/ - Network accessline 83
Source URL: https://lawsofux.com/law-of-uniform-connectedness/ - Network accessline 95
Source URL: https://lawsofux.com/aesthetic-usability-effect/ - Network accessline 95
Source URL: https://lawsofux.com/aesthetic-usability-effect/ - Network accessline 107
Source URL: https://lawsofux.com/selective-attention/ - Network accessline 107
Source URL: https://lawsofux.com/selective-attention/ - Network accessline 119
Source URL: https://lawsofux.com/von-restorff-effect/ - Network accessline 119
Source URL: https://lawsofux.com/von-restorff-effect/ - Network accessline 135
Source URL: https://lawsofux.com/hicks-law/ - Network accessline 135
Source URL: https://lawsofux.com/hicks-law/ - Network accessline 147
Source URL: https://lawsofux.com/choice-overload/ - Network accessline 147
Source URL: https://lawsofux.com/choice-overload/ - Network accessline 159
Source URL: https://lawsofux.com/occams-razor/ - Network accessline 159
Source URL: https://lawsofux.com/occams-razor/ - Network accessline 171
Source URL: https://lawsofux.com/pareto-principle/ - Network accessline 171
Source URL: https://lawsofux.com/pareto-principle/ - Network accessline 183
Source URL: https://lawsofux.com/teslers-law/ - Network accessline 183
Source URL: https://lawsofux.com/teslers-law/ - Network accessline 195
Source URL: https://lawsofux.com/cognitive-bias/ - Network accessline 195
Source URL: https://lawsofux.com/cognitive-bias/ - Network accessline 211
Source URL: https://lawsofux.com/millers-law/ - Network accessline 211
Source URL: https://lawsofux.com/millers-law/ - Network accessline 223
Source URL: https://lawsofux.com/working-memory/ - Network accessline 223
Source URL: https://lawsofux.com/working-memory/ - Network accessline 235
Source URL: https://lawsofux.com/chunking/ - Network accessline 235
Source URL: https://lawsofux.com/chunking/ - Network accessline 247
Source URL: https://lawsofux.com/serial-position-effect/ - Network accessline 247
Source URL: https://lawsofux.com/serial-position-effect/ - Network accessline 259
Source URL: https://lawsofux.com/peak-end-rule/ - Network accessline 259
Source URL: https://lawsofux.com/peak-end-rule/ - Network accessline 271
Source URL: https://lawsofux.com/zeigarnik-effect/ - Network accessline 271
Source URL: https://lawsofux.com/zeigarnik-effect/ - Network accessline 287
Source URL: https://lawsofux.com/fittss-law/ - Network accessline 287
Source URL: https://lawsofux.com/fittss-law/ - Network accessline 299
Source URL: https://lawsofux.com/doherty-threshold/ - Network accessline 299
Source URL: https://lawsofux.com/doherty-threshold/ - Network accessline 311
Source URL: https://lawsofux.com/flow/ - Network accessline 311
Source URL: https://lawsofux.com/flow/ - Network accessline 323
Source URL: https://lawsofux.com/goal-gradient-effect/ - Network accessline 323
Source URL: https://lawsofux.com/goal-gradient-effect/ - Network accessline 335
Source URL: https://lawsofux.com/postels-law/ - Network accessline 335
Source URL: https://lawsofux.com/postels-law/ - Network accessline 351
Source URL: https://lawsofux.com/jakobs-law/ - Network accessline 351
Source URL: https://lawsofux.com/jakobs-law/ - Network accessline 363
Source URL: https://lawsofux.com/mental-model/ - Network accessline 363
Source URL: https://lawsofux.com/mental-model/ - Network accessline 375
Source URL: https://lawsofux.com/paradox-of-the-active-user/ - Network accessline 375
Source URL: https://lawsofux.com/paradox-of-the-active-user/ - Network accessline 387
Source URL: https://lawsofux.com/parkinsons-law/ - Network accessline 387
Source URL: https://lawsofux.com/parkinsons-law/ - Network accessline 399
Source URL: https://lawsofux.com/cognitive-load/ - Network accessline 399
Source URL: https://lawsofux.com/cognitive-load/ - Network accessline 422
Source attribution: all laws curated by Jon Yablonski at https://lawsofux.com/. Distillations and prompt directives in this file - Network accessline 422
Source attribution: all laws curated by Jon Yablonski at https://lawsofux.com/. Distillations and prompt directives in this file - Network accessline 423
https://lawsofux.com/. Distillations and prompt directives in this file - Network accessline 423
https://lawsofux.com/. Distillations and prompt directives in this file
skills/ui-mockup-prompt/references/models/flux-2-pro.md
- Network accessline 115
response = requests.post( - Network accessline 115
response = requests.post( - Network accessline 116
"https://api.together.xyz/v1/images/generations", - Network accessline 116
"https://api.together.xyz/v1/images/generations", - Access to secretsline 117
[Credential-related source omitted] - Access to secretsline 117
[Credential-related source omitted]
skills/ui-mockup-prompt/references/models/ideogram-3-turbo.md
- Network accessline 77
response = requests.post( - Network accessline 77
response = requests.post( - Network accessline 78
"https://api.ideogram.ai/v1/ideogram-v3/generate", - Network accessline 78
"https://api.ideogram.ai/v1/ideogram-v3/generate", - Access to secretsline 79
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Network accessline 123
POST https://api.ideogram.ai/v1/ideogram-v3/generate-transparent - Network accessline 123
POST https://api.ideogram.ai/v1/ideogram-v3/generate-transparent
skills/ui-mockup-prompt/references/models/nano-banana-pro.md
- Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Network accessline 87
Per [Apiyi's reference guide](https://help.apiyi.com/en/gemini-14-reference-images-object-fidelity-character-consistency-guide-en.html), 5 of those 6 object slots receive higher-fidelity preservation. Place the most-critical refs (target st - Network accessline 87
Per [Apiyi's reference guide](https://help.apiyi.com/en/gemini-14-reference-images-object-fidelity-character-consistency-guide-en.html), 5 of those 6 object slots receive higher-fidelity preservation. Place the most-critical refs (target st
skills/ui-mockup-prompt/references/routing-evidence.md
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.
Signal confidence: 315 facts
- Network access in prose of the SKILL.mdasset-enhancer/SKILL.md:25Low confidence
- Network access in prose of the SKILL.mdasset-enhancer/SKILL.md:27Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueasset-enhancer/SKILL.md:27Low confidence
- Network access in prose of the SKILL.mdasset-enhancer/SKILL.md:50Low confidence
- Access to secrets in prose of the SKILL.mdasset-enhancer/SKILL.md:52Low confidence
- Access to secrets in prose of the SKILL.mdasset-enhancer/SKILL.md:60Low confidence
- Network access in code of the SKILL.mdasset-enhancer/SKILL.md:246High confidence
- Network access in code of the SKILL.mdasset-enhancer/SKILL.md:247High confidence
- Network access in code of the SKILL.mdasset-enhancer/SKILL.md:248High confidence
- Network access in code of the SKILL.mdsvg-authoring/SKILL.md:36High confidence
- Network access in prose of documentationui-mockup-prompt/references/craft-rules-condensed.md:21Low confidence
- Network access in prose of documentationui-mockup-prompt/references/craft-rules-condensed.md:39Low confidence
- Network access in prose of documentationui-mockup-prompt/references/craft-rules-condensed.md:59Low confidence
- Network access in prose of documentationui-mockup-prompt/references/craft-rules-condensed.md:80Low confidence
- Network access in prose of documentationui-mockup-prompt/references/craft-rules-condensed.md:105Low confidence
- Network access in prose of documentationui-mockup-prompt/references/craft-rules-condensed.md:122Low confidence
- Network access in prose of documentationui-mockup-prompt/references/craft-rules-condensed.md:138Low confidence
- Network access in prose of documentationui-mockup-prompt/references/craft-rules-condensed.md:162Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:3Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:4Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:35Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:47Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:59Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:71Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:83Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:95Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:107Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:119Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:135Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:147Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:159Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:171Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:183Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:195Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:211Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:223Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:235Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:247Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:259Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:271Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:287Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:299Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:311Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:323Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:335Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:351Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:363Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:375Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:387Low confidence
- Network access in prose of documentationui-mockup-prompt/references/laws-of-ux.md:399Low confidence
and 265 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/plugin.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Native | Path .cursor/mcp.json | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Manifest gemini-extension.json | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Native | Manifest .github/copilot-instructions.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md .windsurf/skills/app-icon/SKILL.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.