Skip to content
Development
Skill

/web-asset-generator

Generate web assets including favicons, app icons (PWA), and social media meta images (Open Graph) for Facebook, Twitter, WhatsApp, and LinkedIn. Use when users need icons, favicons, social sharing images, or Open Graph images from logos or text slogans. Handles image resizing,

From plugin
majiayu000-spellbook
277104 skills7 agents2 commands
Install
$ npx -y skills add majiayu000/spellbook --skill web-asset-generator --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/web-asset-generator

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate web assets including favicons, app icons (PWA), and social media meta images (Open Graph) for Facebook, Twitter, WhatsApp, and LinkedIn. Use when users need icons, favicons, social sharing images, or Open Graph images from logos or text slogans. Handles image resizing,

SKILL.md

web-asset-generator.SKILL.md
name: web-asset-generator
description: Generate web assets including favicons, app icons (PWA), and social media meta images (Open Graph) for Facebook, Twitter, WhatsApp, and LinkedIn. Use when users need icons, favicons, social sharing images, or Open Graph images from logos or text slogans. Handles image resizing, text-to-image generation, and provides proper HTML meta tags.

Web Asset Generator

Generate professional web assets from logos or text slogans, including favicons, app icons, and social media meta images.

Quick Start

When a user requests web assets:

1. **Use AskUserQuestion tool to clarify needs** if not specified:

  • What type of assets they need (favicons, app icons, social images, or everything)
  • Whether they have source material (logo image vs text/slogan)
  • For text-based images: color preferences

2. **Check for source material**:

  • If user uploaded an image: use it as the source
  • If user provides text/slogan: generate text-based images

3. **Run the appropriate script(s)**:

  • Favicons/icons: `scripts/generate_favicons.py`
  • Social media images: `scripts/generate_og_images.py`

4. **Provide the generated assets and HTML tags** to the user

Using Interactive Questions

**IMPORTANT**: Always use the AskUserQuestion tool to gather requirements instead of plain text questions. This provides a better user experience with visual selection UI.

Why Use AskUserQuestion?

✅ **Visual UI**: Users see options as clickable chips/tags instead of typing responses ✅ **Faster**: Click to select instead of typing out answers ✅ **Clearer**: Descriptions explain what each option means ✅ **Fewer errors**: No typos or misunderstandings from free-form text ✅ **Professional**: Consistent with modern Claude Code experience

Example Flow

**User request**: "I need web assets"

**Claude uses AskUserQuestion** (not plain text):

What type of web assets do you need?                    [Asset type]
○ Favicons only - Browser tab icons (16x16, 32x32, 96x96) and favicon.ico
○ App icons only - PWA icons for iOS/Android (180x180, 192x192, 512x512)
○ Social images only - Open Graph images for Facebook, Twitter, WhatsApp, LinkedIn
● Everything - Complete package: favicons + app icons + social images

User clicks → Claude immediately knows what to generate

Question Patterns

Below are the standard question patterns to use in various scenarios. Copy the structure and adapt as needed.

Question Pattern 1: Asset Type Selection

When the user's request is vague (e.g., "create web assets", "I need icons"), use AskUserQuestion:

**Question**: "What type of web assets do you need?" **Header**: "Asset type" **Options**:

  • **"Favicons only"** - Description: "Browser tab icons (16x16, 32x32, 96x96) and favicon.ico"
  • **"App icons only"** - Description: "PWA icons for iOS/Android (180x180, 192x192, 512x512)"
  • **"Social images only"** - Description: "Open Graph images for Facebook, Twitter, WhatsApp, LinkedIn"
  • **"Everything"** - Description: "Complete package: favicons + app icons + social images"

Question Pattern 2: Source Material

When the asset type is determined but source is unclear:

**Question**: "What source material will you provide?" **Header**: "Source" **Options**:

  • **"Logo image"** - Description: "I have or will upload a logo/image file"
  • **"Emoji"** - Description: "Generate favicon from an emoji character"
  • **"Text/slogan"** - Description: "Create images from text only"
  • **"Logo + text"** - Description: "Combine logo with text overlay (for social images)"

Question Pattern 3: Platform Selection (for social images)

When user requests social images but doesn't specify platforms:

**Question**: "Which social media platforms do you need images for?" **Header**: "Platforms" **Multi-select**: true **Options**:

  • **"Facebook/WhatsApp/LinkedIn"** - Description: "Standard 1200x630 Open Graph format"
  • **"Twitter"** - Description: "1200x675 (16:9 ratio) for large image cards"
  • **"All platforms"** - Description: "Generate all variants including square format"

Question Pattern 4: Color Preferences (for text-based images)

When generating text-based social images:

**Question**: "What colors should we use for your social images?" **Header**: "Colors" **Options**:

  • **"I'll provide colors"** - Description: "Let me specify exact hex codes for brand colors"
  • **"Default theme"** - Description: "Use default purple background (#4F46E5) with white text"
  • **"Extract from logo"** - Description: "Auto-detect brand colors from uploaded logo"
  • **"Custom gradient"** - Description: "Let me choose gradient colors"

Question Pattern 5: Icon Type Clarification

When user says "create icons" or "generate icons" (ambiguous):

**Question**: "What kind of icons do you need?" **Header**: "Icon type" **Options**:

  • **"Website favicon"** - Description: "Small browser tab icon"
  • **"App icons (PWA)"** - Description: "Mobile home screen icons"
  • **"Both"** - Description: "Favicon + app icons"

Question Pattern 6: Emoji Selection

When user selects "Emoji" as source material:

**Step 1**: Ask for project description (free text):

  • "What is your website/app about?"
  • Use this to generate emoji suggestions

**Step 2**: Use AskUserQuestion to present the 4 suggested emojis:

**Question**: "Which emoji best represents your project?" **Header**: "Emoji" **Options**: (Dynamically generated based on project description)

  • Example: **"🚀 Rocket"** - Description: "Rocket, launch, startup, space"
  • Example: **"☕ Coffee"** - Description: "Coffee, cafe, beverage, drink"
  • Example: **"💻 Laptop"** - Description: "Computer, laptop, code, dev"
  • Example: **"🎨 Art"** - Description: "Art, design, creative, paint"

**Implementation**:

# Get suggestions
python scripts/generate_favicons.py --suggest "coffee shop" output/ all

# Then generate with selected emoji
python scripts/generate_favicons.py --emoji "☕" output/ all

**Optional**: Ask about backgro

Read more
Ships withmajiayu000-spellbook

Cross-runtime skills for Claude Code, Codex, and multi-agent workflows.

Get the whole plugin

Other skills on majiayu000-spellbook.

idea-analogist
Skill

idea-analogist

想法群聊室 — 类比者角色。被 idea-team 主编排器调用,或用户单独说"类比一下"、"别的行业有没有"、"yes-and 扩展"、"X 让你想到什么"、"跨界启示"时触发。**专门做跨界类比 + yes-and 扩展——不评判、不挑刺、不要求事实证据**。Do NOT use when 用户要数据(用…

idea-devils-advocate
Skill

idea-devils-advocate

想法群聊室 — 反方角色。被 idea-team 主编排器调用,或用户单独说"反方意见"、"挑这个想法的刺"、"为什么会失败"、"找漏洞 / 反例"、"devil's advocate"时触发。**专门挑漏洞、找隐藏假设、给反例——不安慰、不"也许可以这样"、不全盘否定**。Do NOT use when…

idea-research
Skill

idea-research

想法群聊室 — 调研员角色。被 idea-team 主编排器调用,或用户单独说"调研一下 X"、"X 的现状/竞品/数据"、"找 2026 数据"、"事实底"时触发。**用 WebSearch 拉真实 2026 数据、列竞品、引来源——只给事实,不评判,不建议**。Do NOT use when…

idea-team
Skill

idea-team

想法群聊室主持人 — 把一句话想法丢给多角色 AI 团队(调研员/反方/类比者)做查漏补缺。每个角色有自己的 voice,他们互相 @ 接话;你随时插话。**这是创意扩展工具,不打分、不否决、不堵路**。Use when 用户说"组个团队聊一下"、"开会讨论这个想法"、"找几个角度看看"、"群聊一下 X"、"team…

idea-to-product
Skill

idea-to-product

端到端产品教练 — 把一句话想法走到 PRD + 可点击 HTML 原型。会顶嘴、强制砍功能、用 Nielsen + Norman 做友好性硬检。Use when user 说"我有一个想法"、"想做一个产品"、"做 MVP"、"写 PRD"、"做用户友好的产品",或调用插件命令…