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.
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:
<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/heightattributes on root<svg> - No
<text>elements (text does not scale to 16px) - No strokes thinner than 2 units
- Maximum 3 distinct colors
xmlnsattribute present
Phase 3: Create Dark-Mode Favicon SVG
Duplicate the master SVG and embed a @media (prefers-color-scheme: dark) block:
<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:
- If
next.config.(js|mjs|ts)exists ANDapp/layout.(tsx|jsx|js)exists → add--framework nextjs - Otherwise → omit
--framework(default generic output)
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:
- The integration guide (
_nextjs-guide.txtfor Next.js, or_html-snippet.htmlfor other frameworks) - Framework-specific placement guidance (Next.js
app/+public/, Vitepublic/, CRApublic/) - Summary of all generated files
SVG Icon Design Principles
- Canvas:
viewBox="0 0 100 100", no width/height attributes - Scalability: Must be recognizable at 16px (favicon) through 1024px (app store)
- Geometric simplicity: Prefer circles, rectangles, clean bezier curves
- Stroke minimum: No strokes thinner than 2 units at 100x100 scale
- Color restraint: 1-3 brand colors maximum
- No text: Logomark only — text does not survive 16px rendering
- No fine detail: Avoid thin lines, small gaps, intricate patterns
- Visual weight: Center of mass should feel balanced in the square canvas
- Negative space: Use intentionally for clever dual-meaning designs
- currentColor: Support monochrome use via
fill="currentColor"variant - Flat design: Avoid gradients unless central to brand concept
- Rounded corners: Use
rx/ryfor approachable feel when appropriate
Output
See WORKFLOW.md for detailed workflow and EXAMPLES.md for examples. See TROUBLESHOOTING.md for common issues.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
Skill Name
What this skill does. Use when user mentions "keyword1", "keyword2", or "keyword3". Keep under 1,024 characters and include specific trigger keywords.
plugin-release-checker
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".
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".
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".
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".
Didn't find tool you were looking for?