Loading...
Loading...
Use when doing any 3D work in Blender through Python or an MCP bridge, headless or in a live session: modeling, sculpting a character or head, retopology, UV unwrapping, baking, texturing, rigging, animating, previs, geometry nodes, lighting and rendering, grease pencil, or finishing an AI-generated mesh into a production asset. Also when a bpy script fails on Blender 5.x API changes, a brush or sculpt operator fails or crashes headless, or a result has to be judged like a professional 3D artist would.
npx skill4agent add scenario-labs/skills scenario-blender-expertnpx skills add scenario-labs/skills --skill <name>| Channel | Use for | Rules |
|---|---|---|
| Live GUI Blender (user's session over the MCP bridge) | anything interactive: real sculpt/paint brushes, weight painting, viewport screenshots | One short, idempotent script per call returning a compact result dict. Get-or-create by name. Never touch objects you did not create. Save a stage backup |
Headless helper | renders, audits, batch ops, anything when no bridge is up | Always |
bpy.app.versionreferences/blender-5.2-deltas.md| Action | Headless | GUI session |
|---|---|---|
| Voxel remesh, QuadriFlow, multires subdivide, modifiers, bmesh, UV ops with edit-mode context, Cycles/EEVEE/Workbench renders, baking | yes | yes |
| yes | yes |
Brush strokes ( | no (poll fails) | yes, via |
| CRASHES Blender | yes, via |
| Programmatic sculpting on mesh data | yes, | yes |
scripts/bx_audit.pyscripts/bx_review.pyreferences/critique.md| Persona / brief | Skill chain | Deliverable |
|---|---|---|
| Character artist, stylized or realistic | scenario-blender-sculpting, scenario-blender-retopology, scenario-blender-uv-baking, scenario-blender-texturing-shading, scenario-blender-hair | sculpt, animation-ready low poly, UVs, baked maps, materials |
| AI-mesh finisher (Scenario 3D output to production) | audit the generated mesh, scenario-blender-retopology (or cleanup + remesh), scenario-blender-uv-baking (bake FROM the generated high), scenario-blender-texturing-shading; generation itself: scenario-3d | clean, UV'd, baked asset at a stated budget |
| Game asset artist | scenario-blender-hard-surface or scenario-blender-sculpting, scenario-blender-retopology (game budget), scenario-blender-uv-baking, scenario-blender-texturing-shading | low poly + PBR set, exported glTF/FBX |
| Rigger / character TD | scenario-blender-rigging | rig with controls, weights, deformation tests |
| Animator | scenario-blender-previs-storyboard (shot planning), scenario-blender-animation | blocked, splined, polished shot + playblast |
| Story / previs artist | scenario-blender-previs-storyboard, scenario-blender-grease-pencil | shots, cameras, animatic |
| Look-dev and lighting artist | scenario-blender-texturing-shading, scenario-blender-lighting-rendering | lit, color-managed, composited renders |
| Technical artist / procedural | scenario-blender-geometry-nodes | node-group assets, procedural systems |
| 2D / 2.5D animator | scenario-blender-grease-pencil | GP animation |
scripts/bx_audit.pyaudit(obj, high=None)verdict(report)blender -b f.blend --python bx_audit.py -- --object Name [--high Sculpt] [--json out.json]bx_review.pyreview(objs, out_dir, views, modes)playblast(path)turntable(obj, path)bx_gui.pyset_viewactivate_brush(mode, name)stroke(mode, world_points, size, strength)run(op, **kw)set_paint_colorscreenshotimport sys; sys.path.append("<this skill>/scripts"); import bx_audit, bx_reviewbpy.ops.brush.asset_activate(asset_library_type='ESSENTIALS', asset_library_identifier="", relative_asset_identifier="brushes/essentials_brushes-mesh_sculpt.blend/Brush/Clay Strips")mesh.shade_smooth()shade_smooth()BLENDER_EEVEEBLENDER_EEVEE_NEXTscene.compositing_node_groupscene.node_treeimage_settings.media_type = 'VIDEO'file_format = 'FFMPEG'action.fcurvesbpy_extras.anim_utils.action_get_channelbag_for_slot(action, slot)GREASEPENCILbpy.ops.grease_pencil.*with bpy.context.temp_override(...)obj.matrix_worldview_layer.update()references/bpy-reliability.mdreferences/blender-5.2-deltas.md