Apple appicon
Agent Skills for AI coding agents. codebase-seo: SEO + GEO audit that traces redirect loops, lints JSON-LD, and applies the fixes in your codebase.
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.
What its author says it does
Copied from the file, not written here
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.
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.
Gives 0 of the 12 instructions most roadmap strategy skills give in ~1.5k tokens
Counted across 591 of the 672 authors here whose files we hold, read 2026-08-06
- read product marketing context before asking questionsin 21 of 591, across 10 files
- base price on perceived value, not costin 15 of 591, across 4 files
- compact after finalizing a planin 14 of 591, across 9 files
- differentiate tiers using features, limits, or supportin 14 of 591, across 3 files
- use Van Westendorp to find acceptable price rangein 13 of 591, across 2 files
- use MaxDiff to identify highly valued featuresin 13 of 591, across 2 files
- map topics to buyer journey stagesin 12 of 591, across 6 files
- Extract domain capabilities and classify subdomainsin 11 of 591, across 1 file
- Define bounded contexts around consistency and ownershipin 11 of 591, across 1 file
- Establish a ubiquitous language glossary and anti-termsin 11 of 591, across 1 file
- Capture context boundaries in ADRs before implementationin 11 of 591, across 1 file
- Open the strategic design template if neededin 11 of 591, across 1 file
Said here and by no other author read
- check the platform before promising capabilities
- ask for a source image path if none is provided
- run the source validation script
- show the validation output
- stop generation if validation fails
- strip alpha from the ios marketing icon
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.