# Texel > A free toolchain and format for making Minecraft skins and textures with AI agents. A skin is a JSON spec (a palette plus ordered drawing operations) that compiles deterministically to a PNG, so an agent can write, render, review and patch one skin or a consistent set, and keep them in version control. Follow the Skin Agent Protocol: brief → read → draft → render → review → patch → ship. Texel is built to be used by AI agents. A skin is a JSON document, not an image: define a palette, then list drawing operations (fill, rect, pixels, gradient, mirror, …) that target faces of the Minecraft player model with selectors like `head.front` or `legs.sides@overlay`. Set `"layout"` to paint other textures with the same ops: `zombie`, `drowned`, `humanoid`, `skeleton`, `creeper`, `enderman`, `spider`, `villager`, `piglin`, `pig`, `cow`, `cold_cow`, `warm_cow`, `sheep`, `sheep_wool`, `chicken`, `cold_chicken`, `wolf`, `cat`, `hoglin`, `iron_golem`, `witch`, `fox`, `rabbit`, `bee`, `parrot`, `axolotl`, `frog`, `turtle`, `armadillo`, `bat`, `horse`, `donkey`, `llama`, `camel`, `goat`, `panda`, `polar_bear`, `slime`, `magma_cube`, `blaze`, `ghast`, `happy_ghast`, `happy_ghast_baby`, `happy_ghast_harness`, `phantom`, `guardian`, `shulker`, `strider`, `warden`, `illager`, `armor_stand`, `snow_golem`, `allay`, `vex`, `squid`, `dolphin`, `copper_golem`, `cape`, `item`, `block`, `block_column`, `block_bottom_top`, `block_orientable`, `plant`, `gui`, `particle`, `painting` (mobs, armor as `humanoid`, cape and elytra, items, blocks with their top and side files, plants, GUI sprites, particles and paintings; see the Layouts section of the spec reference). Textures can animate (frames as patches) and glow (`emissive`), and `texel.mjs pack` turns specs into a resource pack. Every render returns a review (score, issues with fix hints, and a text render of the skin), so an agent can iterate without guessing. Quick start: 1. Read [/agent.md](https://www.texel.dev.br/agent.md): the protocol, the spec reference and the art guide in one file. 2. If a person is waiting, start a live session first so they watch the skin take shape: `node texel.mjs live skin.json --open` with the [CLI](https://www.texel.dev.br/texel.mjs) (or the MCP tool `texel_live`), and give them the URL. 3. Draft `skin.json` (fork an example from [/examples/index.json](https://www.texel.dev.br/examples/index.json) if one is close) and render it: `node texel.mjs build skin.json -o skin.png --sheet sheet.png`, `window.texel.setSpec(spec)` in `https://www.texel.dev.br/studio/`, or `https://www.texel.dev.br/studio/?view=inspect#spec=`. 4. Review, patch, repeat: change layers by id with a [patch](https://www.texel.dev.br/docs/spec.md#patches) (`node texel.mjs patch skin.json fix.json -o skin.json`, MCP `texel_patch`, `window.texel.applyPatch(patch)`). Ship the short share link (`node texel.mjs share skin.json`), the PNG and the spec. Install as native agent tools: an MCP server (`node texel-mcp.mjs`: 16 tools for render, patch, validate, save, live, share, pull, families, import, reference palettes, diff, examples and docs; 5 prompts; an MCP Apps 3D viewer) or the portable `minecraft-skin-design` Agent Skill. See [Install as a tool](https://www.texel.dev.br/docs/install.md). For many related skins (teams, factions, tiers) use [families](https://www.texel.dev.br/docs/families.md). ## Docs - [Skin Agent Protocol](https://www.texel.dev.br/docs/protocol.md): The loop an AI agent follows to design, test and ship a Minecraft skin with Texel. Version `texel/1`. - [Skin spec reference](https://www.texel.dev.br/docs/spec.md): Complete reference for the Texel skin spec (`version: 1`): structure, colors, layouts (player skins, 57 mob layouts, armor, capes, items, blocks, plants, GUI sprites, particles, paintings), selectors, coordinates, all 18 operations, animation, glow, resource packs and every issue code. - [Skin art guide](https://www.texel.dev.br/docs/art-guide.md): Practical pixel-art rules for 64×64 Minecraft skins, written for agents: where features go, how to shade, and the mistakes that make skins look amateur. The last section covers items, blocks, GUI sprites, particles, animation and glow. - [Skin families](https://www.texel.dev.br/docs/families.md): Generate many related skins (teams, factions, rarity tiers, colorways) from one base spec and a few variants. One file, dozens of consistent skins. - [Install as a tool](https://www.texel.dev.br/docs/install.md): Give any agent native Texel tools: a portable Agent Skill and an MCP server (with an interactive 3D viewer for MCP Apps hosts). The quickest route is the prompt on the [developer page](/developers/): paste it into your agent and it installs the skill itself. - [Agent interfaces](https://www.texel.dev.br/docs/api.md): Four ways to render a Texel spec: browser JavaScript API, WebMCP tools, URL, and a zero-dependency Node CLI. All share the same deterministic compiler. Plus live sessions (the person watches while the agent works) and short share links. ## Machine-readable - [JSON Schema](https://www.texel.dev.br/schema/skinspec.v1.json): skin spec v1, usable for structured output / validation. - [Protocol manifest](https://www.texel.dev.br/protocol.json): resources, interfaces and WebMCP tools as JSON. - [Agent bundle](https://www.texel.dev.br/agent.md): protocol + spec reference + art guide, everything needed to make one skin, in one fetch. - [CLI](https://www.texel.dev.br/texel.mjs): zero-dependency Node script: build, review, patch, live, share, pull, sheet, family, import, diff, format, init. - [Core module](https://www.texel.dev.br/texel-core.mjs): DOM-free ES module with the compiler and reviewer. - [MCP server](https://www.texel.dev.br/texel-mcp.mjs): self-contained stdio MCP server (tools, resources, prompts, MCP App viewer). - [Agent Skill](https://www.texel.dev.br/skills/minecraft-skin-design/SKILL.md): SKILL.md for skill-aware agents. - [Release](https://www.texel.dev.br/version.json): current version of the skill, CLI and MCP server, which they check to tell you when to update. - [Family schema](https://www.texel.dev.br/schema/skinfamily.v1.json): JSON Schema for skin families. ## Examples - [Explorer](https://www.texel.dev.br/examples/explorer.json): Brown-haired adventurer with a teal shirt, jeans, boots and a satchel strap. Teaches: fill-then-detail, pixels face, copy with flip, mirror limbs, overlay strap. - [Knight](https://www.texel.dev.br/examples/knight.json): Plate-armored knight with a visored helmet, red plume and blue tabard with a gold cross. Teaches: helmet on hat layer, clear to reveal base, gradient shading, pattern chainmail. - [Unit-7](https://www.texel.dev.br/examples/robot.json): Brushed-metal robot with a screen face, glowing cyan eyes and a chest control panel. Teaches: noise grain, screen face, stripes vents, joint bands. - [Astronaut](https://www.texel.dev.br/examples/astronaut.json): Slim-armed astronaut in a white EVA suit with orange accents, a reflective visor and a life-support pack. Teaches: slim arms, full-face visor, asymmetric detail after mirror, backpack overlay. - [Star Wizard](https://www.texel.dev.br/examples/wizard.json): Old wizard with a long white beard, a starry blue robe with a gold belt, a hood on the back and leather boots. Teaches: material kinds, regions instead of rows, face and hair ops, lighting before details, ~ tone steps. - [Cozy Knitter](https://www.texel.dev.br/examples/cozy.json): Girl with an auburn ponytail, a red knitted sweater with a cream stripe, blue jeans and white sneakers. Slim arms. Teaches: knit material, cute face with blush, ponytail, slim arms with regions. - [Winged Pig](https://www.texel.dev.br/examples/winged-pig.json): A pig-headed character with white feathered wings folded over the back and arms, pink hooves and gold-trimmed boots. Shows wings drawn once and copied across faces, a hint of them on the front, and a one-color body kept apart by value. Teaches: wings across faces: symmetrize and copy with flip on @overlay, a hint of a back feature on the arm fronts, one-color body kept apart by value, creature face with pixels. - [Miner Zombie](https://www.texel.dev.br/examples/miner-zombie.json): A zombie that used to be a miner: green skin, torn blue shirt, dark trousers, worn boots and a yellow helmet with a lamp. Teaches: layout: zombie, mirrored limbs (paint rightArm/rightLeg only), face op on a mob, helmet on head@overlay. - [Mossy Creeper](https://www.texel.dev.br/examples/creeper.json): A creeper overgrown with moss: mottled greens, darker moss patches on the head and back, and the classic black face. Teaches: layout: creeper, one leg texture for four legs, mottled noise, pixel face kept exact by lighting. - [Muddy Pig](https://www.texel.dev.br/examples/mud-pig.json): A pig that has been rolling in mud: mud caked on the legs and belly, splashes up its sides and back, a curly tail on the rump. Teaches: layout: pig, a lying body: body.top is the back, body.bottom the belly, the snout is its own part, one leg texture for four legs. - [Bronze Armor](https://www.texel.dev.br/examples/bronze-armor.json): Armor layer 1 for a bronze tier: helmet with an open face, chestplate with gold trim and rivets, shoulder plates and boots. Everything else stays transparent so the body shows. Teaches: layout: humanoid (armor layer 1), designed transparency, regions on armor (sleeves, boots, collar, belt), clear to open the helmet. - [Banner Cape](https://www.texel.dev.br/examples/banner-cape.json): A guild cape in crimson with a gold border and a ring crest, plus matching elytra with gold leading edges. Teaches: layout: cape, cape.front is the outside, elytra in the same texture, border plus inset field. - [Ember Blade](https://www.texel.dev.br/examples/ember-blade.json): A sword whose blade glows like embers: hot white edge, orange core, iron guard and a leather grip, drawn diagonally like vanilla swords. Teaches: layout: item (16×16), one pixels op for a whole item, outline and transparent background, diagonal sword like vanilla. - [Zebra](https://www.texel.dev.br/examples/zebra.json): A zebra for the horse model: bold black stripes over white, a dark muzzle, a short upright mane. Teaches: layout: horse, stripes per face group (sides includes the front), head, muzzle, neck and mane as separate parts. - [Sky Evoker](https://www.texel.dev.br/examples/sky-evoker.json): An evoker in a deep blue robe with gold trim and glowing cyan eyes; the eyes go to the emissive texture so they shine in the dark. Teaches: layout: illager, emissive: true writes the glowing eyes to _eyes.png, face op on a taller head with an explicit target, an unused part (the hood) left clear. - [Ash Log](https://www.texel.dev.br/examples/ash-log.json): A pale gray log: smooth bark with dark horizontal marks on the side, warm rings on the ends. Both textures tile. Teaches: layout: block_column (two files: side and _top), asset: its place in a resource pack, tiling: marks that cross the edges, rings on the end. - [Magma Pulse](https://www.texel.dev.br/examples/magma-pulse.json): A dark crust over glowing cracks that brighten and dim, animated: four frames, the bright cracks shifting each time. Teaches: animation: frames as patches by layer id, palette changes per frame, interpolate and frametime in the .png.mcmeta. - [Stone Button](https://www.texel.dev.br/examples/stone-button.json): A 200×20 GUI button in a cool stone gray with a black rounded outline, raised bevel and a faint grain; it resizes with nine-slice borders like the vanilla widget. Teaches: layout: gui with size [200, 20], bevel op: outline, raised edges, depth, gui.scaling nine_slice borders. - [Spark](https://www.texel.dev.br/examples/spark.json): A small yellow spark that shrinks and fades over four frames, for a particle. Teaches: layout: particle (8×8), animation as one file per frame, replacing pixels rows per frame. ## Optional - [llms-full.txt](https://www.texel.dev.br/llms-full.txt): all docs and one complete example in a single file. - [Studio](https://www.texel.dev.br/studio/): the interactive editor (humans and browser agents).