SwiftUI 앱에서 사용 중인 민트 슬라임 캐릭터(512x512, 3D 렌더링)를 웹/안드로이드/마케팅용으로 재활용하기 위해, Google Gemini API 기반으로 다양한 에셋을 배치 생성하는 CLI 도구 + Claude Code 스킬을 구축한다.
원래 계획의 문제점: Gemini CLI, NanoBanana는 실존하지 않는 도구. google-genai Python SDK로 직접 구현하는 것이 현실적.
사용자 확인 사항:
/sprite 슬래시 커맨드 + YAML 배치)| 역할 | 도구 |
|---|---|
| 이미지 생성 | Google Gemini API (google-genai SDK, gemini-2.5-flash-image 모델) |
| 배경 제거 | rembg (AI 기반) |
| 이미지 처리 | Pillow (리사이즈, 포맷 변환, 스프라이트 시트 조합) |
| CLI 프레임워크 | click |
| 설정 파일 | YAML (pyyaml) |
| 버전 관리 | Git (Phase별 커밋) |
| 패키징 | Claude Code Skill (.claude/skills/) — /skill-creator 참고하여 구축 |
sprite-sheet-cli/
├── CLAUDE.md
├── pyproject.toml
├── config/
│ ├── character.yaml # 캐릭터 프롬프트 정의
│ ├── app_sprites.yaml # 앱 스프라이트 배치 정의
│ ├── web_assets.yaml # 웹 에셋 배치 정의
│ └── comic_assets.yaml # 만화 에셋 배치 정의
├── src/
│ └── sprite_cli/
│ ├── __init__.py
│ ├── cli.py # Click CLI 진입점
│ ├── gemini_client.py # Gemini API 래퍼
│ ├── batch_runner.py # 배치 실행 엔진 (rate limiting 포함)
│ ├── sprite_assembler.py # 스프라이트 시트 조합 + 메타데이터 JSON
│ └── post_processor.py # 배경 제거, 리사이즈, 포맷 변환
├── refs/
│ └── slime_base.png # 원천 레퍼런스 이미지
├── output/
│ ├── sprites/
│ ├── web/
│ └── comic/
├── .claude/
│ └── skills/
│ └── sprite/
│ ├── SKILL.md
│ └── scripts/
│ └── generate.sh
└── tests/
├── test_assembler.py
└── test_post_processor.py
파일: pyproject.toml, CLAUDE.md, .gitignore, refs/slime_base.png
git init — Git 저장소 초기화
.gitignore 생성 — .venv/, output/, .env, __pycache__/, .egg-info/
pyproject.toml 생성 — 의존성 정의:
google-genai, Pillow, rembg, click, pyyaml, python-dotenv
CLAUDE.md 작성 — 프로젝트 컨텍스트
원천 이미지를 refs/slime_base.png로 저장