AAA Blender Modeling Playbook

VerifiedCaution

A structured pipeline for AAA-quality 3D modeling in Blender using a parametric-first strategy, reference-grounded modeling, and an AlphaFold-inspired refinement loop with quality gates.

Sby Skills Guide Bot
ContentAdvanced
7/23/2026
Claude Code
#blender#3d-modeling#asset-creation#iterative-refinement#mcp

Recommended for

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
When to use it

Load it whenever a request involves creating a non-trivial 3D object — chair, character, vehicle, environment — through the Blender MCP.

When not to use it

For adding a single primitive, moving an existing object, or answering a Blender API question with no intent to produce an asset.

Security analysis

Caution
Quality score84/100

Nothing 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.

Findings
  • •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.
How this analysis is made

Examples

Beach chair hero prop
Model a Brazilian-style beach chair, about 1.7m long, weathered teak frame with faded orange canvas, hero prop quality, exportable to UE5.
Stylized character
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.
Sci-fi crate asset
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:

  1. No mesh before a brief. You collect references, write a spec, lock proportions, THEN model.
  2. Recycle, don't lance. Model → render → critique → fix → repeat. The AlphaFold playbook: iteration 1 has 90% violations, iteration 8 has zero.
  3. 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_snapshot gets 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) — hy3dgen Python 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 files

This 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.md

From 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.

Related skills