Apple appicon
Generate Apple platform app icons (iOS, iPadOS, macOS, visionOS) from one source image, with Apple's Human Interface Guidelines as the north star and first-class Tauri support. Validates the source first — square aspect, >=1024px, alpha, sRGB/P3, 8-bit — then generates AppIcon.appiconset (with dark/tinted variants), .icns via iconutil with Apple's rounded-rect margins for legacy macOS, visionOS layered image stacks, and Tauri's full icon set including the dock-icon margin fix. Dependency-free on macOS (sips, iconutil, Swift/CoreGraphics). Use for "generate app icons", "app icon from this image", "make an .icns", "AppIcon.appiconset", "tauri icon", "dock icon looks too big/square", "App Store icon". Roadmap: Flutter, React Native, Ionic.From its SKILL.md
npx -y skills add k97/skills --skill apple-appiconAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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.
SKILL.md
6.4 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
apple-appicon
One source image in, HIG-correct icon sets out. Agent-agnostic: nothing here
depends on a specific coding agent — only on a shell. Commands write
<skill-dir> for this skill's directory; resolve it to wherever your agent
installed the skill (Claude Code exposes it as ${CLAUDE_SKILL_DIR}; otherwise
it is the directory containing this SKILL.md). The working directory is the
user's project.
Requirements — check the platform first. The native toolchain is macOS:
sips, iconutil, swift from Xcode Command Line Tools, no installs. Run
uname -s (or equivalent) before promising anything, and on anything other
than macOS tell the user up front, in plain terms, what works on their machine
and what doesn't — then proceed with what does:
- macOS → everything below, natively.
- Linux / Windows (WSL or Git Bash) → Tauri projects keep full support:
tauri iconis Rust and cross-platform,.icnsincluded, and the margin fix routes through it (references/tauri.md). Asset-catalog PNGs andContents.jsonfiles need ImageMagick 7 — command equivalents are in the "Non-macOS fallbacks" section of references/platform-recipes.md. A bare.icnsoutside a Tauri project is the one thing that genuinely needspng2icns, a Mac, or CI — say so rather than approximating.
Never discover a missing sips mid-run: state the limitation before
generating, and never silently drop the macOS margin treatment because the
native tool is absent.
Step 0 — establish source and targets
- Source: the image path from the arguments or conversation. No path → ask for one; never invent or generate artwork unless the user asks.
- Targets:
--platformwins. Otherwise detect:src-tauri/tauri.conf.json→ tauri; an.xcodeproj/Assets.xcassets→ the Xcode platforms it targets; neither → ask, defaulting toallwritten under./AppIcons/<platform>/.--outoverrides the destination.ipadosis theiosrecipe (universal appiconset).
Step 1 — validate, then look at it (gate)
bash "<skill-dir>/scripts/validate-source.sh" <source>
Show the PASS/WARN/FAIL output. On FAIL (not square, <512px, unreadable): stop, present the fix commands the script printed (crop vs pad for aspect; re-export for resolution), apply the one the user picks, re-validate. Never generate from a failing source. WARNs are stated, not blocking.
Then, if your agent can view images, look at the source and check it against the design advisories in references/apple-hig.md: pre-rounded corners or baked shadows (double-masking risk), thin lines that die at 16px, text, photographic content. Report what you see in one or two sentences; advisory only. No image input? Say the visual advisories were skipped and ask the user to eyeball that list themselves.
Step 2 — generate per target
Read references/platform-recipes.md for the exact commands and asset-catalog templates; for Tauri read references/tauri.md. The shape rules that must never be mixed up:
| Target | Output | Shape treatment |
|---|---|---|
| iOS / iPadOS | AppIcon.appiconset, 1024 single-size (+ dark/tinted) | full-bleed square; marketing icon flattened, alpha stripped |
| macOS (Xcode) | AppIcon.appiconset, 10 sizes | margined rounded-rect via appicon.swift macos |
macOS (.icns) | icon.icns via iconutil | same margined treatment |
| visionOS | AppIcon.solidimagestack | full-bleed square layers; system applies circular mask |
| Tauri | full src-tauri/icons/ set | tauri icon for everything, then rebuild icon.icns margined |
Square, system-masked platforms (iOS/iPadOS/visionOS) get no baked corners
or margins; only legacy macOS .icns does. The scripts/appicon.swift modes —
resize, flatten (opaque, alpha-stripped), pad (square-ify), macos
(824/1024 rounded rect + margins + shadow) — cover every transform; sips is
fine for plain resizes too.
Before overwriting an existing AppIcon.appiconset or src-tauri/icons/,
say what will be replaced; back up or get a nod if the user didn't already
ask for exactly that.
Step 3 — verify and report
sips -g pixelWidth -g pixelHeightspot-checks; the iOS marketing icon must reporthasAlpha: no;file icon.icnssays "Mac OS X icon".- If you can view images: open the finished macOS 1024 and one small size —
margins present, corners clipped, artwork not visibly soft. Otherwise point
the user at
qlmanage -p/ Finder Quick Look for the eyeball check. - Report a table: file → pixel size → where it's wired (
Contents.json,tauri.conf.jsonbundle.icon,ASSETCATALOG_COMPILER_APPICON_NAME), plus any HIG advisories from Step 1 worth acting on. For Tauri, suggest atauri buildto see the real Dock icon (dev mode uses the PNGs).
Scope
watchOS and tvOS are out of scope in v1 (geometry noted in
references/apple-hig.md). Layered Liquid Glass .icon bundles are Icon
Composer's job — generate the flat baseline and point the user there when
relevant. Framework roadmap (Flutter, React Native, Ionic/Capacitor) and the
interim answer for those users live at the end of references/tauri.md.
Sources
Apple HIG · App icons, Tauri v2 icon docs (both distilled in references/).
Workflow shape inspired by brianlovin's favicon skill (validate → generate →
wire up) and michaelboeding's icon-generation.
What ships with it: 5 files
29.1 KB alongside SKILL.md, 1 of them executable
references/
- apple-hig.md5.9 KB
- platform-recipes.md8.7 KB
- tauri.md4.7 KB
scripts/
- appicon.swift5.4 KB
- validate-source.shruns4.5 KB