aaa-modeling
Professional-grade 3D modeling workflow for Blender using iterative refinement and parametric design.
Install
mkdir -p .claude/skills/aaa-modeling && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13233" && unzip -o skill.zip -d .claude/skills/aaa-modeling && rm skill.zipInstalls to .claude/skills/aaa-modeling
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
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.Key capabilities
- →Collect references for modeling tasks
- →Write a structured spec sheet for assets
- →Utilize a parametric library for known shapes
- →Perform primitive blockouts for simple geometry
- →Render contact sheets for self-critique
- →Execute post-processing pipeline (retopo+UV+bake)
How it works
This skill codifies an AAA-quality modeling playbook for Blender, following a refinement loop that includes brief and reference gathering, spec sheet creation, strategic modeling (parametric, generative, primitive), self-critique, and post-processing.
Inputs & outputs
When to use aaa-modeling
- →Building 3D assets
- →Refining 3D models
- →Setting up a Blender project
About this skill
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 ( |
Content truncated.
When not to use it
- →When the user explicitly asks to bypass quality gates
- →When the user needs to sculpt highly organic details (faces, hands, fur)
- →When the user needs to use external generation services not yet integrated
Limitations
- →The skill requires Blender to be open and reachable
- →The skill does not implement external generation bridges yet
- →The skill may escalate to the user for complex sculpting tasks
How it compares
This skill enforces a structured, iterative, and reference-grounded modeling pipeline, ensuring quality and consistency, unlike ad-hoc modeling with primitives.
Compared to similar skills
aaa-modeling side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| aaa-modeling (this skill) | 0 | 2mo | No flags | Advanced |
| ui-ux-pro-max | 1,909 | 5mo | Review | Intermediate |
| svg-precision | 527 | 4mo | Review | Intermediate |
| mobile-ios-design | 272 | 5mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
ui-ux-pro-max
nextlevelbuilder
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
svg-precision
dkyazzentwatwa
Deterministic SVG generation, validation, and rendering. Use for icons, diagrams, charts, UI mockups, or technical drawings requiring structural correctness and cross-viewer compatibility.
mobile-ios-design
wshobson
Master iOS Human Interface Guidelines and SwiftUI patterns for building native iOS apps. Use when designing iOS interfaces, implementing SwiftUI views, or ensuring apps follow Apple's design principles.
openscad
mitsuhiko
Create and render OpenSCAD 3D models. Generate preview images from multiple angles, extract customizable parameters, validate syntax, and export STL files for 3D printing platforms like MakerWorld.
mobile-android-design
wshobson
Master Material Design 3 and Jetpack Compose patterns for building native Android apps. Use when designing Android interfaces, implementing Compose UI, or following Google's Material Design guidelines.
mobile-design
sickn33
Mobile-first design and engineering doctrine for iOS and Android apps. Covers touch interaction, performance, platform conventions, offline behavior, and mobile-specific decision-making. Teaches principles and constraints, not fixed layouts. Use for React Native, Flutter, or native mobile apps.