blockbench-use

star 7

MANDATORY prerequisite — invoke BEFORE any mcp__blockbench__* tool call that creates, modifies, or exports Blockbench content. Orchestrates the other blockbench-* skills (modeling, texturing, animation, PBR, Hytale, MCP overview). Trigger on: 3D model/texture/animation creation or edits in Blockbench; calls to mcp__blockbench__* tools; phrases like 'build a Minecraft model', 'paint a texture', 'animate this rig', 'export the model'. Dispatches to the right sub-skill(s), enforces pre-flight checks (project open, format, outline), wraps risky work in checkpoints, and ensures exports close the loop.

jasonjgardner By jasonjgardner schedule Updated 5/22/2026

name: blockbench-use description: "MANDATORY prerequisite — invoke BEFORE any mcp__blockbench__* tool call that creates, modifies, or exports Blockbench content. Orchestrates the other blockbench-* skills (modeling, texturing, animation, PBR, Hytale, MCP overview). Trigger on: 3D model/texture/animation creation or edits in Blockbench; calls to mcp__blockbench__* tools; phrases like 'build a Minecraft model', 'paint a texture', 'animate this rig', 'export the model'. Dispatches to the right sub-skill(s), enforces pre-flight checks (project open, format, outline), wraps risky work in checkpoints, and ensures exports close the loop."

Blockbench Use

Orchestrator for Blockbench MCP work. Load this before touching the 3D scene so the right sub-skills load and the right pre-flight checks run.

Rule

Any request that will call an mcp__blockbench__* tool to create or modify content must go through this skill first.

Steps, in order:

  1. Classify the request → pick one or more sub-skills (table below).
  2. Pre-flight → confirm a project is open and the format is correct (see "Pre-flight checks").
  3. Load the sub-skill(s) via the Skill tool.
  4. Checkpoint before risk → call save_checkpoint for multi-step edits that might need rollback.
  5. Execute the sub-skill's workflow.
  6. Close the loop → screenshot, validate (Hytale), or export if the user asked for a deliverable.

Skill routing table

Pick by primary intent. When the task spans domains, load all relevant skills before starting.

User intent Primary skill Also load when…
Build cubes, meshes, groups, hierarchy blockbench-modeling needs texture → blockbench-texturing
Paint, fill, draw, brush, layers, UV blockbench-texturing channel-aware (normal/MER) → blockbench-pbr-materials
Keyframes, bone rigs, walk/idle/attack blockbench-animation bones need geometry first → blockbench-modeling
.texture_set.json, normal/height/MER blockbench-pbr-materials textures not yet drawn → blockbench-texturing
.blockymodel, .blockyanim, attachments, quads, stretch, shading modes blockbench-hytale modeling/animation parts → those skills
"What tools are available?" / unclear scope blockbench-mcp-overview
Write a Blockbench JS plugin (not use MCP) blockbench-plugins (from blockbench-development/)

Skip this skill for pure research questions (API docs, "how does Blockbench work?"). Go straight to blockbench-mcp-overview.

Pre-flight checks

Run before any mutation. One round of list_outline + list_textures is usually enough.

  1. Is a project open? If no project, call create_project first (format from the routing table below).
  2. Is the format correct for the task?
    • Cube modeling (Minecraft) → bedrock_block, java_block, bedrock
    • Mesh/freeform → free, modded_entity, optifine_entity
    • Hytale character → hytale_character (64px)
    • Hytale prop → hytale_prop (32px)
    • Generic → generic or free
  3. What's already there? Use list_outline (structure) + list_textures (materials). Prefer find_elements_by_criteria / filter_by_material over dumping the whole outline for large projects.
  4. Hytale project? Run hytale_validate_model at the end; never silently exceed 255 nodes.

Multi-skill workflow compositions

"Create a Minecraft character with a walk cycle"

blockbench-modeling    → bones + cubes
blockbench-texturing   → skin texture
blockbench-animation   → walk cycle keyframes
# finally:
capture_screenshot     → preview
export_model: codec_id="project"  → save .bbmodel

"Make a Bedrock RTX block"

blockbench-modeling        → single cube
blockbench-texturing       → color map
blockbench-pbr-materials   → normal + MER + texture_set.json
# finally:
hytale_validate_model      → (skip — not Hytale)
capture_screenshot

"Build a Hytale character with attachments"

blockbench-hytale          → read first: format, node limits, pieces
blockbench-modeling        → geometry in character format
blockbench-animation       → optional keyframes (60 FPS)
# separately per attachment collection:
blockbench-hytale          → hytale_set_attachment_piece on bones
# finally:
hytale_validate_model      → node count, stretch, shading
export_model: codec_id="blockymodel"

"Retexture an existing model"

# Pre-flight: find everything that uses the old texture
filter_by_material: texture="old_skin"
# Load:
blockbench-texturing       → paint/create replacement
# Swap references:
apply_texture per match (from filter_by_material results)

Safety & efficiency rules (apply in every session)

  1. Checkpoint before risk. For any workflow of 3+ mutations, call save_checkpoint: name="<descriptive>" first. If the result is wrong, undo: steps=N back.
  2. Filter, don't dump. Prefer find_elements_by_criteria, filter_by_material, or select_all_of_type over list_outline when you know the shape of what you want. Large outlines blow context.
  3. Respect the format. Don't call Hytale tools on a non-Hytale project — they will error. Check Format.id via risky_eval or hytale_get_format_info if unsure.
  4. Screenshot after meaningful changes. capture_screenshot confirms the model looks right. Do it at milestones, not every edit.
  5. Export only when the user asks for a deliverable. Use list_export_formats first to pick the right codec, then export_model with a path (or content-only if the user just wants to see it).
  6. Never call trigger_action: action="undo" or "redo". Use the dedicated undo / redo tools — they return which actions were traversed.
  7. Name everything. Descriptive names make find_elements_by_criteria and filtering work later.

When to load blockbench-mcp-overview

Load it instead of a specialized skill when:

  • The user's intent is ambiguous ("help me with this model")
  • The tool call count will be small (<5) and spans multiple domains
  • The user is asking about capabilities, not executing

Otherwise prefer the specialized skills — they have concrete examples and return shapes.

What this skill does NOT cover

  • Blockbench plugin development (writing .js plugins) → blockbench-plugins
  • MCP server development (adding tools to this repo) → not in this skill set
  • General 3D theory / THREE.js / rendering internals → out of scope
Install via CLI
npx skills add https://github.com/jasonjgardner/blockbench-mcp-project --skill blockbench-use
Repository Details
star Stars 7
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator
jasonjgardner
jasonjgardner Explore all skills →