Agent skill

icon-forge

Generate brand icons as SVG and produce all platform assets including favicon package (ICO, SVG with dark mode, apple-touch-icon), PWA manifest icons, and mobile app icons. Use when user runs /icon-forge, requests "brand icon", "favicon generation", "app icon", or "svg logo" for a project.

Stars 9
Forks 1

Install this agent skill to your Project

npx add-skill https://github.com/joaquimscosta/arkhe-claude-plugins/tree/main/plugins/design-intent/skills/icon-forge

SKILL.md

Icon Forge

Generate brand icons as SVG and produce all required platform assets from a single source.

Quick Start

Follow these 5 phases in order. Skip to Phase 4 if user provides --svg <path>.

Phase 1: Brand Discovery

Gather brand information before designing. Ask about:

  • Identity: Brand name, industry, tagline
  • Concept: Visual metaphor, abstract vs literal, symbol ideas
  • Colors: Primary color (hex), secondary, accent
  • Style: Minimal, playful, corporate, bold, elegant, techy

If $ARGUMENTS contains a brand description, extract info and minimize questions.

Phase 2: Design Master SVG

Generate 2-3 concept variations as SVG. Apply the design principles below. Present concepts, let user choose, iterate.

SVG structure requirements:

xml
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <!-- No width/height attributes -->
  <!-- Colors as CSS classes for dark mode adaptability -->
  <style>
    .primary { fill: #2563eb; }
    .accent  { fill: #1e40af; }
  </style>
  <path class="primary" d="..."/>
</svg>

Validation checklist:

  • viewBox is 0 0 100 100 (square, clean coordinates)
  • No width/height attributes on root <svg>
  • No <text> elements (text does not scale to 16px)
  • No strokes thinner than 2 units
  • Maximum 3 distinct colors
  • xmlns attribute present

Phase 3: Create Dark-Mode Favicon SVG

Duplicate the master SVG and embed a @media (prefers-color-scheme: dark) block:

xml
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <style>
    .bg { fill: #ffffff; }
    .fg { fill: #1a1a2e; }
    @media (prefers-color-scheme: dark) {
      .bg { fill: #1a1a2e; }
      .fg { fill: #e0e0ff; }
    }
  </style>
  <rect class="bg" width="100" height="100" rx="12"/>
  <path class="fg" d="..."/>
</svg>

Rules: dark foreground becomes light, light backgrounds become dark, maintain >= 4.5:1 contrast.

Phase 4: Generate Platform Assets

Save master SVG and dark-mode SVG to the project.

Framework detection — before running the script, detect the target project:

  1. If next.config.(js|mjs|ts) exists AND app/layout.(tsx|jsx|js) exists → add --framework nextjs
  2. Otherwise → omit --framework (default generic output)
bash
uv run <skill-scripts-dir>/generate_assets.py \
  --svg <master-svg-path> \
  --dark-svg <dark-svg-path> \
  --bg-color "<brand-bg-color>" \
  --name "<app-name>" \
  --framework nextjs \  # omit if not Next.js App Router
  --output-dir ./brand-assets

Replace <skill-scripts-dir> with the absolute path to this skill's scripts/ directory. Omit --framework for non-Next.js projects. With --framework nextjs, outputs icon.svg and apple-icon.png (Next.js App Router conventions).

Requires rsvg-convert (brew install librsvg) or magick (brew install imagemagick).

Phase 5: Integration Output

Present to the user:

  1. The integration guide (_nextjs-guide.txt for Next.js, or _html-snippet.html for other frameworks)
  2. Framework-specific placement guidance (Next.js app/ + public/, Vite public/, CRA public/)
  3. Summary of all generated files

SVG Icon Design Principles

  1. Canvas: viewBox="0 0 100 100", no width/height attributes
  2. Scalability: Must be recognizable at 16px (favicon) through 1024px (app store)
  3. Geometric simplicity: Prefer circles, rectangles, clean bezier curves
  4. Stroke minimum: No strokes thinner than 2 units at 100x100 scale
  5. Color restraint: 1-3 brand colors maximum
  6. No text: Logomark only — text does not survive 16px rendering
  7. No fine detail: Avoid thin lines, small gaps, intricate patterns
  8. Visual weight: Center of mass should feel balanced in the square canvas
  9. Negative space: Use intentionally for clever dual-meaning designs
  10. currentColor: Support monochrome use via fill="currentColor" variant
  11. Flat design: Avoid gradients unless central to brand concept
  12. Rounded corners: Use rx/ry for approachable feel when appropriate

Output

See WORKFLOW.md for detailed workflow and EXAMPLES.md for examples. See TROUBLESHOOTING.md for common issues.

Expand your agent's capabilities with these related and highly-rated skills.

joaquimscosta/arkhe-claude-plugins

Skill Name

What this skill does. Use when user mentions "keyword1", "keyword2", or "keyword3". Keep under 1,024 characters and include specific trigger keywords.

9 1
Explore
joaquimscosta/arkhe-claude-plugins

plugin-release-checker

9 1
Explore
joaquimscosta/arkhe-claude-plugins

skill-validator

Validate skills against Anthropic best practices for frontmatter, structure, content, file organization, hooks, MCP, and security (62 rules in 8 categories). Use when creating new skills, updating existing skills, before publishing skills, reviewing skill quality, or when user mentions "validate skill", "check skill", "skill best practices", "skill review", or "lint skill".

9 1
Explore
joaquimscosta/arkhe-claude-plugins

sync-docs

Sync official Anthropic documentation and analyze impact on project components. Runs docs/reference/update-claude-docs.sh, computes diffs, and reports impacts on the skill validator, plugins, and project documentation. Use when user mentions "sync docs", "update reference docs", "refresh docs", or "check doc changes".

9 1
Explore
joaquimscosta/arkhe-claude-plugins

research-frontmatter

Enforce standard YAML frontmatter on research documents in docs/research/. Use when creating, editing, or promoting research files, when user mentions "research metadata", "research frontmatter", or "research staleness".

9 1
Explore
joaquimscosta/arkhe-claude-plugins

deep-research

Deep research on technical topics using EXA tools with intelligent two-tier caching. Use when user asks to research a topic, investigate best practices, look up information, find patterns, or explore architectures. Also invoked by /research command. Triggers: "research", "look up", "investigate", "deep dive", "find information about", "what are best practices for", "how do others implement".

9 1
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results