AI Game Art Pipeline
Kieruje pracę nad grafiką gier do potoku sprite-sheet z kluczem chrominancyjnym, kotwicą i skryptami pakowania
Testowano · Działa
Co robi ten skill
Przekształca żądanie grafiki do gier w potok zasobów czasu wykonania: wybiera trasę według zadania czasu wykonania (statyczny rekwizyt, arkusz sprite'ów bojowych, wideo do klatek, tło), określa układ siatki, ograniczenia promptów, czyszczenie kluczem chrominancyjnym, jednolite skalowanie i kotwice, a następnie umowę pakowania i QA dla docelowego silnika. Dostarcza cztery lokalne skrypty Pythona (klucz chrominancyjny magenta, arkusz kontaktowy, ekstrakcja klatek ffmpeg, stub dostawcy) i sam nie wywołuje żadnego API modelu. Uruchamia się podczas generowania lub czyszczenia sprite'ów, ikon, tła lub klatek animacji dla PixiJS, Canvas, Unity, Godot lub SpriteKit.
Raport z testu
Sklonowano repozytorium, potwierdzono, że SKILL.md w katalogu głównym parsowany z name+description, i pobrano raw pięć odwołujących się ścieżek (references/battle-sprites.md, static-assets.md, motion-video.md, runtime-shipping.md, scripts/chroma_key_magenta.py) - wszystkie HTTP 200; grep nie znalazł curl|sh, wycieku kluczy, tekstu wstrzykującego, ani zakodowanych na stałe ścieżek domowych. Do testu wyjścia zbudowałem syntetyczny arkusz ataku 768x512 magenta 3x2 i napisałem dwa artefakty dla tego samego zadania PixiJS: agap_baseline.md (moja własna odpowiedź - pasek 1x6, klucz ImageMagick -fuzz white, TexturePacker, anchor.set(0.5)) i agap_skill.md (zgodnie z treścią - siatka 3x2 według tabeli układu, klucz magenta dla całego arkusza, jednolite skalowanie z podwójnym ograniczeniem, kotwica stóp, tabela kontraktu zasobów). Faktycznie uruchomiłem dołączone skrypty na tym arkuszu: chroma_key_magenta.py wyprodukował 352366 przezroczystych / 29120 nieprzezroczystych px, sheet_contact.py wyprodukował oznaczony arkusz kontaktowy 768x512, a zastosowanie formuły podwójnego ograniczenia umiejętności do rzeczywistych sylwetek dało scale_by_h 0.6758 vs scale_by_w 0.6435 (tylko wysokość byłaby o 5% za duża i przepełniłaby komórkę), podczas gdy bbox-center x wahał się o 61 px między klatkami - konkretne chwianie, które wysłałoby anchor.set(0.5) linii bazowej. Dokumentacja traci punkt: brak requirements.txt dla zależności Pillow/numpy, a przykład sheet_contact.py w README zwraca błąd "the following arguments are required: --rows, --frames".
Testowano: 2026-07-31 · Claude Code 2.x (agent harness)
Instalacja
git clone --depth 1 https://github.com/ybuild-ai/ai-game-art-pipeline-skill.git /tmp/ai-game-art-pipeline-src mkdir -p ~/.claude/skills/ai-game-art-pipeline cp -R /tmp/ai-game-art-pipeline-src/. ~/.claude/skills/ai-game-art-pipeline/ rm -rf ~/.claude/skills/ai-game-art-pipeline/.git # SKILL.md sits at the repo root, so the whole repo becomes the skill dir. # Bundled scripts need Pillow + numpy (no requirements.txt in the repo): pip install pillow numpy # scripts/extract_video_frames.py additionally needs ffmpeg on PATH. # Verified working: python ~/.claude/skills/ai-game-art-pipeline/scripts/chroma_key_magenta.py raw.png keyed.png # python ~/.claude/skills/ai-game-art-pipeline/scripts/sheet_contact.py keyed.png contact.png --cols 3 --rows 2 --frames 6 # The README's contact-sheet example (`sheet_contact.py frames/ contact.png --cols 6`) is wrong; --rows and --frames are required and the input is a sheet image, not a directory. # No API key needed - the skill calls no model API; you wire your own provider via scripts/provider_stub.py.
Komendy i przykładowe prompty
/ai-game-art-pipelineKieruje pracę nad grafiką gier do potoku sprite-sheet z kluczem chrominancyjnym, kotwicą i skryptami pakowania
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Create a character sheet for this game heroGenerate combat sprites for this enemy designPackage these art assets for Unity runtime use