blender-tooling
Build Blender Python add-ons, asset validators, exporters and pipeline automation.
Skill by poorvith-mp
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/poorvith-mp-blender-tooling
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/blender-tooling
What's inside
- Skill name
blender-tooling- Description
- Build Blender Python add-ons, asset validators, exporters and pipeline automation. Use when writing Python scripts, add-ons, or batch tools for Blender.
- License
- MIT
- Instructions
- 147 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (3)
- SKILL.md
- blender-tooling.skill
- routing.yaml · evals/
SKILL.md (first lines)
# blender-tooling
## Core Philosophy
Manual 3D asset preparation—clicking through 14 menus to apply transforms, rename 40 bones, fix inverted normals, and export FBX files one by one—is an enormous drain on game studio productivity. High-performance art pipelines rely on custom Python automation within Blender (`bpy`). Professional Blender tooling builds robust, headless CLI batch exporters, automated asset validation linters, custom UI panels, and asset post-processors that eliminate human error.
---
## 4-Step Blender Python Tooling Architecture
### Step 1: The Blender Python API Anatomy (`bpy`)
1. **Core Submodules**:
- `bpy.context`: Active selection, active mode, active scene.
- `bpy.data`: Datablocks (meshes, armatures, materials, textures, actions).
- `bpy.ops`: Operator execution (e.g. `bpy.ops.object.transform_apply()`).
- `bpy.types`: Base classes for creating custom Operators, Panels, and Property Groups.
2. **The Safe Operator Rule**:
- Avoid calling `bpy.ops` inside heavy loops (it is slow and requires active 3D context). Mutate `bpy.data` and mesh attributes directly via Python data APIs where possible.
### Step 2: Automated Asset Validation Linters
1. **Pre-Export Linter Checks**:
- Write automated scripts that assert:
- Unapplied Scale: `obj.scale != Vector((1.0, 1.0, 1.0))`.
- Ngon Count: `any(len(poly.vertices) > 4 for poly in mesh.polygons)`.
- Missing Materials / Textures: Materials with missing image filepaths.
- Origin Alignment: Origin not at `(0, 0, 0)` for static props.
2. **The Hard Blocker Gate**:
- If a validation check fails, abort export and display an error modal listing exact offender object names.
### Step 3: Custom Add-On Development (`bl_info` Standard)
1. **Add-On Architecture**:
- Structure add-ons with formal registration:
```python
bl_info = {
"name": "Studio Pipeline Exporter",
"author": "Technical Art Team",
"version": (1, 2, 0),
"blender": (4, 1, 0),
"category": "Pipeline",
}
```
2. **Custom UI Panels in the 3D Viewport**:
- Create a dedicated sidebar tab (`N-Panel`) exposing 1-click batch actions: "Sanitize Asset", "Bake Normal Map", "Export Game-Ready FBX".
### Step 4: Headless CLI Batch Processing
1. **Headless Execution**:
- Run Blender without GUI in CI/CD or build servers to process hundreds of assets overnight:
```bash
blender -b assets/character.blend -P scripts/batch_export.py -- --output-dir ./dist/fbx
```
2. **CLI Argument Parsing**:
- Use `sys.argv[sys.argv.index("--") + 1:]` to parse custom command-line arguments passed after Blender's native flags.
---
## Deliverable Format: Blender Python Add-on Template (`studio_exporter.py`)
```python
# -*- coding: utf-8 -*-
bl_info = {
"name": "Game Asset Validator & Exporter",
"author": "Tech Art",
"version": (1, 0, 0),
"blender": (4, 0, 0),
"location": "View3D > Sidebar > Game Pipeline",
"category": "Pipeline",
}
import bpy
from mathutils import Vector
class OBJECT_OT_validate_game_asset(bpy.types.Operator):
'''Validate active object for game-engine readiness'''
bl_idname = "object.validate_game_asset"
bl_label = "Validate Active Asset"
def execute(self, context):
obj = context.active_object
if not obj or obj.type != 'MESH':
self.report({'ERROR'}, "No mesh object selected!")
return {'CANCELLED'}
# 1. Check Unapplied Scale
if obj.scale != Vector((1.0, 1.0, 1.0)):
self.report({'ERROR'}, f"Unapplied scale: {obj.scale}. Press Ctrl+A to apply.")
return {'CANCELLED'}
# 2. Check for Ngons (> 4 vertices)
mesh = obj.data
ngon_count = sum(1 for poly in mesh.polygons if len(poly.vertices) > 4)
if ngon_count > 0:
self.report({'ERROR'}, f"Asset contains {ngon_count} ngons! Triangulate or retopologize.")
return {'CANCELLED'}
self.report({'INFO'}, "Asset passed all game-ready checks!")
return {'FINISHED'}
class VIEW3D_PT_game_pipeline_panel(bpy.types.Panel):
'''Custom sidebar panel in 3D Viewport'''
bl_label = "Game Pipeline Tools"
bl_idname = "VIEW3D_PT_game_pipeline_panel"
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_category = "Game Pipeline"
def draw(self, context):
layout = self.layout
layout.operator("object.validate_game_asset", icon='CHECKMARK')
def register():
bpy.utils.register_class(OBJECT_OT_validate_game_asset)
bpy.utils.register_class(VIEW3D_PT_game_pipeline_panel)
def unregister():
bpy.utils.unregister_class(OBJECT_OT_validate_game_asset)
bpy.utils.unregister_class(VIEW3D_PT_game_pipeline_panel)
if __name__ == "__main__":
register()
```From poorvith-mp/skills-gamedev, MIT.
More from poorvith-mp/skills-gamedev
- 0.495score
game-version-control
poorvith-mp
Set up Git LFS for binary assets, handle unmergeable scene and prefab conflicts, and know when Perforce beats Git.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
blender-animation
poorvith-mp
Rig, skin and animate characters and props, and export clean animation sets to an engine.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
blender-modeling
poorvith-mp
Model, retopologise, UV unwrap and bake game-ready assets with correct scale, pivots and polycount.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-ai
poorvith-mp
Design NPC behaviour: behaviour trees, state machines, pathfinding, perception and difficulty tuning.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-audio
poorvith-mp
Integrate FMOD and Wwise, build adaptive music systems, spatial audio and audio performance budgets.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-ui
poorvith-mp
Design HUDs, menus and diegetic interfaces with controller navigation and readability at TV distance.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
anti-cheat
poorvith-mp
Enforce server authority and defend against speed hacks, memory editing, and exploits.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-build-pipeline
poorvith-mp
Automate platform builds, asset cooking, console certification prep, and Steam or itch.io depot publishing.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-design
poorvith-mp
Design systems and mechanics: GDD authorship, gameplay loops, economy balancing and player psychology.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-ideation
poorvith-mp
Generate and pressure-test concepts: core loop, hook, fantasy, and the paper prototype that proves it.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-monetization
poorvith-mp
Design free-to-play economies, battle passes and cosmetic shops with anti-predatory guardrails.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-performance
poorvith-mp
Hit frame budget: draw calls, batching, GC spikes, LOD strategy and in-engine profiling.
SkillAFreshness: A★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 12, 2026 (1 month ago)
- Last release
- Oct 2, 2026 (27 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/poorvith-mp/skills-gamedev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from poorvith-mp
- 0.495score
anti-cheat
poorvith-mp
Enforce server authority and defend against speed hacks, memory editing, and exploits.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
blender-animation
poorvith-mp
Rig, skin and animate characters and props, and export clean animation sets to an engine.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
blender-modeling
poorvith-mp
Model, retopologise, UV unwrap and bake game-ready assets with correct scale, pivots and polycount.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-ai
poorvith-mp
Design NPC behaviour: behaviour trees, state machines, pathfinding, perception and difficulty tuning.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-audio
poorvith-mp
Integrate FMOD and Wwise, build adaptive music systems, spatial audio and audio performance budgets.
SkillAFreshness: A★ 5Claude Code +9 - 0.495score
game-build-pipeline
poorvith-mp
Automate platform builds, asset cooking, console certification prep, and Steam or itch.io depot publishing.
SkillAFreshness: A★ 5Claude Code +9
Cite this page
blender-tooling skill. Agent Mart. https://agentmart.dev/skills/poorvith-mp-blender-tooling (last updated 2026-10-24)