# App Icon

Liquid Glass macOS app icon made as an Icon Composer file (Icon/AppIcon.icon, JSON plus...

- Repository: https://github.com/daveebbelaar/bama (1284 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add daveebbelaar/bama --skill app-icon -g -a claude-code -y`
Codex: `npx skills add daveebbelaar/bama --skill app-icon -g -a codex -y`
Cursor: `npx skills add daveebbelaar/bama --skill app-icon -g -a cursor -y`
Gemini CLI: `npx skills add daveebbelaar/bama --skill app-icon -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add daveebbelaar/bama`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# App icon

The icon is an Icon Composer file in git: `Icon/AppIcon.icon`, a folder
with `icon.json` and SVG layers in `Assets/`. You write both by hand.
macOS adds the glass, the highlights, the shadow, the mask, and the dark,
tinted, and clear looks. You never draw those yourself.

- `tools/make_icon.sh` compiles it with `actool` into `Resources/Assets.car`
  and `Resources/AppIcon.icns`. `build.sh` runs it when the icon changed.
- `tools/icon_review.sh` renders it with `ictool` (Icon Composer's command
  line tool, inside Xcode) into one contact sheet you read.

Older app without these files: copy `Icon/`, `tools/make_icon.sh`,
`tools/icon_review.sh`, and `tools/icon_sheet.swift` from the
`new-mac-app` template, the icon block of its `build.sh`, and
`CFBundleIconName` = `AppIcon` from its `Info.plist.in`.

Other cases: [more-cases.md](more-cases.md).
- An Xcode or XcodeGen project (Xcode compiles the `.icon` itself).
- Converting an existing flat icon into layers.
- A Dock icon that changes with a theme or style. `NSApp.applicationIconImage`
  shows a flat picture, so render glass versions ahead of time.

## The file

```text
Icon/AppIcon.icon/
  icon.json
  Assets/front.svg     1024 x 1024 canvas, same as the icon
  Assets/back.svg
```

```json
{
  "fill" : { "automatic-gradient" : "srgb:0.20000,0.42000,0.96000,1.00000" },
  "groups" : [
    {
      "layers" : [
        { "glass" : true, "image-name" : "front.svg", "name" : "front" },
        { "glass" : true, "image-name" : "back.svg", "name" : "back", "opacity" : 0.6 }
      ],
      "shadow" : { "kind" : "neutral", "opacity" : 0.5 },
      "translucency" : { "enabled" : true, "value" : 0.5 }
    }
  ],
  "supported-platforms" : { "squares" : [ "macOS" ] }
}
```

The rest: https://github.com/daveebbelaar/bama/blob/HEAD/skills/design/app-icon/SKILL.md
