.claude/skills/asset-creation/SKILL.md
앱 아이콘, 스플래시 스크린, Play Store 에셋을 Gemini 이미지 생성 API(gemini-3-pro-image-preview)로 생성하는 스킬. 적응형 아이콘, 피처 그래픽(1024x500), 스크린샷 프레임(폰 목업+캡션)을 실제 PNG 파일로 생성한다. 앱 아이콘, 스플래시, 스토어 에셋, 피처 그래픽, 스크린샷 생성 시 반드시 이 스킬을 사용.
npx skillsauth add fosejary/simple-todo asset-creationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Gemini 이미지 생성 API(gemini-3-pro-image-preview)를 사용하여 앱의 비주얼 에셋을 생성한다.
GEMINI_API_KEY가 설정되어 있어야 한다export GEMINI_API_KEY=your-api-key| 에셋 | 사이즈 | 용도 | |------|--------|------| | icon.png | 1024x1024 | Expo 기본 아이콘 | | adaptive-icon.png | 1024x1024 | Android 적응형 아이콘 (전경) |
적응형 아이콘 규칙:
backgroundColor로 설정)프롬프트 가이드:
| 에셋 | 사이즈 | 용도 | |------|--------|------| | splash.png | 1284x2778 | Expo 스플래시 (Android/iOS 대응) |
프롬프트 가이드:
| 에셋 | 사이즈 | 용도 | |------|--------|------| | feature-graphic.png | 1024x500 | Play Store 상단 배너 |
프롬프트 가이드:
| 에셋 | 사이즈 | 용도 | |------|--------|------| | screenshot-{N}.png | 1080x1920 | Play Store 스크린샷 (최소 4장, 권장 8장) |
프롬프트 가이드:
scripts/generate_asset.py를 생성하여 Gemini API를 호출한다:
import os
import sys
import base64
from google import genai
from google.genai import types
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
def generate_image(prompt: str, output_path: str):
"""Gemini API로 이미지를 생성하고 파일로 저장한다."""
response = client.models.generate_content(
model="gemini-3-pro-image-preview",
contents=prompt,
config=types.GenerateContentConfig(
response_modalities=["image", "text"],
),
)
# 응답에서 이미지 파트 추출
for part in response.candidates[0].content.parts:
if part.inline_data is not None:
image_data = part.inline_data.data
with open(output_path, "wb") as f:
f.write(image_data)
print(f"Saved: {output_path}")
return output_path
print("No image generated")
return None
if __name__ == "__main__":
prompt = sys.argv[1]
output = sys.argv[2]
generate_image(prompt, output)
의존성 설치:
pip install google-genai
각 에셋에 대해 상세 프롬프트를 작성하고 스크립트를 실행한다.
앱 아이콘 프롬프트 예시:
Create a minimal, flat-design app icon for a {카테고리} app called "{앱 이름}".
Style: clean, modern, minimal flat design.
Primary color: {primary-color}.
The icon should feature a simple {심볼 설명} symbol centered on the canvas.
No text. No gradients. Solid background color.
The symbol should be clearly visible even at small sizes (48x48px).
Output: square 1024x1024 PNG with no rounded corners.
피처 그래픽 프롬프트 예시:
Create a Google Play Store feature graphic (1024x500) for "{앱 이름}".
Left side: large app title "{앱 이름}" in bold white text, with tagline "{핵심 가치}" below.
Right side: the app icon or a simple illustration related to {카테고리}.
Background: gradient from {primary-color} to {secondary-color}.
Style: clean, professional, modern.
Ensure text is legible and within safe margins (24px from edges).
스크린샷 프레임 프롬프트 예시:
Create a Play Store screenshot mockup (1080x1920) for a {카테고리} app.
Top area: caption text "{캡션}" in bold {text-color} on {background-color} background.
Center: a modern Android phone mockup displaying a {화면 설명} screen.
The phone screen shows {화면 상세 설명}.
Style: clean, minimal, professional app store screenshot.
Brand color: {primary-color}.
mkdir -p assets/store
# 앱 아이콘
python scripts/generate_asset.py "프롬프트..." assets/icon.png
python scripts/generate_asset.py "프롬프트..." assets/adaptive-icon.png
# 스플래시
python scripts/generate_asset.py "프롬프트..." assets/splash.png
# 피처 그래픽
python scripts/generate_asset.py "프롬프트..." assets/store/feature-graphic.png
# 스크린샷
python scripts/generate_asset.py "프롬프트..." assets/store/screenshot-1.png
python scripts/generate_asset.py "프롬프트..." assets/store/screenshot-2.png
python scripts/generate_asset.py "프롬프트..." assets/store/screenshot-3.png
python scripts/generate_asset.py "프롬프트..." assets/store/screenshot-4.png
app.json 업데이트:
{
"expo": {
"icon": "./assets/icon.png",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "{primary-color}"
},
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "{primary-color}"
}
}
}
}
assets/
├── icon.png # 앱 아이콘 (1024x1024)
├── adaptive-icon.png # 적응형 아이콘 전경 (1024x1024)
├── splash.png # 스플래시 스크린 (1284x2778)
└── store/
├── feature-graphic.png # 피처 그래픽 (1024x500)
├── screenshot-1.png # 스크린샷 (1080x1920)
├── screenshot-2.png
├── screenshot-3.png
└── screenshot-4.png
scripts/
└── generate_asset.py # Gemini API 이미지 생성 스크립트 (재사용 가능)
development
React Native(Expo) + Supabase로 MVP 앱을 구현하는 개발 스킬. 프로젝트 초기화, 컴포넌트 구현, Supabase 연동, 네비게이션, 상태 관리를 포함한다. React Native 개발, Supabase 연동, 모바일 앱 구현 시 반드시 이 스킬을 사용.
development
React Native + Supabase 앱의 통합 정합성을 검증하고 테스트 코드를 작성하는 스킬. 경계면 교차 비교, Supabase RLS 검증, 라우팅 정합성, 데이터 흐름 추적, 단위/통합 테스트를 수행한다. QA, 테스트, 코드 검증, 버그 탐지, 품질 보증 시 반드시 이 스킬을 사용.
development
React Native + Supabase 앱을 프로덕션 수준으로 강화하는 스킬. 에러 핸들링, 보안, 크래시 리포팅, 결제, 푸시 알림, 딥링크, 오프라인 지원을 구현한다. 프로덕션 강화, 보안 강화, 결제 연동, 푸시 알림 구현 시 반드시 이 스킬을 사용.
testing
MVP를 완성된 프로덕트로 전환하는 오케스트레이터. MVP 감사 → 기능 추가 + 프로덕션 강화 + 성능 최적화 + 그로스 (병렬) → QA 검증 → 릴리스 준비 전 과정을 수행한다. MVP를 프로덕트로 강화하고 싶을 때, 프로덕션 준비, 기능 확장, 앱 완성, 출시 준비, '프로덕트로 만들어줘', '앱 완성해줘', '프로덕션 강화해줘' 등의 요청에 반드시 이 스킬을 사용.