# Installable Web Asset Skills Survey

**Research date:** 2026-04-20  
**Scope:** Five GitHub repos implementing web asset generation as installable Claude Code skills, plus mcpmarket.com image/asset skills section. Compared against prompt-to-asset's existing skill surface.

---

## 1. alonw0/web-asset-generator (322 stars)

**Repo:** https://github.com/alonw0/web-asset-generator  
**Language:** Python  
**Created:** 2025-10-21  

### Asset types generated

- Favicons: 16×16, 32×32, 96×96 PNG + favicon.ico (multi-res)
- App icons: apple-touch-icon 180×180, android-chrome 192×192, android-chrome 512×512
- OG/social images: 1200×630 (Facebook/LinkedIn/WhatsApp), 1200×675 (Twitter), 1200×1200 (square)
- PWA manifest.json auto-generated
- No logo, no SVG vector, no iOS AppIconSet, no Android mipmap folders, no visionOS

### Models/APIs called

None. Pure Pillow (Python Imaging Library) raster processing. No diffusion model, no API key required. The skill rescales an input image or renders emoji/text using PIL. OG images are generated by compositing text + logo onto a solid color background using PIL's ImageDraw/ImageFont. No Satori, no real font shaping — PIL falls back to system fonts.

### Install method

Two paths:
1. Plugin marketplace: `/plugins marketplace add alonw0/web-asset-generator` then `/plugin install web-asset-generator@web-asset-generator-marketplace`
2. Manual: copy `skills/web-asset-generator/` folder to `~/.claude/skills/`

Deps: `pip install Pillow` (required), `pip install pilmoji 'emoji<2.0.0'` (optional for emoji icons).

### Output file structure

```
output/
├── favicon-16x16.png
├── favicon-32x32.png
├── favicon-96x96.png
├── favicon.ico
├── apple-touch-icon.png    # 180×180
├── android-chrome-192x192.png
├── android-chrome-512x512.png
├── og-image.png            # 1200×630
├── twitter-image.png       # 1200×675
├── og-square.png           # 1200×1200
└── [manifest.json if requested]
```

No meta.json, no provenance, no content-addressed bundle.

### Skill trigger phrases

"favicon", "browser icon", "tab icon", "app icon", "social image", "Open Graph", "OG image", "create a favicon for my site", "make social sharing images".

### Transparent background handling

For favicons: transparent is supported — input PNG alpha is preserved through PIL resize. For apple-touch-icon: opaque (the script uses `-background "#color" -alpha remove` logic). For OG images: solid color background, no transparency. No diffusion model → no checkerboard problem to solve. No BiRefNet, no background removal.

### Multi-platform fan-out

Partial. iOS apple-touch-icon (180) only — no AppIconSet, no full iOS size matrix. Android 192+512 PNG only — no mipmap folder structure, no adaptive icon XML, no monochrome. PWA: 192+512 + manifest.json, but no maskable with explicit 80% safe zone. No visionOS.

### Distinctive features

1. **AskUserQuestion-driven UX.** The SKILL.md is the most detailed UX script of all repos surveyed. It defines eight named question patterns with chip/tag UI, guiding users through asset type → source → platform → color → integration → testing. This is absent from prompt-to-asset's SKILL.md files, which are pipeline specs not conversation scripts.

2. **Framework auto-integration.** After generating, skill detects Next.js/Astro/SvelteKit/Nuxt/Gatsby/plain HTML and offers to write the `<link>` tags directly into `app/layout.tsx`, `astro.config.mjs`, `src/app.html`, etc. Prompt-to-asset outputs `head-snippet.html` but stops there.

3. **Emoji suggestion engine.** Given a project description, the skill calls `generate_favicons.py --suggest "coffee shop"` to return 4 context-relevant emoji options, then renders the selected emoji into all favicon sizes. Novel UX hook with zero API cost.

4. **Platform testing links.** After generation, skill offers to open Facebook Sharing Debugger, Twitter Card Validator, LinkedIn Post Inspector. Practical, zero-cost validation step.

5. **Validation built into scripts.** Both `generate_favicons.py` and `generate_og_images.py` accept a `--validate` flag that checks file size, exact dimensions, format support per platform, and WCAG AA contrast ratio (for text-based images). Output is a pass/warn/fail report.

---

## 2. jau123/MeiGen-Art (586 stars)

**Repo:** https://github.com/jau123/MeiGen-Art (actual repo name: MeiGen-AI-Design-MCP)  
**Language:** TypeScript  
**Created:** 2026-02-07  
**npm package:** `meigen`

### Asset types generated

General image generation — not scoped to web assets. Primary use cases shown in docs: product photos, portraits, mockups, illustrations, social media images. No specific favicon, app icon, or OG image pipeline. No SVG output. No transparency-aware routing (the `generate_image` tool accepts `negativePrompt` even though it's provider-specific).

The visual-creative SKILL.md mentions "design a logo" and "make a poster" as triggers but has no favicon, app icon, or OG image-specific pipeline — it routes everything through the generic `generate_image` tool.

### Models/APIs called

Three-backend routing system:

| Backend | How configured | Models |
|---|---|---|
| ComfyUI local | `COMFYUI_URL` env var | Any locally installed model (Flux, SDXL, etc.) |
| MeiGen Cloud | `MEIGEN_API_TOKEN` env var | Nanobanana 2 (default), Nanobanana Pro, Seedream 5.0 Lite, GPT Image 1.5, Seedream 4.5, Midjourney V7, Midjourney Niji 7 |
| OpenAI-compatible | `OPENAI_API_KEY` + `OPENAI_BASE_URL` + `OPENAI_MODEL` | Any model at any OpenAI-compatible endpoint |

Auto-selects best available provider. Free features (gallery search, prompt enhancement, model listing) work with no key. Generation requires at least one key.

### Install method

Claude Code plugin marketplace (recommended):
```
/plugin marketplace add jau123/MeiGen-AI-Design-MCP
/plugin install meigen@meigen-marketplace
```

Or via npx for Cursor/Windsurf/VSCode:
```
npx meigen init cursor
```

Or raw MCP config:
```json
{ "mcpServers": { "meigen": { "command": "npx", "args": ["-y", "meigen@latest"] } } }
```

### Output file structure

Images saved to `~/Pictures/meigen/YYYY-MM-DD_<randomhex>.<ext>`. No asset type-specific folder structure, no meta.json, no platform bundle. The file path and a cloud URL are returned per generation. No post-processing, no validation.

### Skill trigger phrases

"generate an image", "create artwork", "design a logo", "make a poster", "draw something", "find inspiration", "search for reference images", "enhance my prompt", "brand design", "product mockup", "batch generate images", "multiple variations", "AI image generation".

Also explicit slash commands: `/meigen:gen <prompt>`, `/meigen:find <keywords>`, `/meigen:models`, `/meigen:setup`.

### Transparent background handling

The `generate_image` tool schema includes a `negativePrompt` field. For transparent backgrounds, if the backend is an OpenAI-compatible provider, the user would pass `background: "transparent"` via custom parameters, but MeiGen's tool schema doesn't explicitly expose this per-provider. No BiRefNet post-processing. No checkerboard detection. Transparency is whatever the model returns.

### Multi-platform fan-out

None. Single image per generation call. No fan-out to iOS/Android/PWA. No size matrix. No platform-specific format or safe-zone logic.

### Distinctive features

1. **ComfyUI local backend.** The only surveyed skill that routes to a user's local GPU. Imports arbitrary ComfyUI API-format workflows, auto-detects KSampler/CLIPTextEncode/EmptyLatentImage/LoadImage nodes. For privacy-sensitive or high-volume work, this is a meaningful differentiator.

2. **Parallel multi-direction generation via sub-agents.** The visual-creative skill explicitly orchestrates parallel generation: it plans N directions, presents them via AskUserQuestion, then spawns N `meigen:image-generator` sub-agents in a single response for true parallel execution. Each agent runs `generate_image` in an isolated context to keep base64 data out of the main conversation. Prompt-to-asset's SKILL.md files describe routing logic but don't define an agent orchestration pattern for parallel generation.

3. **1,500+ curated prompt library + semantic search.** The `search_gallery` tool provides semantic search across 1,500+ curated trending prompts. `get_inspiration` returns full prompt + image URLs for any entry. `enhance_prompt` transforms a brief into a dialect-correct prompt. These are free tools (no API key). Prompt-to-asset has prompt scaffolds in SKILL.md files but no searchable library.

4. **SessionStart hook for config validation.** `hooks.json` fires `check-config.sh` on every session start. This silently validates provider configuration and guides setup if missing — without the user having to ask. Prompt-to-asset has no session hook system.

5. **Multi-turn image editing.** The ai-image-generator SKILL.md (jezweb) documents Gemini multi-turn editing with thought signature preservation. MeiGen's approach is stateless (new generation per call), but its `referenceImages` parameter accepts prior generation URLs, enabling iterative refinement.

6. **OpenAI-compatible endpoint passthrough.** `OPENAI_BASE_URL` lets users point at Together AI, Fireworks AI, DeepInfra, SiliconFlow, or any compatible endpoint — broader than the fixed provider list in prompt-to-asset's routing table.

7. **Privacy-first local storage.** Reference images are compressed in-memory (max 2MB, 2048px) before upload; uploaded images auto-expire after 24 hours; ComfyUI users skip upload entirely. Custom S3/R2 backend supported.

---

## 3. jezweb/claude-skills (739 stars)

**Repo:** https://github.com/jezweb/claude-skills  
**Language:** Python  
**Created:** 2025-10-20  
**Structure:** Plugin with multiple design skills under `plugins/design-assets/skills/`

Three design-relevant skills extracted:

### 3a. favicon-gen

**Trigger phrases:** "favicon", "browser icon", "browser tab icon", "converting logos to favicons", "creating branded icons from initials", "favicon not displaying", "iOS black square", "missing manifest".

**Asset types:** favicon.svg (vector, with dark-mode support via CSS), favicon.ico (16+32 multi-res), apple-touch-icon.png (180×180 opaque), icon-192.png, icon-512.png, site.webmanifest.

**Models/APIs:** None. Pure SVG authoring by the LLM itself, then shell-command conversion via ImageMagick (`convert`). Fallback: direct user to favicon.io.

**Output structure:**
```
/public/ (or site root)
├── favicon.svg
├── favicon.ico
├── apple-touch-icon.png
├── icon-192.png
├── icon-512.png
└── site.webmanifest
```

**Transparent background handling:** Correctly handles iOS requirement — apple-touch-icon uses `-background "#color" -alpha remove` in ImageMagick. SVG preserves alpha. No diffusion model → no false checkerboard.

**Multi-platform:** iOS (apple-touch-icon only, no size matrix), Android (192+512), PWA manifest. No AppIconSet, no mipmap folders, no maskable safe-zone padding, no visionOS.

**Distinctive features:**
- SVG templates for circle, rounded-square, shield, hexagon shapes available in `assets/` directory.
- Reference files: `references/format-guide.md`, `references/extraction-methods.md`, `references/monogram-patterns.md`, `references/shape-templates.md`. This reference architecture (SKILL.md + references/) is well-structured for maintainability.
- Explicit instruction to test at 16×16 and reject if not legible.
- HTML `<link>` snippet generation included.

### 3b. ai-image-generator

**Trigger phrases:** "generate image", "ai image", "create hero image", "make an icon", "generate illustration", "create og image", "ai art", "image generation".

**Asset types:** Hero images, service cards, profile/avatar, icons (transparent), OG/social, Instagram posts, mobile hero. Not favicon or app-icon specific.

**Models/APIs called:**

| Use case | Model | API |
|---|---|---|
| Scenes/stock photos | Gemini 3.1 Flash Image (`gemini-3.1-flash-image-preview`) | Google AI |
| Transparent icons/logos | GPT Image 1.5 (`gpt-image-1.5`) | OpenAI |
| Text on images | GPT Image 1.5 | OpenAI |
| Drafts/iteration | Gemini 2.5 Flash Image (free tier ~500/day) | Google AI |
| Final client assets | Gemini 3 Pro Image | Google AI |

Note: model IDs explicitly flagged as "change frequently — verify before use."

**Install method:** Plugin marketplace or manual copy of skill folder.

**Output:** Saved to `.jez/artifacts/` or user-specified path. Optional WebP conversion and alpha-trim post-processing via PIL.

**Transparent background handling:** Explicit routing rule — "Gemini cannot do transparency — use GPT with `background: 'transparent'`". This matches prompt-to-asset's routing table but is expressed as a simple hard rule rather than a full decision tree.

**Multi-platform fan-out:** None. Single image per call.

**Distinctive features:**
- **5-part prompting framework** (Image Type → Subject → Environment → Technical Specs → Constraints) codified as a reusable pattern. Includes a concrete bad vs. good example. More pedagogical than prompt-to-asset's scaffold tables.
- **Multi-turn Gemini editing** with thought-signature preservation documented: the skill explains that you must return the full model response parts (including thoughtSignature) to enable edit continuity, and that you must specify what to KEEP not just what to change.
- **Vision-model QA loop:** after generation, send image back to a vision model with a rubric (AI artifacts, technical accuracy, composition, style consistency). If issues found, append as negative guidance and regenerate. Prompt-to-asset's validation is deterministic (dimensions, alpha, OCR, palette ΔE) — this adds a VLM perception layer.
- **Australian locale bias mitigation:** skill explicitly notes "specify 'Australian' + local architecture, vegetation" — example of locale-aware prompt guidance.
- **Managed alternative link:** skill mentions ImageBot (imagebot.au) for users who don't want to manage API keys. Cross-referencing alternative services is useful.

### 3c. icon-set-generator

**Trigger phrases:** "icons for", "icon set", "custom icons", "SVG icons", "make me icons", "I need icons", "website icons", "project icons", or any web project that implies icons.

**Asset types:** Custom SVG icon sets — navigation, communication, trust, actions, industry-specific icons. N icons per project (typical 15–25 for a small site).

**Models/APIs:** None. LLM authors SVG directly following a strict style spec.

**Output structure:**
```
icons/
├── style-spec.json
├── preview.html        # self-contained, inline SVGs
├── home.svg
├── phone.svg
└── ...
```

**Transparent background handling:** Icons use `currentColor` — inherently transparent backgrounds via `fill="none"` on root SVG element. No raster images.

**Multi-platform fan-out:** N/A — icon set is a design system asset, not a platform-specific bundle.

**Distinctive features:**
- **Style engine with 5 presets** (Clean, Sharp, Soft, Minimal, Bold) defined by stroke width, linecap/linejoin, corner radius, and padding. The LLM recommends one based on the project type and explicitly informs the user why.
- **Optical correction rules** codified: curved stroke compensation (curves appear thinner than straight at same stroke-width — make curves slightly larger rather than changing stroke-width); pointed shape overshoot (arrows extend ~0.5px beyond square endpoint); visual weight balancing across the set.
- **style-spec.json** as a machine-readable contract for the icon set. Useful for regeneration and CI.
- **Self-contained preview.html** with inline SVGs at 1x and 2x, dark-background section for contrast check. Prompt-to-asset has no preview mechanism.
- **Industry icon suggestions** in `references/industry-icons.md` — LLM reads this before suggesting icons for plumber, spa, tech startup, etc.
- **Hard SVG rules** enforced: `currentColor` only, identical viewBox across all icons, no transforms on root, max 2 decimal place coordinates, snap to half-pixel grid, no IDs/classes. More rigorous consistency enforcement than prompt-to-asset's `≤200 paths` constraint.
- **Industry-specific shape templates** in `references/shape-templates.md` for shield (security), hexagon (tech), etc.

---

## 4. designrique/ai-graphic-design-skill (1 star)

**Repo:** https://github.com/designrique/ai-graphic-design-skill  
**Language:** (none — pure markdown)  
**Created:** 2026-04-01  
**Note:** Written in Portuguese (Brazilian). SKILL.md is the entire repo beyond license/contributing.

### Asset types generated

Logos/logotypes, brand identities, visual assets, mockups, vectorized graphics, icon libraries. Not favicon- or app-icon-specific. Covers the full graphic design workflow from briefing through delivery.

### Models/APIs called

Tool selection matrix (not hardcoded API calls — guidance for which tool to use manually):

| Scenario | Tool |
|---|---|
| Native vector SVG | Recraft V3/V4 |
| Creative exploration/moodboards | Midjourney v6+ |
| IP-safe corporate use | Adobe Firefly / Illustrator |
| Conversational iteration | DALL-E 3 (ChatGPT) |
| Full control/batch generation | Stable Diffusion |
| UI wireframes | Uizard |
| Photorealistic mockups | Nano Banana / Phygital+ |
| Raster-to-vector | Vectorizer.ai |
| Background removal | Remove.bg / Adobe Express |
| Upscaling | Upscayl (local/free) / Topaz Labs |
| Color palette | Colormind |
| Font identification | WhatTheFont |
| Product/character consistency | Krea AI / Flora AI |
| Style consistency from moodboard | Visual Electric |

### Install method

Manual copy of `SKILL.md` into skills directory. No scripts, no dependencies, no plugin manifest.

### Output file structure

Not defined in the SKILL.md. The skill is a knowledge document, not a pipeline script. It describes what to deliver (vector + rasterized variants) but doesn't define folder structure.

### Skill trigger phrases

"logomarca, logo, logotipo, marca, branding", "identidade visual, design grafico, vetorizacao", "mockup, apresentacao visual, material grafico", "prompt visual, geracao de imagem para marca", "SVG, EPS, vetorial, Illustrator, Recraft, Midjourney".

### Transparent background handling

Not explicitly addressed. The skill recommends Remove.bg / Adobe Express for background removal as standalone tools, not as a pipeline step.

### Multi-platform fan-out

Not addressed. Delivery formats listed (SVG, EPS, PDF vector; PNG, JPG raster) but no iOS/Android/PWA-specific bundle logic.

### Distinctive features

1. **Comprehensive tool selection matrix** — 15 tool-scenario pairings. More complete than prompt-to-asset's routing table. Particularly notable: Visual Electric for "Custom Style" extraction from 6–12 curated images; Krea AI / Flora AI for product/character consistency across angles; Phygital+ / Nano Banana for photorealistic mockup insertion with real shadows and deformations.

2. **RCAO briefing framework** (Role/Context/Action/Output) for structuring LLM prompts, and StoryBrand methodology for brand identity definition. These are higher-level frameworks than prompt-to-asset's prompt scaffolds.

3. **Brand archetype discipline.** "Define ONE dominant archetype before any visual generation. Mixing conflicting archetypes is error #1 in AI briefings." Practical anti-pattern not covered in prompt-to-asset.

4. **Upscaling model selection guidance.** Four Upscayl models with specific use cases: Prime (degraded logos/JPEGs — reconstructs edges), Gentle (clean art needing more resolution — no creative interpretation, ideal for typography), Digital Art (flat design/illustrations — preserves flat colors and sharp lines without photographic grain), Ultra (very low resolution — aggressive reconstruction, use with low intensity). This is more specific than anything in prompt-to-asset.

**Critical flaw:** The skill recommends using model "Prime" (photographic reconstruction) for logo upscaling as default, but notes "ARMADILHA: Using Prime on flat logos → AI adds paper grain into the logo." The correct call is Digital Art or Gentle. The skill identifies its own pitfall, which is useful, but the default recommendation is wrong.

5. **Bezier curve cleanup guidance.** "Box Method" for manual vector cleanup: create bounding rectangles around AI-generated shapes, position anchors where curves touch the box tangents, keep handles horizontal/vertical, minimize anchor count. This is the kind of craft detail missing from automated pipelines.

6. **Displacement Map + Blend Options workflow** for Photoshop mockups. Specific step-by-step for applying brand art to fabric/surface with realistic deformation. No equivalent in prompt-to-asset.

7. **IP safety matrix** with Brazilian legal context. Covers which tools offer IP indemnification (Adobe Firefly), which have pending lawsuits (Midjourney, SD), and the legal requirement for "significant human creative contribution" to obtain copyright protection. Not covered in prompt-to-asset.

8. **Python automation stack:** py5 (geometric/mathematical generation), vpype (path optimization, occult plugin for hidden line removal), Aspose.SVG (batch SVG→PDF/PNG/JPEG conversion), Blender Python API (3D contour → vector export). Broader automation scope than vtracer/potrace.

---

## 5. YouMind-OpenLab/ai-image-prompts-skill (84 stars)

**Repo:** https://github.com/YouMind-OpenLab/ai-image-prompts-skill  
**Language:** TypeScript  
**Created:** 2026-03-03  
**npm package:** `ai-image-prompts-skill`

### Asset types generated

Not a generation skill — it is a **prompt recommendation skill**. It recommends curated prompts from a library; the user pastes the prompt into their image model of choice. Asset categories covered by the library:

| Category | Prompts |
|---|---|
| Social Media Post | 7,777 |
| Product Marketing | 4,607 |
| Profile / Avatar | 1,301 |
| Poster / Flyer | 599 |
| Game Asset | 516 |
| Infographic / Edu Visual | 519 |
| E-commerce Main Image | 504 |
| Comic / Storyboard | 367 |
| YouTube Thumbnail | 202 |
| App / Web Design | 192 |
| Uncategorized | 1,037 |
| **Total** | **12,516 (as of 2026-04-20)** |

No logo, favicon, app icon, or OG image category specifically. "App / Web Design" (192 prompts) is closest.

### Models/APIs called

None — recommendation only. Prompts are model-agnostic natural language. Supported target models listed: Nano Banana Pro, Nano Banana 2, Seedream 5.0, GPT Image 1.5, Midjourney, DALL-E 3, Flux, Stable Diffusion.

### Install method

```
/plugin marketplace add YouMind-OpenLab/ai-image-prompts-skill
```
Or via pnpm. On install, `postinstall` runs `node scripts/setup.js` which downloads the `references/*.json` files from GitHub. No API key required.

Library is kept fresh by GitHub Actions running daily. Users run `pnpm run sync` (or `node scripts/setup.js --force`) weekly to pull latest prompts.

### Output file structure

No file output — the skill's output is a text prompt recommendation with a sample image shown in chat. If the user selects a prompt and requests customization (Content Illustration Mode), a remixed prompt is output as text.

### Skill trigger phrases

When users want to "find proven image generation prompts", "get prompt inspiration", "create illustrations for articles, videos, podcasts, or marketing content", "browse categorized prompt templates with sample images".

### Transparent background handling

Not applicable — recommendation skill only. Some prompts in the library may include transparency instructions but the skill doesn't filter or route on transparency requirements.

### Multi-platform fan-out

Not applicable.

### Distinctive features

1. **12,516 curated real-world prompts** across 11 categories, updated daily from community usage. The largest prompt corpus of any surveyed skill. No equivalent in prompt-to-asset.

2. **Mandatory sample image with every recommendation.** The SKILL.md defines this as non-negotiable: every prompt recommendation must show its `sourceMedia[0]` image. Users see what the prompt produces before committing. The image is downloaded to `/tmp/prompt_img.jpg` and attached as local file (to bypass CDN restrictions on some platforms).

3. **Content Illustration Mode.** If the user pastes article text, a video script, or podcast notes, the skill enters a distinct mode: it finds matching style templates from the library, then remixes them based on the content's theme, characters, and tone. This is a structured human-in-the-loop workflow (template → user selects → skill remixes → user generates). No equivalent in prompt-to-asset.

4. **Manifest-driven category discovery.** `references/manifest.json` is the source of truth for available categories — the skill reads it dynamically rather than hardcoding category names. When categories are added/renamed by GitHub Actions, the skill adapts without a code change.

5. **Token optimization guidance.** "NEVER fully load category files — search with grep." Category files can be large (7,777 prompts in social-media-post.json); the skill instructs the LLM to use grep on the JSON file rather than loading it into context. Practical for large local libraries.

6. **Mandatory attribution footer** in every response, in user's language. Clean approach to crediting community-sourced content.

7. **Remix workflow (Step 5).** When user selects a prompt, the skill collects personalization info (gender, setting, mood, specific elements), extracts key themes from the user's content, then generates a customized prompt that preserves the template's style/structure while replacing subject matter with user-specific details. This is more sophisticated than direct prompt forwarding.

---

## 6. mcpmarket.com — Image/Asset Skills

**URL:** https://mcpmarket.com/tools/skills  
**Note:** The page returned HTTP 429 (rate limited) on three fetch attempts. Data below is sourced from cross-referencing the repos above with their marketplace registrations and from reviewing `.claude-plugin/plugin.json` files.

From the repos surveyed, the marketplace install format is consistent:
```
/plugins marketplace add <owner>/<repo>
/plugin install <skill-id>@<marketplace-id>
```

All five repos use `.claude-plugin/` directories for plugin manifest metadata. MeiGen explicitly lists `glama.json` (Glama marketplace) and is also listed on Awesome MCP Servers. No unique skills found on mcpmarket.com that aren't already covered by the GitHub repos above, based on the cross-referencing possible without direct page access.

---

## Comparison Against prompt-to-asset Existing Skills

### Dimension-by-dimension

| Dimension | prompt-to-asset | alonw0 | MeiGen | jezweb favicon-gen | jezweb ai-image | jezweb icon-set | designrique | YouMind |
|---|---|---|---|---|---|---|---|---|
| **Favicon bundle** | Full (ICO+SVG+dark+ATI+PWA) | Partial (no SVG dark, no maskable safe-zone) | None | Good (missing maskable) | None | None | None | None |
| **App icon fan-out** | Full (iOS size matrix+Android adaptive+PWA+visionOS) | Partial (3 sizes only) | None | None | None | None | None | None |
| **OG image** | Template-based via Satori | PIL text-on-color | None | None | Single image via API | None | None | None |
| **Logo/vector** | Full (routing table, BiRefNet, vtracer) | None | Generic gen | None | GPT transparent routing | None | Knowledge doc | None |
| **Illustration set** | Full (consistency via LoRA/style_id/IP-Adapter) | None | Generic gen | None | Single image | None | None | None |
| **SVG icon set** | None | None | None | None | None | Full style engine | None | None |
| **Transparent bg routing** | Yes (full decision tree) | Implicit (no diffusion) | Partial (no explicit routing) | N/A (no diffusion) | Hard rule (GPT only) | N/A | Tool list | None |
| **Checkerboard detection** | Yes (FFT probe) | N/A | No | N/A | No | N/A | No | N/A |
| **Validation** | Tier-0/1/2 (dims, alpha, OCR, ΔE) | File size + dims + WCAG AA | None | Legibility at 16x16 | VLM rubric | Style consistency checklist | None | None |
| **Prompt library** | Scaffolds in SKILL.md | None | 1,500 curated | None | 5-part framework | None | RCAO/StoryBrand | 12,516 real-world |
| **Parallel generation** | None | None | Sub-agent orchestration | None | None | None | None | None |
| **Local GPU support** | None | N/A | ComfyUI | N/A | N/A | N/A | SD guidance | None |
| **Framework auto-integration** | None | Full (Next/Astro/Svelte etc.) | None | Manual | None | None | None | None |
| **AskUserQuestion UX** | None | Full (8 named patterns) | Yes | None | None | None | None | None |
| **Preview artifact** | meta.json only | Testing URLs | None | None | None | self-contained HTML | None | Sample images |
| **Content Illustration Mode** | None | None | None | None | None | None | None | Yes |
| **Session hook (config check)** | None | None | Yes (SessionStart) | None | None | None | None | None |
| **Multi-turn editing** | None | N/A | referenceImages | N/A | Full (Gemini signatures) | N/A | None | None |

### What prompt-to-asset does better

1. **Platform completeness.** The iOS AppIconSet (all 16+ sizes, Contents.json), Android mipmap folder structure + ic_launcher.xml + monochrome derivation, PWA maskable with 80% safe zone padding, visionOS 3-layer parallax — none of the surveyed skills match this. This is the clearest technical gap.

2. **Transparent background pipeline.** The full BiRefNet → checkerboard FFT probe → K-means → vtracer → SVGO pipeline is not replicated anywhere. Other skills either avoid diffusion (no problem) or acknowledge the transparency issue without solving it (jezweb hard rule, designrique tool list).

3. **OG image quality.** Satori + @resvg/resvg-js for deterministic typography is categorically superior to PIL's `ImageFont` on a solid color. The PIL approach produces unshapeable, fallback-font-dependent text — the exact problem the OG skill's architecture is designed to prevent.

4. **Illustration consistency.** The set-propagation workflow (human gate on #1 → accumulate reference set → style tightening → LoRA after 3–4) is the most technically complete approach to the brand consistency problem. No other skill addresses multi-image coherence.

5. **Validation rigor.** Tier-0 deterministic checks (OCR Levenshtein, palette ΔE2000, safe-zone bbox, alpha channel presence, dimensions exact) are more precise than any surveyed validation approach. alonw0's WCAG AA contrast check is the only meaningful overlap.

### What to borrow

**From alonw0/web-asset-generator:**

1. **AskUserQuestion conversation patterns.** The eight named question patterns (asset type, source material, platform, color, code integration, testing links) should be adapted into prompt-to-asset's SKILL.md files. The favicon and app-icon skills currently read as pipeline specs; adding a conversation scaffold increases usability for non-expert users who don't know to say "generate a favicon bundle."

2. **Framework auto-integration.** After generating any asset bundle, offer to write the `<link>` tags or Next.js metadata export directly into the user's layout file. The framework detection (check for `next.config.js`, `astro.config.mjs`, etc.) is ~10 lines of bash. High-value, zero-cost addition.

3. **Testing links.** After favicon/OG delivery, offer Facebook Sharing Debugger, Twitter Card Validator, LinkedIn Post Inspector. Trivial to add to the output section of favicon/SKILL.md and og-image/SKILL.md.

4. **Emoji suggestion engine for favicons.** The `--suggest "<description>"` flow for emoji-based favicons is a useful zero-API-cost entry point for users who don't have a logo. Worth adding as a fallback path in favicon/SKILL.md when no source image exists and `inline_svg` mode is selected.

5. **Validation `--validate` flag pattern.** Making validation opt-in per script run (rather than always-on) reduces noise in fast iteration cycles while still being accessible. Prompt-to-asset's always-on validation is correct for production but the flag pattern is good UX.

**From MeiGen-Art:**

1. **Sub-agent pattern for parallel generation.** MeiGen's use of dedicated sub-agents (one per image, spawned in a single response) cleanly solves the "parallel generation without polluting main context" problem. For prompt-to-asset's multi-mode flow (e.g., generating 4 logo directions in parallel), this pattern should be adopted. The `meigen:image-generator` agent is a minimal executor (call tool, return result, no commentary) — a clean pattern.

2. **SessionStart hook for `asset_capabilities()`.** Run a lightweight check at session start: detect which API keys are present, validate ComfyUI URL if set, surface the available modes. The MeiGen `check-config.sh` does exactly this. Prompt-to-asset currently requires the user to call `asset_capabilities()` explicitly.

3. **ComfyUI passthrough.** A `COMFYUI_URL` env var that routes generation to a local ComfyUI instance would enable prompt-to-asset to reach Flux, SDXL, and custom LoRAs without any external API cost. The MeiGen workflow auto-detection (KSampler, CLIPTextEncode, EmptyLatentImage node detection) is the key implementation detail.

4. **Custom S3/R2 storage backend for reference images.** The presign endpoint contract is simple and well-defined. Worth adopting for users who run prompt-to-asset in enterprise contexts where sending images to a third-party CDN is not acceptable.

**From jezweb/claude-skills:**

1. **5-part prompting framework for ai-image-generator.** Image Type → Subject → Environment → Technical Specs → Constraints is a better-structured scaffold than prompt-to-asset's current per-skill template tables. Consider adopting this as the universal prompt construction pattern documented in CLAUDE.md.

2. **VLM QA loop.** Sending the generated image back to a vision model with a rubric (AI artifacts, technical accuracy, composition, style consistency) adds a perception-layer check that deterministic validation cannot catch (e.g., a logo that passes all pixel checks but has a mangled conceptual meaning). Could be implemented as a tier-2 validation step in `asset_validate`.

3. **Multi-turn Gemini editing with thought-signature preservation.** The exact mechanic (preserve all model response parts including thoughtSignature, specify what to KEEP not just what to change) should be documented in prompt-to-asset's illustration and logo skills for iterative refinement flows.

4. **Icon set generator.** Prompt-to-asset has no SVG icon set skill. The jezweb icon-set-generator's style engine (5 presets, optical correction rules, style-spec.json contract, preview.html) is worth directly adapting as a new skill. The `currentColor` enforcement and identical-viewBox rule are the load-bearing constraints.

5. **Reference file architecture (SKILL.md + references/).** jezweb organizes each skill as SKILL.md (behavior) + `references/*.md` (knowledge). This separation lets the SKILL.md stay concise while the LLM reads detailed specs on demand. Prompt-to-asset's SKILL.md files include all knowledge inline; splitting into `references/platform-specs.md`, `references/routing-table.md`, etc. would improve maintainability.

6. **Gemini model routing for non-transparent use cases.** jezweb explicitly routes scenes/photos to Gemini (3.1 Flash Image for good quality, 2.5 Flash for free-tier iteration) while routing transparent icons to GPT. Prompt-to-asset's routing table (data/routing-table.json) doesn't surface Gemini image models as a first-class option. Given Gemini's free tier (~500 images/day on 2.5 Flash), this is worth adding.

**From designrique/ai-graphic-design-skill:**

1. **Upscaling model selection table.** The four-model guidance (Prime for degraded logos, Gentle for clean upscale, Digital Art for flat/illustration, Ultra for last resort) should be incorporated into the `asset_upscale_refine` skill. The "ARMADILHA" (pitfall) of using Prime on flat design is exactly the kind of hard-won knowledge worth encoding.

2. **Visual Electric for style extraction.** "Custom Style" from 6–12 curated images → style lock for all subsequent generations. This is an alternative to IP-Adapter/LoRA for users who don't run their own SDXL and want consistent illustration style. Worth adding to the illustration skill's routing table.

3. **Phygital+ / Nano Banana for mockup insertion.** For brand mockups (mug, t-shirt, billboard), Phygital+ and Nano Banana use ControlNet for context-aware insertion with real shadows and surface deformation. This is meaningfully better than a Photoshop composite tutorial. Worth mentioning in a future mockup skill.

4. **py5 + vpype for generative/complex SVG.** For cases where LLM-authored SVG becomes insufficient (complex geometric patterns, dense icon sets), py5 (mathematical/geometric generation) + vpype (path optimization + hidden-line removal) is a better pipeline than hand-authoring. Worth documenting as an advanced path in the vectorize skill.

5. **Font identification via WhatTheFont.** When a user provides a brand reference image and asks to match typography, this is a concrete action step currently missing from prompt-to-asset's brand bundle parsing.

**From YouMind-OpenLab/ai-image-prompts-skill:**

1. **Curated prompt library architecture.** The manifest.json + per-category JSON + grep-based search pattern scales to tens of thousands of prompts with minimal context overhead. Prompt-to-asset could maintain a `data/prompt-library/` directory with similar structure for domain-specific prompts (product icons, app UI illustrations, hero images) updated on a cadence.

2. **Content Illustration Mode.** When a user provides existing content (landing page copy, blog post, product description) and asks for matching images, the skill should extract themes and remix a library prompt rather than generating from scratch. This mode ensures prompt quality without requiring the user to write a detailed brief.

3. **Mandatory sample image with recommendations.** When prompt-to-asset offers `external_prompt_only` mode with paste targets, it should show example outputs from each provider (cached reference images) so the user can make an informed choice before copying the prompt. The mandatory `sourceMedia[0]` rule is the right UX instinct.

4. **Daily auto-update from GitHub Actions.** The `postinstall` + `--check` + `--force` pattern for keeping reference data fresh without requiring a package update is worth adopting for any skill that depends on frequently-updated external data (model capability tables, routing tables, price lists).

---

> **Updated 2026-04-21:** Distribution landscape update. The `vercel-labs/skills` CLI (`npx skills`) v1.1.1 is now the standard cross-IDE install tool (~14.7k★). `npx skills find` provides interactive discovery. `skills.sh` (launched January 2026) is the canonical leaderboard directory tracking real install counts. Skills from all five surveyed repos would benefit from packaging via `npx skills` to reach Claude Code, Cursor, Codex, Gemini CLI, and Copilot users in one step. The MeiGen skill already supports `npx meigen init cursor` as a multi-IDE install primitive — similar patterns are the expectation in the 2026 ecosystem.

## Summary: Largest Gaps in prompt-to-asset

Ranked by impact/feasibility:

1. **No conversation UX layer.** SKILL.md files are pipeline specs. Adding AskUserQuestion patterns (8 from alonw0) converts them into guided conversations. High usability impact, no technical change.

2. **No framework auto-integration.** Offering to write `<link>` tags or Next.js metadata exports post-generation closes the last manual step. ~10 lines of framework detection bash.

3. **No SVG icon set skill.** jezweb's icon-set-generator fills a real need (custom, consistent icons for web projects) that no other surveyed skill covers well. The style engine + optical corrections are the differentiating IP worth adapting.

4. **No parallel generation orchestration.** MeiGen's sub-agent pattern (N agents spawned in one response) solves the multi-direction generation UX problem that prompt-to-asset's three-mode architecture implies but doesn't implement.

5. **No SessionStart config check.** MeiGen's hook runs at session start to surface missing env vars. This would replace the current requirement for users to call `asset_capabilities()` explicitly.

6. **No Gemini routing for non-transparent assets.** Free-tier Gemini 2.5 Flash Image (~500/day) is a viable draft-generation backend for illustrations and OG hero images. Worth adding to the routing table.

7. **No VLM QA step in validation.** Deterministic checks catch spec violations; VLM rubric catches perceptual failures (garbled composition, style mismatch, wrong subject). Should be a tier-2 validation option.

8. **No curated prompt library.** The YouMind architecture (manifest.json + per-category JSON + grep) scales cleanly. A `data/prompt-library/` directory with 200–500 curated domain-specific prompts (app UI, product photos, brand marks, empty states) would improve `external_prompt_only` mode quality.
