Agent skill

Asset Pipeline

by rehan-remade in rehan-remade/universal-modder

Turn generated or hand-made art into exactly what a game engine loads.

MITAuto-check passedGame Development

Install Asset Pipeline

skills CLI
$ npx skills add rehan-remade/universal-modder --skill asset-pipeline -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rehan-remade/universal-modder asset-pipeline --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rehan-remade/universal-modder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/asset-pipeline .claude/skills/asset-pipeline && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
asset-pipeline
GitHub stars
6.5k
Token cost
~2k tokens
SKILL.md length
830 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Turn generated or hand-made art into exactly what a game engine loads.

  • Works in 6 steps: Learn the target format from the game… → 2D pipeline → 3D → sprites (consistent angles and… → …
  • Asks to make sprites
  • SKILL.md covers 1. Learn the target format…, 2. 2D pipeline, 3. 3D → sprites (consistent… and 4. Textures and materials, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Asset Pipeline is an agent skill from rehan-remade/universal-modder. Turn generated or hand-made art into exactly what a game engine loads. Covers sprite cutout, trim and nearest-neighbour fitting to frame sizes, pixelation to a palette, sprite sheets and strips, player/team-colour masks, seamless textures, and rendering a 3D model into sprite frames from the game's own camera (isometric/RTS 8 or 16 headings, side view, top-down) with Blender. Use after generating assets, or when the user asks to make sprites, sprite sheets, animation frames, isometric unit sprites or icons for a…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development, covering Sprites and pixel art, Game assets and audio and Game development. It works with Blender. The repository describes itself as: Point Claude at any game. Skills, tools and the fal MCP that let Claude Code mod almost any PC game you own: recon, reverse engineering, fal-generated art/3D/audio, in-game… The licence is MIT.

When your agent uses it

  • Asks to make sprites
  • Animation frames
  • Isometric unit sprites
  • Icons for a game

Example prompts

  • “/asset-pipeline”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Learn the target format from the game itself
  2. 2D pipeline
  3. 3D → sprites (consistent angles and animations)
  4. Textures and materials
  5. Verify in the game
  6. Converting a guest game's Unity assets (mashups)

What it can do on your machine

Read from SKILL.md and the folder at commit 50af8bd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Asset Pipeline loads about 2k tokens when it runs. Until then it costs about 135 tokens; SKILL.md has 830 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~135
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rehan-remade/universal-modder at commit 50af8bd, republished under its MIT licence (© rehan-remade). 830 words, ~1,993 tokens.

Download SKILL.mdSave it as .claude/skills/asset-pipeline/SKILL.md (or your agent's skills folder).
name
asset-pipeline
description
Turn generated or hand-made art into exactly what a game engine loads. Covers sprite cutout, trim and nearest-neighbour fitting to frame sizes, pixelation to a palette, sprite sheets and strips, player/team-colour masks, seamless textures, and rendering a 3D model into sprite frames from the game's own camera (isometric/RTS 8 or 16 headings, side view, top-down) with Blender. Use after generating assets, or when the user asks to make sprites, sprite sheets, animation frames, isometric unit sprites or icons for a game.

Asset pipeline: from art to engine-ready files

The fal-assets skill makes pictures. This skill makes files the game accepts: the right size, frame layout, orientation, alpha, palette and format. All commands are um sprite ... and um render3d ...; each has --help with examples.

1. Learn the target format from the game itself

Before converting anything, open two or three of the game's own assets and write down in MODLOG.md:

  • Dimensions: frame size, frames per sheet, and the layout (vertical strip / grid / one file per frame).
  • Orientation: which way the art faces (Terraria: items point right, NPCs face left, the engine flips them), and where the pivot or hotspot sits (AoE2: the unit's ground point at the canvas centre).
  • Alpha: hard 1-bit edges (BC1 punch-through, pixel art) or soft.
  • Style: palette size and outline (dark 1-2 px outline in most pixel-art games).
  • Format: PNG, DDS BC1/BC3/BC7, XNB, SLD, atlas + JSON...

The draw code is the final authority. In Terraria, NPC frame height = texture height / Main.npcFrameCount, so any consistent frame size works.

2. 2D pipeline

bash
um sprite info raw.png                                    # size, alpha coverage, corner colour
um sprite cutout raw.png cut.png                          # flat bg → transparent (border flood fill keeps interior whites)
um sprite cutout raw.png cut.png --grey 150 --keep-top 0.8   # also remove a soft grey shadow / the floor under it
um sprite fit cut.png item.png --size 64x26 --hard-alpha  # trim + ONE nearest-neighbour scale into the frame
um sprite fit cut.png npc.png --size 38x34 --anchor bottom   # standing sprites sit on the frame's bottom edge
um sprite pixelate cut.png px.png --size 32x32 --colors 16 --outline   # true pixel art from painterly art
um sprite palette px.png px2.png --from stock_sprite.png  # snap to the game's own colours
um sprite frames npc.png frames/ --n 3 --kind bob          # cheap idle animation (bob/squash/wobble/flash)
um sprite sheet sheet.png frames/*.png --vertical         # Terraria-style strip (or --cols N grid)
um sprite slice sheet.png out/ --frame 32x32              # the other direction
um sprite team-mask unit.png unit_grey.png --hue blue     # player-colour mask (+ desaturated sprite)
um sprite preview item.png look.png --scale 6             # checkerboard + zoom: LOOK at it before shipping
  • Pixel art: scale once, with nearest neighbour, to the final size. Never scale pixel art twice.
  • Painted / HD art: use fit --smooth.
  • Real frames: for animation frames beyond bob/squash, generate each frame with the fal edit endpoint using the base sprite as reference ("same drone, rotors tilted, frame 2 of 4"), then cut out and fit each frame the same way. Or go 3D (below).

3. 3D → sprites (consistent angles and animations)

bash
um fal model3d concept.png --name unit                   # textured GLB (Trellis 2 by default)
um render3d assets/gen/unit.glb frames/ --preset aoe2 --length 80 --forward-yaw -90 \
  --anims idle:10:bob,walk:12:walk,attack:16:lunge,death:20:die --shadows --samples 40
um render3d assets/gen/unit.glb side/ --preset side --canvas 128 --length 110 --engine eevee   # platformer facing R + L

Presets:

PresetProjectionCameraFacings
aoe2ortho30°16 clockwise from east
iso8ortho30°8
trueisoortho35.264°8
topdownortho—8
sideortho—2 (right, left)
turntablepersp—24 (promo/icon spins)
  • --length sets the model's longest horizontal side in pixels at 1x, so match stock units.
  • --forward-yaw turns the model so its nose faces +X; check the first frame.
  • --shadows adds a shadow-only pass (*_s.png) for engines that keep shadows in their own layer.
  • Motions: bob, walk, lunge, die, wreck, spin.
  • Then pack with um sprite sheet, or with an engine writer (e.g. examples/aoe2-de-civ/sld.py).
  • Needs Blender (blender on PATH or BLENDER=...). Cycles uses the GPU when available.
  • Dark generated textures: raise --sun / --ambient, or brighten in post.
  • For game-ready 3D (not sprites), remesh with um fal run tripo3d/tripo/remesh mesh_url=@unit.glb face_limit:=8000, then convert in Blender (GLB → FBX/OBJ) with the engine's scale and axis convention: Unity Y-up metres, Unreal Z-up centimetres, Bethesda NIF via PyNifly.

4. Textures and materials

  • Tiling: um fal texture generates it tiled. Check with um sprite tile-preview t.png t3.png. Fix seams on other images with um sprite seamless.
  • PBR sets: um fal pbr. Convert to the engine's packing: Unreal ORM (occlusion/roughness/metal in RGB), Unity metallic-smoothness (smoothness = 1 - roughness in alpha).
  • DDS: texconv (DirectXTex) or magick with DXT settings. BC7 for quality, BC1 for cutout sprites, BC3 when alpha is soft.

5. Verify in the game

Put one converted asset into the game and screenshot it next to stock art (um win shot). Check the scale, facing, pivot, outline and palette. Fix the recipe, then batch-convert the rest with the same commands (a small script or Makefile, so the pipeline is reproducible from assets/gen/).

Show full SKILL.md (309 more words)Show less

6. Converting a guest game's Unity assets (mashups)

Read the user's own install with UnityPy and write a local, private resource pack. Never put the output in the mod, its repo or a release; each user runs the converter on their own copy.

  • Memory: UnityPy.load() decompresses a whole bundle (a 865 MB bundle became 8.7 GB of RAM). Decompress only the serialized files and read .resS / .resource lazily, block by block; run each converter module in its own process.
  • Environment: UnityPy.Environment(path=""), and load cross-referenced bundles together; otherwise UnityPy searches the working directory for missing dependencies.
  • Finding assets: Addressables bundle names are hashed per update (find them by prefix); Addressables 2.x has a binary catalog.bin. Map game objects to prefabs through their GUID keys, not by guessing names. Prefer the low-quality variant if one exists (same meshes, smaller textures).
  • Skinned meshes are stored in bind pose (often a T-pose). For the in-game look, evaluate the idle clip at t = 0 yourself (UnityPy reads AnimationClip objects but does not sample them; Generic clips bind Transforms by CRC32 of the path), rebuild world matrices, then skin.
  • Walk the hierarchy from the container root, skip inactive GameObjects and their children, and drop helper meshes (eyelids, ground shadows, stencil/outline materials).
  • Axes: Unity is left-handed, Minecraft right-handed: flip one axis for positions and normals and reverse the winding; flip V; clamp UVs. Verify with a named bone (the right hand ends on the right).
  • Shared atlases: crop each part's texture to its UV bounding box and remap UVs.
  • Audio: AudioClip.samples needs FMOD (fmod_toolkit); encode with ffmpeg to mono OGG.
  • Minecraft side: a pack needs pack.mcmeta (pack_format 15 for 1.20.1); ResourceLocations accept only [a-z0-9_./-]. For posed meshes, a custom mesh file drawn with RenderType.entityCutoutNoCull is more robust than forge:obj (block-atlas textures, usemtl).
  • Oracle: render preview sheets by re-reading the files you wrote, and look at them.

© rehan-remade, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/asset-pipeline of rehan-remade/universal-modder.

Open the folder on GitHubat commit 50af8bd

Compare with similar skills

Asset Pipeline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Asset Pipeline compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Asset Pipeline this skillrehan-remade/universal-modder6.5k—~2kAutomated safety check: PassMIT
Blender Image To 3Dmajidmanzarpour/blender-game-skills135—~5.7kAutomated safety check: PassMIT
Text To 3D AssetLaurentiuGabriel/unreal-game-assets-creation-skill148—~2.1kAutomated safety check: PassNone
Game Assetsglifxyz/glif-mcp-server213—~831Automated safety check: PassMIT
Tripo 3Dcalesthio/generative-media-skills197—~5.1kAutomated safety check: PassMIT
Game Asset Generatorhtdt/godogen7.1k—~2.8kAutomated safety check: PassMIT

Similar skills

  • Blender Image To 3D

    majidmanzarpour/blender-game-skills

    Build a game-ready 3D asset in Blender from reference images (concept art, photos, turnarounds, sketches, screenshots) for any category, including characters, creatures, architecture, vehicles…

    135 GitHub stars~5.7k tokensUpdated 17 days ago
    Game DevelopmentAuto-check passed
  • Text To 3D Asset

    LaurentiuGabriel/unreal-game-assets-creation-skill

    Generate a game-ready 3D asset by running the local AI pipeline sequentially: Fooocus (SDXL text-to-image) - Hunyuan3D-2 (image-to-textured-GLB) - optional Blender FBX convert + Unreal import.

    148 GitHub stars~2.1k tokensUpdated 2 mo ago
    Game DevelopmentAuto-check passed
  • Game Assets

    glifxyz/glif-mcp-server

    Make art and media for a game you are building with Glif: character reference sheets, consistent characters, pixel-art sprite sheets with animation cycles, seamless and PBR textures, 3D models, item…

    213 GitHub stars~831 tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Tripo 3D

    calesthio/generative-media-skills

    Produce 3D assets with Tripo (tripo3d.ai / Tripo AI by VAST) through its OpenAPI and Studio platform — text-to-3D, image-to-3D, and multiview-to-3D generation; PBR texturing; auto-rigging and preset…

    197 GitHub stars~5.1k tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed
  • Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.

    7.1k GitHub stars~2.8k tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • Game Asset Generator

    notque/vexjoy-agent

    Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.

    441 GitHub stars~2.3k tokensUpdated today
    Game DevelopmentAuto-check: notes

More from rehan-remade/universal-modder

All 10 skills in this repo
  • Mashup Mods

    rehan-remade/universal-modder

    Build cross-game mashups and total conversions, the "Minecraft inside Elden Ring" or "skateboarding in MW2" kind.

    6.5k GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Game Automation

    rehan-remade/universal-modder

    Launch, see and drive a real game so an agent can test its own mods.

    6.5k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Game Recon

    rehan-remade/universal-modder

    Figure out how a specific installed game can be modded, before writing any mod code.

    6.5k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Game Research Websearch

    rehan-remade/universal-modder

    Research a game, engine or modding technique on the open web with archive-aware, rate-limit-safe searches — Wayback Machine/archive.today for dead forums (XeNTaX, Zenhax, old threads), GitHub…

    6.5k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Publish Mod

    rehan-remade/universal-modder

    Package and release a finished game mod. An agent skill from rehan-remade/universal-modder.

    6.5k GitHub stars~812 tokensUpdated today
    Auto-check: notes
  • Showcase Video

    rehan-remade/universal-modder

    Record and cut a short showcase video of a game mod, or a compilation of clips, ready to post on X/YouTube.

    6.5k GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Works with

Questions about Asset Pipeline

What does Asset Pipeline do?

Turn generated or hand-made art into exactly what a game engine loads. Asset Pipeline is an agent skill from rehan-remade/universal-modder. Turn generated or hand-made art into exactly what a game engine loads.

When should I use Asset Pipeline?

Asset Pipeline fits situations like: asks to make sprites; animation frames; isometric unit sprites; icons for a game.

How do I install Asset Pipeline in Claude Code?

Run `npx skills add rehan-remade/universal-modder --skill asset-pipeline -a claude-code`. Or copy the skill folder (skills/asset-pipeline in rehan-remade/universal-modder) into .claude/skills/asset-pipeline in your project. Claude Code loads it when a task matches its description.

How do I install Asset Pipeline in Codex?

Run `npx skills add rehan-remade/universal-modder --skill asset-pipeline -a codex`. Or copy the skill folder (skills/asset-pipeline in rehan-remade/universal-modder) into .agents/skills/asset-pipeline in your project. Codex loads it when a task matches its description.

Can I use Asset Pipeline in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rehan-remade/universal-modder --skill asset-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/asset-pipeline, .gemini/skills/asset-pipeline, .github/skills/asset-pipeline and .opencode/skills/asset-pipeline in your project.

What does Asset Pipeline need to run?

SKILL.md names no scripts, command-line tools or credentials: Asset Pipeline is instructions for the agent only.

Does Asset Pipeline access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Asset Pipeline safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Asset Pipeline use?

Asset Pipeline is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Asset Pipeline use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Asset Pipeline?

Skills that share tags, products or a category with Asset Pipeline: Blender Image To 3D (majidmanzarpour/blender-game-skills, 135 stars), Text To 3D Asset (LaurentiuGabriel/unreal-game-assets-creation-skill, 148 stars), Game Assets (glifxyz/glif-mcp-server, 213 stars) and Tripo 3D (calesthio/generative-media-skills, 197 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Asset Pipeline?

rehan-remade (a GitHub user) maintains it in rehan-remade/universal-modder, which has 6,452 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 11, 2026.

Source: rehan-remade/universal-modder on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.