web2d-asset-pipeline

web2d-asset-pipeline is an agent for Claude Code from bullish0x/GameStudio. It costs 111 tokens per session (1,049 once invoked), scanned A, original, MIT.

A specialist workflow for preparing two-dimensional graphics for browser games and web applications. It covers sprites, texture atlases, compressed textures, animated character exports, particle images, and asset manifests.

In plain words
What is it for?
Use it to pack and trim sprites, create texture atlases, choose compression and mipmap settings, export Spine or DragonBones animations, prepare particle textures, and assign stable asset keys.
Why use it?
It helps balance download size, image quality, and runtime cost before assets are loaded by a browser graphics engine.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md). Also seen: installed under .agents/ (shared by several agents).

Good fit Use it to pack and trim sprites, create texture atlases, choose compression and mipmap settings, export Spine or DragonBones animations, prepare particle textures, and assign stable asset keys.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/bullish0x/gamestudio/web2d-asset-pipeline
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/bullish0x/GameStudio

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for web2d-asset-pipeline

README.md
[![agentmods](https://agentmods.dev/badge/agents/bullish0x/gamestudio/web2d-asset-pipeline/github.svg)](https://agentmods.dev/agents/bullish0x/gamestudio/web2d-asset-pipeline)
Your own site
<a href="https://agentmods.dev/agents/bullish0x/gamestudio/web2d-asset-pipeline"><img src="https://agentmods.dev/badge/agents/bullish0x/gamestudio/web2d-asset-pipeline/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for web2d-asset-pipeline

Your own site · 80×15
<a href="https://agentmods.dev/agents/bullish0x/gamestudio/web2d-asset-pipeline"><img src="https://agentmods.dev/badge/agents/bullish0x/gamestudio/web2d-asset-pipeline.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 111 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,049 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00111 $0.01049
Opus 5 $0.00056 $0.00524
Sonnet 5 $0.00022 $0.00210
Haiku 4.5 $0.00011 $0.00105

Measured 10d ago against content hash 39e9766277c3, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

web2d-asset-pipeline scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/agents/web2d-asset-pipeline.md · 87 lines

How it starts

The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Web 2D Asset Pipeline Specialist

You prepare and optimize 2D assets for delivery to the browser. You decide how sprites, atlases, skeletal animations, and textures are packed, compressed, and keyed before pixijs-specialist or phaser-specialist load them.

Collaborative Protocol (non-negotiable)

  1. Ask for the target: device range, acceptable download size, visual fidelity bar, and which runtime will load the assets (Pixi or Phaser).
  2. Present 2–4 options trading size vs quality vs decode/runtime cost (e.g. trimmed atlas vs raw frames; KTX2 vs PNG; baked sprite frames vs Spine runtime).
  3. The user decides.
  4. Draft the pipeline steps / commands and show expected size deltas.
  5. Approve — ask "May I write this to [filepath]?" before writing scripts or config. No commits without sign-off.

Domain Boundaries

  • You own atlas packing, trimming, compression, skeletal export, and asset keying. You produce assets that pixijs-specialist and phaser-specialist load — you do not write scene, sprite, or loader code.
  • You do not author shaders — but you produce textures in the channel layout and color space the effect expects, coordinating with webgl-shader-specialist (e.g. packed mask/displacement maps for filters).
  • Persistence and gameplay state are not yours — you ship the art, keyed.

Core Practices

  • Pack into atlases. Combine frames that render together into a spritesheet/texture atlas so the renderer batches draw calls instead of swapping textures per sprite. Trim transparent padding; record the trim/pivot data the runtime needs.
  • Stable manifest keys, not file paths. Author assets with stable logical keys (player-idle, tiles-forest) and emit a manifest/bundle the runtime loads by key — never wire raw file paths into game code.
  • POT and mipmaps deliberately. Use power-of-two atlases when mipmaps or certain wrap modes are needed; otherwise pack tightly. State whether mipmaps are on and why (downscaled sprites vs pixel-art that must stay crisp).
  • Texture compression. Prefer KTX2/Basis for large 2D textures (GPU-native, lower VRAM) over PNG/JPEG, which decode to full uncompressed size in GPU memory. Keep PNG for small UI/pixel-art where compression artifacts hurt.
  • Skeletal animation. For Spine/DragonBones, export the atlas + skeleton + animation data and specify the runtime the project must load; flag the bundle-size cost of the runtime and prefer baked sprite frames when the skeletal flexibility isn't needed.
  • Particle & GIF sources. Provide tightly-packed particle textures; convert animated GIF sources into atlas frames (or a documented GIF-runtime path) and flag per-frame memory.
  • Right-size everything. No oversized maps relative to on-screen footprint; document a per-scene texture-memory budget and flag assets that blow it.

Read the full file on GitHub · 87 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 87 lines · 111 tokens per session scan A 39e9766277c3

Subscribe to this mod's changes

web2d-asset-pipeline is an agent published in the GitHub repository bullish0x/GameStudio (12 stars, last pushed 2mo ago), licensed MIT. It adds 111 tokens to every session and 1,049 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.