AI Game Art Pipeline
Instrada il lavoro di grafica per giochi a una pipeline di sprite-sheet con chroma-key, anchor e script di packaging
Promosso
Cosa fa
Trasforma una richiesta di grafica per giochi in una pipeline di asset runtime: sceglie il percorso in base al lavoro runtime (static prop, combat sprite sheet, video-to-frames, background), specifica il layout della griglia, i vincoli del prompt, la pulizia del chroma-key, il ridimensionamento uniforme e gli anchor, quindi un contratto di packaging e QA per il motore target. Fornisce quattro script Python locali (chroma key magenta, contact sheet, estrazione frame ffmpeg, provider stub) e non chiama alcuna API di modello. Si attiva quando si generano o puliscono sprite, icone, sfondi o frame di animazione per PixiJS, Canvas, Unity, Godot o SpriteKit.
Rapporto di test
Clonato il repository, confermato che SKILL.md nella root viene analizzato con name+description, e recuperati raw cinque percorsi referenziati (references/battle-sprites.md, static-assets.md, motion-video.md, runtime-shipping.md, scripts/chroma_key_magenta.py) - tutti HTTP 200; grep non ha trovato curl|sh, nessuna esfiltrazione di chiavi, nessun testo di injection, nessun percorso home hardcoded. Per il test di output ho costruito un foglio di attacco sintetico magenta 768x512 3x2 e ho scritto due artefatti per lo stesso task PixiJS: agap_baseline.md (la mia risposta - striscia 1x6, chiave bianca ImageMagick -fuzz, TexturePacker, anchor.set(0.5)) e agap_skill.md (seguendo il corpo - griglia 3x2 secondo la tabella di layout, chiave magenta per l'intero foglio, scala uniforme a doppio limite, anchor ai piedi, tabella asset-contract). Ho effettivamente eseguito gli script inclusi su quel foglio: chroma_key_magenta.py ha prodotto 352366 px trasparenti / 29120 px opachi, sheet_contact.py ha prodotto un foglio di contatto etichettato 768x512, e l'applicazione della formula a doppio limite della skill alle silhouette reali ha dato scale_by_h 0.6758 vs scale_by_w 0.6435 (solo altezza sarebbe stato 5% troppo grande e avrebbe fatto traboccare la cella), mentre il centro x del bbox ha oscillato di 61 px tra i frame - l'oscillazione concreta che l'anchor.set(0.5) della baseline avrebbe prodotto. La documentazione perde un punto: nessun requirements.txt per la dipendenza Pillow/numpy, e l'esempio sheet_contact.py del README restituisce errori con "the following arguments are required: --rows, --frames".
Testato il: 2026-07-31 · Claude Code 2.x (agent harness)
Installazione
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.
Comandi e prompt di esempio
/ai-game-art-pipelineInstrada il lavoro di grafica per giochi a una pipeline di sprite-sheet con chroma-key, anchor e script di packaging
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Create a character sheet for this game heroGenerate combat sprites for this enemy designPackage these art assets for Unity runtime use