mohamedabdallah-14/prompt-to-asset/app-icon

Claude Code and agent skill by mohamedabdallah-14/prompt-to-asset

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Generate an app icon from a single 1024² master and fan out to iOS (AppIcon.appiconset with squircle-ready 1024 opaque), Android (adaptive foreground + background + Android 13 monochrome), PWA (192/512 + 512 maskable with 80% safe zone), and visionOS (3-layer parallax).

Install

npx vskill@latest install mohamedabdallah-14/prompt-to-asset/app-icon

SKILL.md

App icon generation

Platform requirements (non-negotiable)

PlatformSize/formatTransparencySafe zone
iOS App Store1024×1024 PNG, no alphaopaquesquircle mask applied by OS; keep subject in 824px center
iOS device180, 167, 152, 120, 87, 80, 76, 60, 58, 40, 29, 20 (@1x, @2x, @3x)opaquesame
iOS 18 dark / tintedIcon Composer layered sourceper-layersame
Android adaptive108 dp foreground + 108 dp background; 72 dp visible safe zoneFG yes / BG no72 dp of 108 dp
Android 13 monochromethemed drawableyessame
Google Play512×512 PNG, no alphaopaque—
PWA192, 512 any; 512 maskablemaskable: opaque + 80% safe zone80% of 512 for maskable
visionOS3× 1024² PNGs (parallax layers)per-layer—

Generation — mark, then pack

Never generate per-platform. Always: one 1024² RGBA master → deterministic fan-out.

  1. Route the mark generation (see skills/logo/SKILL.md) — no text; subject-only.
  2. Matte with BiRefNet if the chosen provider returned opaque.
  3. Deterministic export via pipeline/export.ts::exportAppIconBundle (pure sharp — no external CLI dependency):
  • iOS: AppIcon.appiconset/Contents.json + every required PNG (iPhone/iPad/Mac/Watch/marketing). 1024 marketing variant flattened onto brand primary color (App Store rejects alpha). iOS 18 dark/tinted appearances emitted when ios_18_appearances: true.
  • Android: mipmap-{mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi}/ic_launcher.png + mipmap-anydpi-v26/ic_launcher.xml pointing to ic_launcher_foreground + ic_launcher_background + ic_launcher_monochrome (foreground-derived via greyscale+threshold; the final themed-icon result should still be audited manually for complex marks).
  • PWA: 192.png, 512.png, 512-maskable.png (80% safe-zone padding) + manifest-snippet.json.
  • visionOS: 1024² master.png + a README describing the 3-layer parallax split that Xcode's Reality Composer Pro or a manual Photoshop step produces.
  • Favicon bonus: .ico (16/32/48 multi-res) via optional png-to-ico; falls back to separate PNGs with a warning if the dep is absent.

Prompt scaffold

A [flat vector | isometric 3D | glyph | soft gradient] app icon representing [SUBJECT, concrete noun phrase].
Bold, memorable silhouette. High contrast.
Subject fills 70-80% of frame, centered.
No text, no labels, no wordmark.
Palette: [#primary, #secondary, #accent].
Solid pure white background.
1:1 square, 1024x1024.

For platform styling: iOS-style rounded square backdrop or Android-style adaptive foreground on transparent can be added to steer, but the mark should be subject-only — backdrop is applied deterministically in export.

Android 13 monochrome derivation

Heuristic (see Open Question G11 in SYNTHESIS.md): sharp(foreground).greyscale().threshold(128).tint('#000'). Works for bold single-subject marks; audit visually for complex marks.

Validation

  • 1024 marketing variant: opaque, dimensions exact, file <1MB.
  • Android foreground: tight-bbox inside 72dp of 108dp.
  • PWA maskable: subject inside 80% center circle.
  • Contrast at 16×16 (renders to "favicon-ish" size): WCAG AA vs both white and dark card.
  • No text detected by OCR (app icons must be text-free).

Output

app-icon/
├── master.png # 1024² RGBA
├── ios/AppIcon.appiconset/ # Contents.json + all sizes
├── ios/AppIcon-1024-opaque.png # App Store marketing
├── android/mipmap-*/ic_launcher.png
├── android/mipmap-anydpi-v26/ic_launcher.xml
├── android/drawable/ic_launcher_{foreground,background,monochrome}.png
├── pwa/{192,512,512-maskable}.png
├── pwa/manifest-snippet.json
├── visionos/{front,middle,back}.png # if parallax
└── meta.json

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
21
Repository forks
2
7-day trend score
15

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/mohamedabdallah-14/prompt-to-asset/app-icon/badge)](https://verified-skill.com/skills/mohamedabdallah-14/prompt-to-asset/app-icon)

Something wrong with this skill or its page? Tell us.