el4cteo/blender-skills/blender-pipeline-automation
Claude Code and agent skill by el4cteo/blender-skills
- community
- ext:[{"type":"plugin","description":"Custom plugin integration"}]
Checking that the SKILL.md file is still in the repository.
Automate Blender 5.2 at scale - headless CLI flags, batch convert/inventory/run-any-skill-script over folders of .blend/.fbx/.glb/.obj/.usd, sharding, bpy pip module, library linking, path management, render-farm and CI patterns. Use for batch jobs, format conversion, library maintenance and pipeline tooling.
Install
npx vskill@latest install el4cteo/blender-skills/blender-pipeline-automationSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Pipeline Automation
The execution model is in blender-core (run_in_blender.py finds Blender and prints only the JSON results).
Batch one-liners
Each file is streamed as one JSON line with ok, timing and results. Failures don't stop the batch, and the summary lists them. Parallel: start N processes with --shard 0/N … --shard N-1/N (Blender uses one core for Python, so processes scale with CPU/GPU count).
Headless CLI essentials
| Flag | Meaning | |
|---|---|---|
-b | background, no UI. Put it first | |
file.blend | open before running scripts. Order matters: args run left to right | |
-P script.py / --python-expr "..." | run Python | |
--python-exit-code 1 | non-zero exit if the script raises (CI) | |
--factory-startup | ignore user prefs/add-ons (reproducible). Bundled add-ons still load | |
--addons rigify,io_scene_fbx | enable specific add-ons | |
-E CYCLES -o //out/#### -F PNG -s 1 -e 10 -a / -f 5 | render (blender-rendering) | |
--command extension build/validate/install-file | extension tooling (blender-addon-development) | |
-- --my args | everything after -- goes to the script (sys.argv[sys.argv.index("--")+1:]) | |
--log "*", --debug-python | debugging. 5.0 changed the log format, so don't regex progress lines |
Environment variables: BLENDER_USER_SCRIPTS, BLENDER_USER_EXTENSIONS, BLENDER_SYSTEM_PYTHON. Use OCIO for custom color configs.
bpy as a Python module
pip install bpy==5.2.* (Python 3.13, matching the Blender release) gives import bpy in plain Python, which is handy for pytest/CI/web services. It has no UI and no GPU module by default, and it's large (~300 MB). Version-lock it with the Blender you target. The bpy wheel and the CLI behave the same for data API work.
Library patterns
- Append/link:
bpy.data.libraries.load(path, link=...)(seeblender-core/references/bpy-patterns.md). 5.2:data_from.librariesexposes nested library paths when loading. - Write a subset:
bpy.data.libraries.write(path, {datablocks}, fake_user=True, path_remap="RELATIVE_ALL")builds asset/library files from a session. - Find files:
bpy.data.file_path_foreach(...)(5.2 flags:EXPAND_TOKENSfor UDIMs,EXPAND_SEQUENCES,EXPAND_CACHES), andbpy.utils.blend_paths(absolute=True)lists every external path. - Remap/relocate:
bpy.ops.file.find_missing_files(directory=...),make_paths_relative,pack_all. Libraries:lib.filepath = new; lib.reload(). - Iterate every ID:
bpy.data.all_ids(5.2), andbpy.data.orphans_purge(do_recursive=True)for cleanup.
Robustness rules
- One task per process where possible. Long Blender sessions leak (images, undo).
batch_process.pyreuses the process but resets withread_factory_settings(use_empty=True)/open_mainfile. - Never write into the source folder by default. Use separate
--out/--save-to, and write withcopy=True. - Make scripts idempotent: re-running replaces their own outputs (named prefixes,
exist_ok). - Log JSON, not prose: one object per file/job, so agents and CI can parse it cheaply.
- Pin the Blender version (5.2 LTS) for a project. Record
bpy.app.version_string+ hash (bpy.app.build_hash) in the outputs. - Paths:
bpy.path.abspath("//x")is relative to the opened .blend. In headless batches use absolute paths, or set them afteropen_mainfile. - GPU in containers: Cycles CUDA/OptiX needs the NVIDIA container runtime. Otherwise use CPU. EEVEE needs a GPU/EGL even headless.
CI recipe (GitHub Actions)
Download the Linux tarball (https://download.blender.org/release/Blender5.2/blender-5.2.3-linux-x64.tar.xz), cache it, then blender -b --factory-startup --python-exit-code 1 -P tests/run_all.py. This repo's .github/workflows/ci.yml is a working example.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/blender-pipeline-automation/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Extension points
pluginCustom plugin integration
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/el4cteo/blender-skills/blender-pipeline-automation)