agentsclimarketplace

Icon export

Skill Paldom/icon-designer-skills/skills/icon-export

Agent Skills that design minimalist app and OSS package icons from a text brief or project context - symmetric logos on dark grey, Apple-style rounded-rectangle backgrounds.

Install
npx -y skills add Paldom/icon-designer-skills --skill icon-export

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Exports an approved master icon SVG into platform assets - favicon.ico + SVG favicon, apple-touch-icon, PWA 192/512 + maskable, App/Play Store PNGs, macOS icns, GitHub social preview, plus HTML/manifest snippets. Use when the user asks to export, generate, or ship favicons, app icon files, or store icons, or to wire the exported set into a repo. Not for designing, ideating, or critiquing icons.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.9 KB, as published. Nobody here has run it

icon-export

Deterministically fan the approved master (icon-design/icon.svg) out into every platform asset, with the one rule that prevents the classic shipping bug: platform-masked targets get the full-square variant; self-rendered surfaces keep the rounded rectangle. iOS, Play, apple-touch-icon and PWA-maskable apply their own mask — feeding them a pre-rounded icon double-masks it and leaves transparent corner slivers.

When NOT to use

  • No approved master yet → icon-draw then icon-critique produce and gate icon-design/icon.svg; don't promote a random SVG yourself.
  • Concepting (icon-brief), drawing (icon-draw), reviewing (icon-critique).
  • Arbitrary SVG→PNG conversion, photo resizing, og:images for articles.

Workflow

  1. Locate the master. Default icon-design/icon.svg. If it doesn't exist, stop and route to icon-draw/icon-critique (or ask which file the user considers approved). Never silently pick a candidate.

  2. Run the exporter (deterministic; does everything below itself):

    python3 "${CLAUDE_SKILL_DIR}/scripts/export_icons.py" icon-design/icon.svg \
        [--out DIR] [--targets web,apple,android,github] [--name icon] [--force]
    
    • Autodetects a renderer (rsvg-convert → resvg → cairosvg → inkscape → ImageMagick → macOS qlmanage+sips); exits 2 with install hints if none.
    • Derives the square variant (background rx=0) and the 1280×640 social banner internally.
    • Refuses to overwrite existing files (exit 3) unless --force — list the collisions to the user and get an explicit go-ahead first.
    • Validates every PNG's real dimensions and the ICO structure; exit 1 on any failure. Relay failures verbatim; don't hand-render around them.
  3. Wire into the repo if asked. --out public/ (or the site's static dir) plus the head tags from snippet.html and the icons array from manifest.webmanifest. For README use, reference the SVG master directly.

  4. Report. The WROTE table (file, size), where the snippets go, and the platform caveats from the gotchas below that apply.

Output spec (default icon-design/export/)

TargetFilesSource variant
webfavicon.ico (16+32+48), icon.svg, apple-touch-icon.png (180), icon-192.png, icon-512.png, icon-mask-512.png, snippet.html, manifest.webmanifestrounded; square for touch-icon + maskable
appleappstore-1024.png, icon.iconset/ (10 files, iconutil naming), icon.icns (macOS only)square for store; rounded for icns
androidplay-store-512.pngsquare
githubsocial-preview-1280x640.png, avatar-512.pngbanner / square

Everything size-validated; exporter exit code 0 is the done signal.

Gotchas

  • Never round the store assets. If a platform shows rounded corners it applies them itself. The exporter's square variant exists for exactly this (the GitHub avatar also ships square — GitHub masks avatars).
  • App Store uploads want a fully opaque, flattened 1024 PNG. The exporter detects an alpha channel on store PNGs and flattens automatically when ImageMagick is present; otherwise it prints the exact magick … -alpha remove command — relay that warning, don't drop it.
  • The exporter renders only house-subset masters (it security-scans the SVG first and fails closed on scripts/external refs/embedded raster) — "run it on this random SVG I found" is out of contract.
  • The maskable icon's glyph must sit in the centered 40%-radius safe circle — icon-draw's linter warned about this at draw time; if the mask crops the glyph, fix the master, not the export.
  • qlmanage fallback is fine for previews/dev; for a real release install librsvg (brew install librsvg) and re-run — antialiasing quality differs.
  • iOS 26+ layered "Liquid Glass" icons are built in Apple's Icon Composer from the flat 1024 master; that last mile happens in Apple tooling, not here.
  • Android adaptive icons (launcher, layered 108dp) need foreground/ background layers in the app project; this skill ships the Play Store 512 and the maskable web icon — flag adaptive-icon work as app-project work.
  • SVGO is optional and not required for the master (hand-authored subset SVG is already lean); if you run it, keep the viewBox and re-render afterwards to confirm nothing visually changed.
  • Details and citations for every size: references/platform-targets.md.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.