Tooluck logoTooluck
SKILL.md

app-icon

Agent skill fromdaveebbelaar/bama

Liquid Glass macOS app icon made as an Icon Composer file (Icon/AppIcon.icon, JSON plus SVG layers), compiled with actool, and reviewed in every look with ictool. Use when the user wants an app icon, a better icon, or a Dock icon.

How to install app-icon

install app-icon
# install the bama pack with the skills CLI
npx skills add daveebbelaar/bama

# or add only this skill to Claude Code: copy the folder

skills/design/app-icon/

# into

~/.claude/skills/app-icon/ (all projects)

.claude/skills/app-icon/ (one project)

skills/design/app-icon/SKILL.md

MITFull file
1# App icon
2
3The icon is an Icon Composer file in git: `Icon/AppIcon.icon`, a folder
4with `icon.json` and SVG layers in `Assets/`. You write both by hand.
5macOS adds the glass, the highlights, the shadow, the mask, and the dark,
6tinted, and clear looks. You never draw those yourself.
7
8- `tools/make_icon.sh` compiles it with `actool` into `Resources/Assets.car`
9 and `Resources/AppIcon.icns`. `build.sh` runs it when the icon changed.
10- `tools/icon_review.sh` renders it with `ictool` (Icon Composer's command
11 line tool, inside Xcode) into one contact sheet you read.
12
13Older app without these files: copy `Icon/`, `tools/make_icon.sh`,
14`tools/icon_review.sh`, and `tools/icon_sheet.swift` from the
15`new-mac-app` template, the icon block of its `build.sh`, and
16`CFBundleIconName` = `AppIcon` from its `Info.plist.in`.
17
18Other cases: [more-cases.md](more-cases.md).
19- An Xcode or XcodeGen project (Xcode compiles the `.icon` itself).
20- Converting an existing flat icon into layers.
21- A Dock icon that changes with a theme or style. `NSApp.applicationIconImage`
22 shows a flat picture, so render glass versions ahead of time.
23
24## The file
25
26```text
27Icon/AppIcon.icon/
28 icon.json
29 Assets/front.svg 1024 x 1024 canvas, same as the icon
30 Assets/back.svg
31```
32
33```json
34{
35 "fill" : { "automatic-gradient" : "srgb:0.20000,0.42000,0.96000,1.00000" },
36 "groups" : [
37 {
38 "layers" : [
39 { "glass" : true, "image-name" : "front.svg", "name" : "front" },
40…

Excerpt shown under the repository's MIT license.

More skills in bama

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates