Automated summary
This skill enforces an AAA-quality 3D modeling playbook for the Blender MCP: brief and references before any mesh, a structured spec sheet, an explicit strategy choice, then a render/critique/refine loop until the asset passes validation.
Strengths
- Requires reference gathering and a written spec sheet (dimensions, proportions, materials, polycount budget) before the first primitive is created
- Defines an explicit iteration loop — render, self-critique, fix, repeat — instead of a one-shot assembly
- Prioritizes modeling strategies in order: parametric library first, external generation second, hand-built primitives last
- Covers post-processing (retopology, UVs, baking) and quality gates before export
Limitations
- Assumes a `blender-agent` MCP exposing named tools (`blender_launch`, `vision_snapshot`, `/object/create`) that are not standard
- Phase 0's `blender_launch` depends on a local Blender install at the default path
- Emphasizes the upstream phases and critique loop; retopology, UV and bake stages are named but not spelled out step by step
Load it whenever a request involves creating a non-trivial 3D object — chair, character, vehicle, environment — through the Blender MCP.
For adding a single primitive, moving an existing object, or answering a Blender API question with no intent to produce an asset.
Security analysis
CautionNothing here is malicious: there are no shell one-liners, no rm -rf, no credential/secret exfiltration, no base64 payloads, and no attempt to disable safety. It is a legitimate, well-reasoned modeling workflow. The 'caution' rating reflects that it routinely invokes powerful process-control and network-facing tools (launching/quitting Blender, restarting an addon, external 3D generation APIs) while declaring no allowed-tools and adding no human-confirmation step for the disruptive ones.
- •Skill drives a powerful external tool surface (blender_launch, blender_quit, addon_restart, vision_snapshot, parametric/build, render calls) but declares no allowed-tools, so the effective tool footprint is undocumented and unbounded at manifest level.
- •Instructions explicitly delegate to third-party generation services/APIs (Hunyuan3D, Tripo3D, Meshy, Rodin) and to a workspace `web` search tool; these are network-facing paths the skill itself says are not implemented, but an agent following it may attempt them.
- •`addon_restart` / `blender_quit`-then-`blender_launch` can disrupt or terminate a user's session without confirmation gating; recoverable but not harmless.
- •Encourages pulling reference assets/inspecting existing bpy.data and external model sites without stating licensing or sandbox constraints.
Examples
Model a Brazilian-style beach chair, about 1.7m long, weathered teak frame with faded orange canvas, hero prop quality, exportable to UE5.Create a stylized low-poly character bust for a game — gather references first, write a spec sheet, then build it in Blender and show me a turntable render.Build a sci-fi cargo crate as a game-ready asset with proper UVs and a baked texture set, following the full modeling pipeline.description: AAA-quality modeling playbook for the Blender MCP. Read BEFORE any modeling task. Codifies the AlphaFold-style refinement loop, reference-grounded modeling, parametric-first strategy, post-processing pipeline (retopo+UV+bake) and quality gates. Load when the user asks to "model X", "build Y", "create a chair/character/vehicle/environment" or anything that requires 3D content beyond a single primitive.
AAA Modeling Playbook
You are about to make 3D content with the blender-agent MCP. The default agent reflex is "call /object/create with a cube and hope." That reflex produces blockouts, not assets. This skill rewires it.
Three rules, drilled in:
- No mesh before a brief. You collect references, write a spec, lock proportions, THEN model.
- Recycle, don't lance. Model → render → critique → fix → repeat. The AlphaFold playbook: iteration 1 has 90% violations, iteration 8 has zero.
- Parametric > generative > primitive. Try the parametric library first. Generate (external API) second. Hand-build with primitives only when nothing else fits.
The pipeline (canonical order)
flowchart TD
A[1. Brief & references] --> B[2. Spec sheet]
B --> C{3. Strategy}
C -->|known shape| D[Parametric library]
C -->|complex, organic| E[External generation]
C -->|simple geometry| F[Primitive blockout]
D --> G[4. Render contact sheet]
E --> G
F --> G
G --> H[5. Self-critique]
H -->|score < threshold| I[6. Refine]
I --> G
H -->|score >= threshold| J[7. Post-processing]
J --> K[8. Validation & export]
Phase 0 — Make sure Blender is open (do this first, always)
Before any modeling tool call, call blender_launch. It reuses an already-open Blender if one is reachable, or launches a GUI Blender from the default install path otherwise. This guarantees:
- tool calls don't fail with
BLENDER_UNREACHABLE, vision_snapshotgets the fast viewport path (instant) instead of falling back to a render,- the user can watch the work happen in a real window.
If you ever need to recover a wedged session, blender_quit then blender_launch. addon_restart reloads addon code without quitting.
Phase 1 — Brief & references (always, no exceptions)
Before any tool call, write a one-paragraph brief:
"Beach chair, Brazilian beach style, ~1.7m long, low recliner (~30° back angle), weathered teak frame, faded orange canvas, 7 wooden slats on the seat. Target: hero prop, exportable to UE5."
Then gather references. Free sources, in order:
| Source | When | How to access |
|---|---|---|
| Web search via the workspace web tool | Always start here | Search for "<object> reference sheet front side top", "<object> blueprint", "<object> turnaround" |
| Polyhaven | HDRIs + sometimes models | Free, CC0 |
| Sketchfab | Read-only inspection | Free models filterable |
| [Three.dropbox folder of pose refs] | Character anatomy | Generic searches |
| Existing assets in bpy.data | Continuing a session | /object/list + /render/render_still of a turntable |
You want at minimum 3 references: front, side, plus one stylistic/contextual reference. This mirrors AlphaFold's MSA — multiple aligned views constrain the answer.
If the user provided no references and the subject is non-trivial, ASK for at least one or use web search. Don't model blind.
Phase 2 — Spec sheet
Write a structured spec into your scratchpad before the first MCP call:
target: beach_chair
class: furniture/recliner
dimensions_m: [length: 1.70, width: 0.60, height_max: 0.95]
proportions:
recline_angle_deg: 28
seat_height_m: 0.40
slat_count: 7
materials:
frame: weathered_teak
fabric: faded_canvas_orange
quality_target: hero_prop
polycount_budget: 8000_tris
texture_resolution: 2048
deliverables: [blend_file, fbx_export, render_turntable]
This spec drives every parameter call later. Anchored numbers in the spec ⇒ deterministic agent behavior. Drifting from the spec is a code smell.
Phase 3 — Strategy decision
Before modeling, branch:
Path A — Parametric (PREFERRED when applicable)
If the subject is in BlenderAgent/library/ (furniture, generic vegetation, basic vehicles), use it. One call → topologically clean mesh with correct proportions.
/parametric/list # see what's available
/parametric/build name="chair_beach" params={length: 1.70, ...}
Parametric gives you: correct topology, predictable polycount, named parts (Seat, BackSlat_1..7, Leg_FL/FR/BL/BR), already-applied scale, ready-for-rigging.
Path B — External generation (when parametric absent)
For organic / one-off / "creative" shapes (dragon, sculpted bust, alien tree). Currently delegated to external services through their addon installs:
- Hunyuan3D 2.1 (open-source, local, 16GB VRAM) —
hy3dgenPython package + their addon. - Tripo3D / Meshy / Rodin (commercial APIs).
This skill does NOT implement those bridges yet — but when you face a "model me a dragon" prompt, write a TODO and fall back to Path C, then surface the gap.
Path C — Primitive blockout (last resort)
Building from CUBE, CYLINDER, etc. via /object/create. Only use for:
- Architecture / level blockouts where geometry IS boxes.
- Stylized low-poly where the look IS primitive.
- Bootstrapping a base mesh that will be sculpted/remeshed afterwards.
If you find yourself doing more than ~10 primitive calls for a single "asset", STOP. You're rebuilding the parametric library inline. Promote that asset into BlenderAgent/library/ first.
Phase 4 — Look at what you built (the AlphaFold loop step 1)
After ANY model change, look at it before doing anything else. Two tiers — don't confuse them:
Inner loop (every iteration) → vision_snapshot. One fast PNG. On a GUI Blender it's an instant viewport screenshot; in background it falls back to a single ~16-sample EEVEE render. Sub-second either way. This is what you call dozens of times while refining.
vision_snapshot
objectNames=["Chair_Frame", "Chair_Seat", "Chair_Back"]
angle="three_quarter"
outputPath="<workspace>/scripts/_out/critique/<asset>_iter_<N>.png"
Final gate (once, when the silhouette is approved) → vision_contact_sheet. 4 angles in a 2×2 grid, for the all-sides sign-off before post-processing/export.
vision_contact_sheet
objectNames=[...]
angles=["front","side","back","three_quarter"]
resolution=512 # samples default 16, engine default EEVEE — both fast
outputPath=".../contact_<asset>.png"
Never run a full Cycles beauty render inside the refine loop — it blocks the single Blender main thread for tens of seconds per frame and stalls everything behind it. Keep critique renders on EEVEE + low samples (the defaults). Cycles is for the final hero shot only.
Also useful:
vision_turntable— N renders rotating 360° (animation review). Heavy; use sparingly.vision_topology_inspect— quad/tri/ngon counts, manifold/non-manifold edges, normal consistency, bounding box.vision_scale_report— compares object dims against the spec.
Phase 5 — Self-critique (the recycling)
You are a multimodal LLM. Look at the contact sheet. Compare against the brief and references.
Score on 6 axes (1–5 each, target ≥4 across the board):
| Axis | Failure mode | |---|---| | Silhouette | Doesn't read as the intended object at a glance | | Proportions | Limbs/components wrong scale relative to each other | | Topology | Visible n-gons, pinching, intersecting geometry | | Material readability | Cores lavadas, no specular variation, missing roughness | | Lighting | Flat, no contact shadows, no rim light | | Reference match | If references provided, side-by-side dissimilar |
If any axis < 4, list the specific issue and the specific fix:
Axis: Proportions — score 2. Issue: backrest 30% too short compared to ref image. Fix:
/parametric/update name="chair_beach" params={backrest_length_m: 0.85}.
This structured critique IS the recycling. Without it, refinement is a guess.
Phase 6 — Refine
Apply ONE class of fix per iteration. Don't change parameters AND materials AND lighting in the same iteration — you won't know which moved the score. (This is also AlphaFold discipline: each recycling step refines a specific representation, not everything at once.)
Stop when:
- All 6 axes ≥ 4, OR
- 5 iterations passed without score increase (you're in a local minimum — change strategy: try Path B, or change reference, or escalate to user).
Phase 7 — Post-processing pipeline
Once silhouette is approved, run the AAA pipeline:
1. /mesh/voxel_remesh voxelSize=0.005 # uniform topology, removes intersections
2. /mesh/quad_remesh targetQuads=4000 # QuadriFlow → quad-dominant topology
3. /mesh/shade_smooth # smooth normals + autosmooth
4. /uv/smart_project angleLimit=66 # one-shot UV unwrap
5. /material/create_pbr name="Frame" # PBR material slot
6. /bake/bake_texture map="DIFFUSE" # bake albedo to 2k
7. /bake/bake_texture map="NORMAL" # bake normal map
8. /modifier/add type="DECIMATE" ratio=0.5 # LOD1
9. /export/fbx ... # ready for engine
Each step has known knobs. The spec tells you what numbers to pass.
Phase 8 — Validation & export
Final gates:
| Check | Tool | Pass criterion |
|---|---|---|
| Polycount within budget | /vision/topology_inspect | tris ≤ spec polycount_budget |
| Single mesh per logical part | /object/list | counts match spec parts |
| No n-gons | /vision/topology_inspect | ngonCount == 0 (unless explicitly allowed) |
| UVs unwrapped | /uv/info (TODO: add if missing) | every selectable face has UV |
| Dimensions sane | /vision/scale_report | within 10% of spec |
| Final render acceptable | /vision/contact_sheet + self-critique | all 6 axes ≥ 4 |
Then export and commit the demo script that built it.
The AlphaFold transferred principles (cheat sheet)
| AF concept | Modeling-3D equivalent | Where it lives in this MCP |
|---|---|---|
| MSA (multiple sequence alignment) | Multi-reference grounding | Phase 1 — gather ≥3 refs |
| Pair representation (residue-i × residue-j) | Anatomy/proportions matrix | BlenderAgent/library/anatomy/proportions.py |
| Recycling (iterate the whole model 8× before output) | Render-critique-refine loop | Phase 4–6 |
| pLDDT (per-residue confidence) | Per-part topology/scale report | /vision/topology_inspect, /vision/scale_report |
| SE(3)-equivariant transformer | Local-space tool operations | Every tool that operates on object-local axes |
| Diffusion refinement (AF3) | Post-processing pipeline | Phase 7 |
Common failures and their fixes
| Symptom | Real cause | Fix |
|---|---|---|
| "It looks like blocks." | Phase 1 skipped. No references, no spec. | Stop modeling. Go gather references. Write spec. Restart. |
| "Render is washed out." | Color management compensation forgotten. | Hyper-saturate Base Color (×2.5) or switch view transform to Standard. |
| "Mesh has holes / intersects itself." | Modelled at primitive level, never unified. | /mesh/voxel_remesh before any other postproc. |
| "Won't import to engine." | UVs missing / non-manifold / scale not applied. | Phase 7 + Phase 8 ran in full. |
| "Took 100 calls to make a chair." | Strategy decision skipped Path A. | Add to parametric library. Future calls = 1. |
| "Agent keeps refining the same problem." | No structured critique scoring. | Force the 6-axis score; require numbers. |
When to escalate to user
- Subject explicitly demands hand-sculpted detail (faces, hands, fur close-ups) — out of scope for parametric/primitive paths.
- Reference image needed but no web access + user didn't provide.
- Polycount budget impossible (e.g. "low-poly dragon at 500 tris" but spec needs scales).
- Spec internally inconsistent (length=2m, width=3m, slat_count=200 on 0.5m wide chair).
Escalate by writing a one-line message in your response, not by halting silently.
Where to look next
BlenderAgent/library/anatomy/proportions.py— proportion priors for humans, common animals, furniture.Tools/test/tools/vision.test.ts— examples of contact_sheet usage.scripts/demo_beach_chair_v2.ps1— end-to-end example using parametric + visual loop..claude/skills/tool-chains/SKILL.md— composing tools into atomic flows.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/aaa-blender-modeling-playbook-mrx3xzx7/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/aaa-blender-modeling-playbook-mrx3xzx7' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/aaa-blender-modeling-playbook-mrx3xzx7/download' --output '.skill-downloads/aaa-blender-modeling-playbook-mrx3xzx7/SKILL.md.part' && mv '.skill-downloads/aaa-blender-modeling-playbook-mrx3xzx7/SKILL.md.part' '.skill-downloads/aaa-blender-modeling-playbook-mrx3xzx7/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/aaa-blender-modeling-playbook-mrx3xzx7/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Writing Fragments
Content
Mine raw writing fragments through a relentless interview, without imposing structure. Capture ideas, quotes, and leading words for later use.
UI Copywriting & Auditing
Content
Write or audit user-facing UI copy including buttons, errors, empty states, and tooltips across the monorepo, following the design system source of truth.
Music MIDI Extraction
Content
Extracts the MIDI or score from an existing music production via the CogMusic MCP tool and confirms availability.