Agent Skills › EL4CTEO/blender-skills › blender-core

blender-core

GitHub

Blender核心基础技能,支持5.2+版本。提供bpy脚本执行、API适配及上下文管理,作为入口路由至各类专业建模、渲染、动画等细分技能。

skills/blender-core/SKILL.md EL4CTEO/blender-skills

Trigger Scenarios

任何Blender相关请求 需要调用blender-*子技能时

Install

npx skills add EL4CTEO/blender-skills --skill blender-core -g -y
More Options

Use without installing

npx skills use EL4CTEO/blender-skills@blender-core

指定 Agent (Claude Code)

npx skills add EL4CTEO/blender-skills --skill blender-core -a claude-code -g -y

安装 repo 全部 skill

npx skills add EL4CTEO/blender-skills --all -g -y

预览 repo 内 skill

npx skills add EL4CTEO/blender-skills --list

SKILL.md

Frontmatter
{
    "name": "blender-core",
    "license": "MIT",
    "metadata": {
        "author": "blender-agent-skills",
        "version": "1.2.0"
    },
    "description": "Foundation for any Blender 5.2+ task an agent drives - running bpy via MCP (live) or headless CLI, context overrides, locale-safe node lookup, enum discovery, 5.x API changes, verification. Use first for any Blender, bpy, .blend or 3D-asset request; routes to the specialized blender-* skills.",
    "compatibility": "Blender 5.2 LTS or newer, verified on 5.3. Optional blender-mcp server for live sessions."
}

Blender Core (5.2 LTS+, 5.3)

Route to the specialized skill

Task Skill
Units, collections, naming, linking, asset libraries blender-scene-setup
Hard-surface modeling, bevels, booleans, normals blender-hardsurface-modeling
Sculpting, multires, remesh blender-sculpting
Retopology, UV unwrap, texel density blender-retopology-uv
PBR materials, color spaces, texture sets blender-pbr-materials
Wear, grime, dust, decals, trim sheets, texture painting blender-texturing
Baking high→low maps (normal, AO, curvature, ...) blender-texture-baking
Geometry Nodes, procedural modeling blender-geometry-nodes
Body rigging, Rigify, weight painting blender-character-rigging
Face rig, shape keys, ARKit, visemes blender-facial-shapekeys
Keyframes, actions, NLA, mocap retarget, loops, root motion blender-animation
Garments, layered clothing, body poke-through blender-clothing
Hair, fur, grooming, hair cards blender-hair-grooming
Poly budgets, LODs, draw calls, cleanup blender-game-optimization
Export: glTF/FBX/USD to Roblox, Unity, Unreal, Godot, web blender-export-pipelines
Cycles/EEVEE settings, compositor, batch render blender-rendering
Lighting, HDRI, camera, turntable blender-lighting-lookdev
Toon/cel/anime shading, outlines, Line Art, Grease Pencil blender-stylized-npr
Terrain, biome scatter, modular kits blender-environment-kits
Video editing (VSE), motion tracking, camera solve blender-video-editing
Time of day, night, sunset, fog, mood (cyberpunk, horror...) blender-time-of-day
Rain, snow, wet surfaces, puddles, lightning, dust/embers blender-weather-fx
Cloth, rigid body, fluids, hair, GN physics blender-simulation
Writing add-ons / extensions blender-addon-development
Batch/headless pipelines, file conversion blender-pipeline-automation
Checking a mesh/asset before delivery (always) blender-asset-qa
End-to-end playbooks (prop, character, Roblox, product shot) blender-workflow-recipes

Execute

Live (blender-mcp execute_blender_code): work in small steps and print only what you need. To call a skill script, import it:

import sys, importlib; sys.path.insert(0, r"<skills_dir>/blender-asset-qa/scripts")
import qa_check; importlib.reload(qa_check); print(qa_check.run(objects=["Chair"]))

Each MCP call runs in a fresh namespace: re-import in every call. That's cheap because modules stay cached in sys.modules. reload only after editing a script. Headless (any agent with a shell): this prints only the script's JSON (@@JSON@@ lines):

python <skills_dir>/blender-core/scripts/run_in_blender.py --blend in.blend <script.py> -- --objects Chair --save out.blend
python <skills_dir>/blender-core/scripts/run_in_blender.py --expr "import bpy; print(len(bpy.data.objects))"

Windows + Git Bash: MSYS rewrites //out.png to /out.png (→ C:\out.png). Prefix with MSYS_NO_PATHCONV=1 and pass skill paths as $(cygpath -m ~/.claude/skills)/... (or use PowerShell). Raw form: blender -b in.blend --factory-startup --python-exit-code 1 -P x.py -- args. Every script here exposes run(**kw) -> dict and the same flags after --. First call in a session: scripts/env_report.py, which returns the version, engines, GPU, add-ons, units, color management and scene counts.

Rules

  • Data API over operators: use bpy.data, bmesh, mesh.attributes, and foreach_get/set with numpy. Operators depend on context and selection, and many need a 3D View, which background mode doesn't have.
  • If an operator is unavoidable: with bpy.context.temp_override(object=ob, active_object=ob, selected_objects=[ob], selected_editable_objects=[ob]): bpy.ops.... Check that the result is {'FINISHED'}.
  • Edit mode isolation: ob.data isn't updated while in Edit Mode. Use bmesh.from_edit_mesh + bmesh.update_edit_mesh, or switch to OBJECT mode before reading.
  • Nodes: find them by type (n.type == "BSDF_PRINCIPLED"), never by name, because names are localized. Sockets by English name or identifier are fine.
  • Enums: read the valid values with [i.identifier for i in T.bl_rna.properties[p].enum_items]. Dynamic enums (render.engine, view_transform, look) under-report, so assign them inside try/except TypeError (the message lists the valid values).
  • Engines: BLENDER_EEVEE, CYCLES, BLENDER_WORKBENCH. Cycles device: scene.cycles.device = "GPU" + preferences compute_device_type.
  • Evaluated data: use ob.evaluated_get(depsgraph), then .to_mesh(), then always .to_mesh_clear(). Call view_layer.update() before reading matrix_world after a change.
  • Freed data: applying or removing a modifier, or removing an object or ID, frees it. Collect names first ([m.name for m in ob.modifiers]) and never touch the old Python reference afterward, because it returns garbage or crashes.
  • Never trust default names ("Cube.001"). Keep object references, rename explicitly, and look objects up via bpy.data.objects[name].
  • Scale: 1 unit = 1 m. Apply rotation/scale (transform_apply) before bevels, modifiers with distances, rigging, physics, baking and export.
  • Paths: bpy.path.abspath("//textures/x.png") resolves relative to the .blend. Save explicitly; use save_as_mainfile(filepath=..., copy=True) for backups.
  • Live sessions are the user's work: never read_factory_settings, never delete data you didn't create, and save a backup copy before destructive batch edits.
  • GPU module in background: call gpu.init() first (5.2+). bgl no longer exists.
  • Big meshes: no per-vertex bpy.ops. Use numpy foreach_get (see references/bpy-patterns.md).

5.x API changes that break old tutorials/LLM memory

action.fcurves → channelbags · scene.node_tree → scene.compositing_node_group · material.use_nodes is deprecated (new materials already have nodes) · mod["Socket_2"] → mod.properties.inputs.Socket_2.value (5.2) · BLENDER_EEVEE_NEXT → BLENDER_EEVEE · Boolean FAST → FLOAT · bone layers → bone collections · bl_info add-ons → extensions (blender_manifest.toml) · bpy.props values are no longer dict-accessible (scene["cycles"]) · 5.3: compositor effects stack, glTF WebP options → compressed-image options, VSE EXPAND → RIPPLE. Full table: references/api-changes-5x.md.

Verify (required before saying "done")

  1. Numbers, not adjectives: report tris, objects, materials, dimensions (ob.dimensions) and the output files written.
  2. Geometry changed → run blender-asset-qa qa_check.py (z-fighting, detached parts, non-manifold, flipped normals, scale).
  3. Look at it: MCP look (mode="angles", shading material/wireframe). Headless: blender-asset-qa/scripts/review_shots.py renders contact sheets.
  4. Re-read your own output: confirm that exported files exist and that their size is non-zero.

References

Version History

  • b1b21df Current 2026-11-15 13:19

Same Skill Collection

skills/blender-addon-development/SKILL.md
skills/blender-animation/SKILL.md
skills/blender-asset-qa/SKILL.md
skills/blender-character-rigging/SKILL.md
skills/blender-clothing/SKILL.md
skills/blender-environment-kits/SKILL.md
skills/blender-export-pipelines/SKILL.md
skills/blender-facial-shapekeys/SKILL.md
skills/blender-game-optimization/SKILL.md
skills/blender-geometry-nodes/SKILL.md
skills/blender-hair-grooming/SKILL.md
skills/blender-hardsurface-modeling/SKILL.md
skills/blender-lighting-lookdev/SKILL.md
skills/blender-pbr-materials/SKILL.md
skills/blender-pipeline-automation/SKILL.md
skills/blender-rendering/SKILL.md
skills/blender-retopology-uv/SKILL.md
skills/blender-scene-setup/SKILL.md
skills/blender-sculpting/SKILL.md
skills/blender-simulation/SKILL.md
skills/blender-stylized-npr/SKILL.md
skills/blender-texture-baking/SKILL.md
skills/blender-texturing/SKILL.md
skills/blender-time-of-day/SKILL.md
skills/blender-video-editing/SKILL.md
skills/blender-weather-fx/SKILL.md
skills/blender-workflow-recipes/SKILL.md

Metadata

Files
0
Version
b1b21df
Hash
85c6161b
Indexed
2026-11-15 13:19

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-15 13:54
浙ICP备14020137号-1