Skip to content
Agentmart
Submit a tool

ios-icon-composer

iOS app icon workflow with Apple Icon Composer.

Skill by thuringia

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/thuringia-ios-icon-composer

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

iOS app icon workflow with Apple Icon Composer. Use when creating, replacing, wiring, or reviewing an iOS/iPadOS app icon, especially for Home Screen styles, Liquid Glass, SF Symbols-derived layers, .icon packages, asset catalogs, or simulator icon verification.

Use cases: design, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/ios-icon-composer

What's inside

Skill name
ios-icon-composer
Description
iOS app icon workflow with Apple Icon Composer. Use when creating, replacing, wiring, or reviewing an iOS/iPadOS app icon, especially for Home Screen styles, Liquid Glass, SF Symbols-derived layers, .icon packages, asset catalogs, or simulator icon verification.
License
MIT
Instructions
128 lines in SKILL.md · view on GitHub

Files (2)

  • SKILL.md
  • openai.yaml · agents/

SKILL.md (first lines)

# iOS Icon Composer

Build the app icon as a native Apple asset, not a web logo exported into an appiconset. The source of truth is the Icon Composer `.icon` package when the project can compile it.

## 1. Ground The Icon

Inspect the product and current asset wiring before drawing.

Use `rg`/`find` to locate:

- `*.xcassets`, `*.appiconset`, existing `.icon` packages
- `Info.plist`, `ASSETCATALOG_COMPILER_APPICON_NAME`, target resources
- design docs, screenshots, mockups, or brand notes

Read current Apple docs when the user asks for "latest" support, when Xcode/Icon Composer behavior differs from memory, or when adopting a new Xcode beta. Prefer official Apple docs:

- `https://developer.apple.com/documentation/Xcode/creating-your-app-icon-using-icon-composer`
- `https://developer.apple.com/documentation/uikit/creating-custom-symbol-images-for-your-app`

Completion criterion: the current icon source, target setting, and product visual direction are known.

## 2. Design Native Layers

Prefer a bold symbol that reads at small sizes. For local/chat/radio products, a custom SF Symbols-derived path can work better than stacking existing symbols: make the shapes synthesize one idea, not sit beside each other.

Rules:

- Use Icon Composer layers, fills, blend modes, shadows, translucency, and Liquid Glass effects for final styling.
- Use SF Symbols app exports or deterministic path scripts for custom symbol geometry when needed.
- Avoid image generation unless the user explicitly asks for generated bitmap artwork.
- Do not bake rounded corners into the artwork; iOS masks the icon.
- Do not make the final app icon transparent.
- Do not keep a stale PNG fallback once the `.icon` package compiles.
- Avoid generic chat bubbles, debug/network-tool diagrams, security cliches, and web-logo composition.

For Home Screen styles, configure appearance specializations in Icon Composer rather than separate raster hacks. Check Default/Light, Dark, Tinted/Mono/Clear as exposed by the installed Icon Composer version.

Completion criterion: the selected direction has a simple mark, layer separation that Icon Composer can tune, and small-size previews that still read.

## 3. Create The `.icon` Package

An Icon Composer document is a package directory ending in `.icon` with `icon.json` and assets. Keep it in repo as design source, usually under `docs/design/app-icon-composer/<Name>.icon/`.

Use stable layer names such as:

- `01-chat-outline.svg`
- `02-inner-signal-band.svg`
- `03-outer-signal-bands.svg`

Make `icon.json` explicit about:

- root fill or automatic fill
- groups and layer image names
- appearance-specific fill or blend-mode specializations
- Liquid Glass, shadow, translucency, blur/material, and scale
- supported platforms

If scripting the package, preserve user edits made in Icon Composer. Once the user tweaks the GUI, treat the saved `.icon` as source of truth and diff before regenerating.

Completion criterion: Icon Composer opens the package and shows the expected layer stack.

## 4. Wire Xcode To The `.icon`

Xcode's asset compiler accepts Icon Composer packages as `folder.iconcomposer.icon`. Wire the package as a resource input and point the app icon setting at the package base name.

In the Xcode project:

- Add a `PBXFileReference` with `lastKnownFileType = folder.iconcomposer.icon`.
- Add the `.icon` file reference to the app target group.
- Add a `PBXBuildFile` for the `.icon`.
- Add that build file to the app target `PBXResourcesBuildPhase`.
- Set `ASSETCATALOG_COMPILER_APPICON_NAME = <IconPackageBaseName>` for Debug and Release.
- Keep `Assets.xcassets` for other assets such as `AccentColor`, but remove obsolete `AppIcon.appiconset` fallback files when the `.icon` source compiles.

Completion criterion: `xcodebuild` invokes `actool` with both the asset catalog and the `.icon` package, and with `--app-icon <IconPackageBaseName>`.

## 5. Verify The Build

Build for simulator first:

```zsh
xcodebuild \
  -project <App.xcodeproj> \
  -scheme <Scheme> \
  -destination 'generic/platform=iOS Simulator' \
  -derivedDataPath .build/XcodeDerivedData \
  CODE_SIGNING_ALLOWED=NO \
  build
```

Confirm the output shows `CompileAssetCatalog` or `GenerateAssetSymbols` receiving the `.icon` path. Then inspect the built app:

```zsh
plutil -p .build/XcodeDerivedData/Build/Products/Debug-iphonesimulator/<App>.app/Info.plist | rg 'CFBundleIcon|CFBundleIcons'
find .build/XcodeDerivedData/Build/Products/Debug-iphonesimulator/<App>.app -maxdepth 1 -type f \( -name '*Icon*.png' -o -name '<IconName>*.png' \) -print
```

Completion criterion: build succeeds, `CFBundleIconName` is the Icon Composer package base name, and generated icon renditions exist in the built app.

## 6. Verify In Simulator

Use XcodeBuildMCP for simulator build/run when available. Call `session_show_defaults` first, set missing defaults, then run or launch.

If using `simctl`, simulator commands may need elevated access because CoreSimulator writes outside the workspace. Launch directly after install:

```zsh
xcrun simctl install <simulator-udid> .build/XcodeDerivedData/Build/Products/Debug-iphonesimulator/<App>.app
xcrun simctl launch <simulator-udid> <bundle-id>
```

If the icon does not update on the Home Screen, treat it as a simulator cache issue before changing assets: uninstall the app, reboot the simulator, or restart Simulator/CoreSimulator, then reinstall. Do not reintroduce fallback PNGs to appease the cache.

Capture screenshots for remote review:

- Home Screen icon visible after install
- app foreground after launch
- Icon Composer window if visual tuning happened in the GUI

Completion criterion: the app launches in simulator, the Home Screen shows the expected icon, and the user gets screenshot evidence when they are remote.

From thuringia/dotfiles, MIT.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jun 26, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from thuringia

Cite this page

ios-icon-composer skill. Agent Mart. https://agentmart.dev/skills/thuringia-ios-icon-composer (last updated 2026-10-24)