blender-toolkit
Automates 3D modeling and animation workflows in Blender using CLI-based controls.
Install
mkdir -p .claude/skills/blender-toolkit && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/107" && unzip -o skill.zip -d .claude/skills/blender-toolkit && rm skill.zipInstalls to .claude/skills/blender-toolkit
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.
Automate Blender tasks like creating 3D shapes, managing materials, and retargeting Mixamo animations with real-time control.Key capabilities
- →Create 3D primitives like cubes, spheres, and cylinders
- →Manage materials and PBR properties
- →Apply modifiers such as subdivision and mirror
- →Retarget Mixamo animations to custom rigs
- →Execute batch operations via WebSocket-based control
How it works
It uses a WebSocket-based JSON-RPC protocol to send commands from a TypeScript client to a Python addon running inside Blender.
Inputs & outputs
When to use blender-toolkit
- →Creating 3D objects automatically
- →Retargeting Mixamo animations to rigs
- →Batching material modifications
- →Executing Blender script automations
About this skill
⚠️ Installation Check (READ THIS FIRST)
IMPORTANT: Before using this skill, check Blender addon installation status.
Config location: Check the shared config file for your installation status:
~/.claude/plugins/marketplaces/dev-gom-plugins/blender-config.json
Always run scripts with --help first to see usage. DO NOT read the source until you try running the script first and find that a customized solution is abslutely necessary. These scripts can be very large and thus pollute your context window. They exist to be called directly as black-box scripts rather than ingested into your context window.
Required actions based on config:
1. If Blender Not Detected (blenderExecutable: null)
Blender was not found during initialization. Please:
- Install Blender 4.0+ from https://www.blender.org
- Restart Claude Code session to trigger auto-detection
- Check logs:
.blender-toolkit/init-log.txt
2. If Multiple Versions Detected (detectedBlenderVersions array)
The system detected multiple Blender installations. If you want to use a different version:
- Open config file (path shown above)
- Edit
blenderExecutablefield to your preferred version path - Restart Claude Code session
Example:
{
"detectedBlenderVersions": [
{"version": "4.2.0", "path": "C:\\Program Files\\Blender Foundation\\Blender 4.2\\blender.exe"},
{"version": "4.1.0", "path": "C:\\Program Files\\Blender Foundation\\Blender 4.1\\blender.exe"}
],
"blenderExecutable": "C:\\Program Files\\Blender Foundation\\Blender 4.2\\blender.exe"
}
3. If Addon Not Installed (addonInstalled: false)
The addon needs to be installed manually. Follow these steps:
Manual Installation Steps:
Method 1: Install from ZIP (Recommended)
# 1. Open Blender 4.0+
# 2. Edit > Preferences > Add-ons > Install
# 3. Select: .blender-toolkit/blender-toolkit-addon-v*.zip
# 4. Enable "Blender Toolkit WebSocket Server"
Method 2: Install from Source
# 1. Open Blender 4.0+
# 2. Edit > Preferences > Add-ons > Install
# 3. Select: plugins/blender-toolkit/skills/addon/__init__.py
# 4. Enable "Blender Toolkit WebSocket Server"
Start WebSocket Server:
- Open 3D View → Sidebar (press N key)
- Find "Blender Toolkit" tab
- Click "Start Server" button
- Default port: 9400 (auto-assigned per project)
Update Config:
- Open config file (path shown above)
- Set
"addonInstalled": true - Save file
Verify Connection:
- Try a simple command:
node .blender-toolkit/bt.js list-objects - If successful, you'll see a list of objects in your scene
Troubleshooting:
- If Blender path is incorrect: Update
blenderExecutablein config - If port is in use: System will auto-assign next available port (9401-9500)
- Check logs:
.blender-toolkit/init-log.txt - Check Blender console for error messages
4. If Everything is Ready (addonInstalled: true)
✅ You're all set! You can use all Blender Toolkit commands.
blender-toolkit
Automate Blender workflows with WebSocket-based real-time control. Create geometry, manage materials and modifiers, and retarget Mixamo animations to custom rigs with intelligent bone mapping.
Purpose
Provide comprehensive Blender automation through:
- 🎨 Geometry Creation - Primitives (cube, sphere, cylinder, plane, cone, torus)
- 🎭 Material Management - Create, assign, and configure materials
- 🔧 Modifier Control - Add, apply, and manage modifiers
- 🎬 Animation Retargeting - Mixamo to custom rigs with automatic bone mapping
When to Use
Use this skill when:
- Creating 3D Geometry: User wants to create primitives or manipulate meshes
- Managing Materials: User needs to create or assign materials with PBR properties
- Adding Modifiers: User wants subdivision, mirror, array, or other modifiers
- Retargeting Animations: User needs to apply Mixamo animations to custom characters
- Batch Operations: User wants to process multiple objects or animations
Note: Mixamo does not provide an official API. Users must manually download FBX files from Mixamo.com.
Quick Start
Prerequisites Checklist
Before starting, ensure:
- Blender 4.0+ installed
- Blender Toolkit addon installed and enabled
- WebSocket server started in Blender (default port: 9400)
- Character rig loaded (for animation retargeting)
Install Addon:
1. Open Blender → Edit → Preferences → Add-ons
2. Click "Install" → Select plugins/blender-toolkit/skills/addon/__init__.py
3. Enable "Blender Toolkit WebSocket Server"
4. Start server: View3D → Sidebar (N) → "Blender Toolkit" → "Start Server"
Common Operations
Create Geometry:
# Create cube at origin
blender-toolkit create-cube --size 2.0
# Create sphere with custom settings
blender-toolkit create-sphere --radius 1.5 --segments 64
# Subdivide mesh
blender-toolkit subdivide --name "Cube" --cuts 2
Manage Objects:
# List all objects
blender-toolkit list-objects
# Transform object
blender-toolkit transform --name "Cube" --loc-x 5 --loc-y 0 --scale-x 2
# Duplicate object
blender-toolkit duplicate --name "Cube" --new-name "Cube.001" --x 3
Materials:
# Create material
blender-toolkit material create --name "RedMaterial"
# Assign to object
blender-toolkit material assign --object "Cube" --material "RedMaterial"
# Set color
blender-toolkit material set-color --material "RedMaterial" --r 1.0 --g 0.0 --b 0.0
Retarget Animation:
# Basic retargeting with UI confirmation
blender-toolkit retarget \
--target "HeroRig" \
--file "./Walking.fbx" \
--name "Walking"
# Rigify preset (skip confirmation)
blender-toolkit retarget \
--target "MyRigifyCharacter" \
--file "./Walking.fbx" \
--mapping mixamo_to_rigify \
--skip-confirmation
# Show Mixamo download instructions
blender-toolkit mixamo-help Walking
Architecture
WebSocket-Based Design:
┌──────────────┐ ┌─────────────┐ WebSocket ┌──────────────┐
│ Claude Code │ IPC │ TypeScript │◄──────────────►│ Blender │
│ (Skill) │────────►│ Client │ Port 9400+ │ (Addon) │
└──────────────┘ └─────────────┘ └──────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌────────────────────┐
│ - Geometry │ │ - WebSocket │
│ - Material │ │ Server │
│ - Modifier │ │ - Command │
│ - Retargeting │ │ Handlers │
│ - Bone Mapping │ │ - Bone Mapping UI │
└─────────────────┘ └────────────────────┘
Key Components:
- WebSocket Server: Python addon in Blender (ports 9400-9500)
- TypeScript Client: Sends commands via JSON-RPC
- Bone Mapping System: Fuzzy matching with UI confirmation
- Two-Phase Workflow: Generate → Review → Apply
Core Workflows
1. Geometry Creation Workflow
Extract Requirements:
- Primitive type (cube, sphere, cylinder, etc.)
- Position (x, y, z coordinates)
- Size parameters (radius, depth, segments)
- Optional object name
Execute:
import { BlenderClient } from 'blender-toolkit';
const client = new BlenderClient();
await client.connect(9400);
// Create sphere
const result = await client.sendCommand('Geometry.createSphere', {
location: [0, 0, 2],
radius: 1.5,
segments: 64,
name: 'MySphere'
});
console.log(`✅ Created ${result.name} with ${result.vertices} vertices`);
2. Material Assignment Workflow
Steps:
- Create material
- Assign to object
- Configure properties (color, metallic, roughness)
Execute:
# Create and configure material
blender-toolkit material create --name "Metal"
blender-toolkit material set-color --material "Metal" --r 0.8 --g 0.8 --b 0.8
blender-toolkit material set-metallic --material "Metal" --value 1.0
blender-toolkit material set-roughness --material "Metal" --value 0.2
# Assign to object
blender-toolkit material assign --object "Sphere" --material "Metal"
3. Animation Retargeting Workflow ⭐
Most Common Use Case
Phase 1: Setup & Generate Mapping
1. User provides:
- Target character armature name
- Animation FBX file path
- (Optional) Animation name for NLA track
2. System executes:
- Connects to Blender WebSocket
- Imports FBX file
- Analyzes bone structure
- Auto-generates bone mapping (fuzzy matching)
- Displays mapping in Blender UI for review
3. Quality Assessment:
- Excellent (8-9 critical bones) → Safe to auto-apply
- Good (6-7 critical bones) → Quick review recommended
- Fair (4-5 critical bones) → Thorough review required
- Poor (< 4 critical bones) → Manual mapping needed
Phase 2: User Confirmation
1. User reviews mapping in Blender:
- View3D → Sidebar (N) → "Blender Toolkit" → "Bone Mapping Review"
- Check source → target correspondence
- Edit incorrect mappings using dropdowns
- Use "Auto Re-map" button to regenerate if needed
2. User confirms:
- Click "Apply Retargeting" button in Blender
3. System completes:
- Creates constraint-based retargeting
- Bakes animation to keyframes
- Adds to NLA track
- Cleans up temporary objects
Example:
import { AnimationRetargetingWorkflow } from 'blender-toolkit';
const workflow = new AnimationRetargetingWorkflow();
// If user doesn't have FBX yet
console.log(workflow.getManualDownloadInstructions('Walking'));
// After user downloads FBX
await workflow.run({
targetCharacterArmature: 'HeroRig',
animationFilePath: './Walking.fbx',
animationName: 'Walking',
boneMapping: 'auto',
---
*Content truncated.*
When not to use it
- →Manual sculpting or complex artistic modeling
- →Environments where WebSocket communication is blocked
Prerequisites
Limitations
- →Mixamo animations require manual FBX download
- →Bone mapping quality depends on rig hierarchy and similarity thresholds
How it compares
It automates repetitive tasks like bone mapping and primitive creation through code rather than manual UI interaction.
Compared to similar skills
blender-toolkit side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| blender-toolkit (this skill) | 175 | 9mo | Review | Intermediate |
| scroll-experience | 101 | 6mo | No flags | Intermediate |
| gemini-logo-remover | 9 | 8mo | Review | Beginner |
| game-art | 23 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Dev-GOM
View all by Dev-GOM →You might also like
scroll-experience
davila7
Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences. Like NY Times interactives, Apple product pages, and award-winning web experiences. Makes websites feel like experiences, not just pages. Use when: scroll animation, parallax, scroll storytelling, interactive story, cinematic website.
gemini-logo-remover
bear2u
Remove Gemini logos, watermarks, or AI-generated image markers using OpenCV inpainting. Use this skill when the user asks to remove Gemini logo, AI watermark, or any logo/watermark from images.
game-art
davila7
Game art principles. Visual style selection, asset pipeline, animation workflow.
slack-gif-creator
anthropics
Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack."
motion-graphics
rohitg00
Kinetic typography, logo animations, and stylized motion design skill. **Triggers when:** - User wants text animations or kinetic typography - Request involves logo reveals or title sequences - Content focuses on visual impact over education - User mentions "title", "intro", "logo", "text animation", "kinetic" **Capabilities:** - Kinetic typography with dynamic text effects - Logo reveals and brand animations - Particle effects and visual flourishes - Modern motion design patterns - Attention-grabbing title sequences
interaction-design
wshobson
Design and implement microinteractions, motion design, transitions, and user feedback patterns. Use when adding polish to UI interactions, implementing loading states, or creating delightful user experiences.