Back to Skills

swift-app-icons

verified

App icons, SF Symbols, and launch screens for iOS/macOS/watchOS/visionOS. Use when adding app icons, using SF Symbols, configuring launch screens, or setting up Asset Catalogs.

View on GitHub

Marketplace

fusengine-plugins

fusengine/agents

Plugin

fuse-swift-apple-expert

development

Repository

fusengine/agents

plugins/swift-apple-expert/skills/swift-app-icons/SKILL.md

Last Verified

January 22, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/fusengine/agents/blob/main/plugins/swift-apple-expert/skills/swift-app-icons/SKILL.md -a claude-code --skill swift-app-icons

Installation paths:

Claude
.claude/skills/swift-app-icons/
Powered by add-skill CLI

Instructions

# Swift App Icons & Assets

## App Icon Requirements

### Single-Size Mode (Xcode 15+, Recommended)

Provide ONE 1024x1024 PNG. Xcode generates all sizes automatically.

**Asset Catalog structure:**
```
AppIcon.appiconset/
├── Contents.json
└── AppIcon.png (1024x1024)
```

### iOS 26 Dark & Tinted Icons

```json
{
  "images": [
    { "idiom": "universal", "platform": "ios", "size": "1024x1024", "filename": "icon-light.png" },
    { "appearances": [{"appearance": "luminosity", "value": "dark"}],
      "idiom": "universal", "platform": "ios", "size": "1024x1024", "filename": "icon-dark.png" },
    { "appearances": [{"appearance": "luminosity", "value": "tinted"}],
      "idiom": "universal", "platform": "ios", "size": "1024x1024", "filename": "icon-tinted.png" }
  ]
}
```

**Design rules:**
- **Dark**: Gradient `#313131` → `#141414`, transparent background
- **Tinted**: Grayscale, black background, 100%→60% opacity gradient

## SF Symbols

```swift
// Basic usage
Image(systemName: "cloud.sun.bolt.fill")
    .font(.largeTitle)
    .foregroundStyle(.blue)

// Multi-color (original)
Image(systemName: "thermometer.sun.fill")
    .renderingMode(.original)

// Palette mode
Image(systemName: "person.3.fill")
    .symbolRenderingMode(.palette)
    .foregroundStyle(.red, .green, .blue)

// In Label
Label("Settings", systemImage: "gear")

// Accessibility
Image(systemName: "play.circle")
    .accessibilityLabel(String(localized: "button.play"))
```

## Launch Screen

### Option 1: Info.plist (Modern, No Storyboard)

```xml
<key>UILaunchScreen</key>
<dict>
    <key>UIImageName</key>
    <string>LaunchImage</string>
    <key>UIColorName</key>
    <string>LaunchBackgroundColor</string>
</dict>
```

### Option 2: SwiftUI Document Apps

```swift
DocumentGroupLaunchScene("App Name") {
    NewDocumentButton("Create")
} background: {
    Image(.launchBackground)
        .resizable()
        .scaledToFill()
        .ignoresSafeArea()
}
```

## Asset Catalog Colors

```swift
// Load from

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2484 chars