blender-arwaky
Skill0 starsChanged 26 days agoMITView on GitHub
Blender asset search, scene build and render. Use when scripting Blender, placing GLB, rendering.
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 255
Fix: Ensure Blender is running, addon enabled, server shows "Running on port 9876".
- Very specific: line 267
Fix: Run health_check to verify.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
BlenderArwaky — Skill Guide
Reference for AI agents using BlenderArwaky. Use the MCP help tool or blender-arwaky help to read usage guidance.
Sections: tools, commands (all actions with CLI↔MCP mapping), workflows, addon, troubleshooting.
Architecture: CLI accesses every action as a direct sub-command. MCP routes all actions through a single execute_command(action=..., args=...) tool — the action parameter selects the feature (scene, object, viewport, render, io, job, config, code).
Section: tools
5 MCP tools available:
| Tool | Purpose |
execute_command | Universal action executor — dispatches any action from the catalog |
list_commands | Discover available actions and parameters |
health_check | Verify Blender connectivity and system health |
get_config | Retrieve BlenderArwaky configuration settings |
help | Read embedded MCP and CLI usage guidance |
execute_command
{
"action": "action_name",
"args": {"param": "value"}
}
```text
### `list_commands`
```json
{"domain": "scene"} // or "object", "viewport", "render", "io", "infrastructure", "all"
```text
---
## Section: commands
### CLI
Setiap aksi punya sub-command sendiri dengan argument khusus:
**Workspace Setup & Lifecycle**
```text
blender-arwaky init [--dir <path>] [--force]
blender-arwaky launch --filepath <path> [--mode gui|headless] [--port <port>]
blender-arwaky close --filepath <path> [--force]
blender-arwaky status
blender-arwaky launch-blender --filepath <path> [--mode interface|headless] [--port <port>]
blender-arwaky shutdown-blender [--force]
blender-arwaky get-runtime-status
blender-arwaky register-executable [--path <path>]
```text
**Scene**
```text
blender-arwaky get-scene-info
blender-arwaky cleanup-scene --mode all|objects|meshes
blender-arwaky setup-environment --hdri-id <id> [--strength <float>]
```text
**Object**
```text
blender-arwaky get-object-info --object-name <object_name>
blender-arwaky create-primitive --primitive-type SPHERE|CUBE|CYLINDER|PLANE|CONE|TORUS [--location X Y Z] [--scale X Y Z] [--name <name>]
blender-arwaky set-object-transform --object-name <object_name> [--location X Y Z] [--rotation X Y Z] [--scale X Y Z]
blender-arwaky delete-object --object-name <object_name>
blender-arwaky set-material --name <object_name> --material <material_name>
blender-arwaky apply-modifier --name <object_name> --modifier <modifier_name>
```text
**Viewport & Render**
```text
blender-arwaky get-viewport-screenshot --output <path> [--max-size <px>] [--view-angle PERSPECTIVE|TOP|FRONT|SIDE] [--shading-mode WIREFRAME|SOLID|MATERIAL|RENDERED] [--show-overlays]
blender-arwaky render --output <path> [--resolution-x <px>] [--resolution-y <px>]
```text
**Import / Export / Asset**
```text
blender-arwaky import-glb --file-path <path> [--object-name <object_name>]
blender-arwaky export-model --object-name <object_name> --file-path <path> [--export-format glb|fbx|obj]
blender-arwaky place-asset --asset-id <id> [--location x,y,z] [--rotation x,y,z] [--scale x,y,z]
```text
**Job**
```text
blender-arwaky get-task-status --task-id <id>
blender-arwaky cancel-task --task-id <id>
```text
**Config**
```text
blender-arwaky get-config [--key <key>]
blender-arwaky set-config --key <key> --value <value>
```text
**Code Execution**
```text
blender-arwaky execute-blender-code --code '<python code>'
```text
### MCP
CLI memakai command kebab-case satu-per-tool; MCP memakai `execute_command(action="<action_name>", args={...})` dengan action snake_case. Keduanya dipetakan dari catalog yang sama.
### Parameter Details
| Action | Parameters | Description |
|--------|------------|-------------|
| `get_scene_info` | (none) | Full scene metadata |
| `cleanup_scene` | `mode`: "all" \| "objects" \| "meshes" | Remove objects |
| `setup_environment` | `hdri_id`, `strength` | Setup HDRI lighting |
| `get_object_info` | `object_name` | Object details |
| `create_primitive` | `primitive_type`, `location`, `scale`, `name` | Create primitive |
| `set_object_transform` | `object_name`, `location`, `rotation`, `scale` | Update transform |
| `delete_object` | `object_name` | Remove object |
| `set_material` | `object_name`, `material_name` | Assign material |
| `apply_modifier` | `object_name`, `modifier_name` | Apply modifier |
| `place_asset` | `asset_id`, `location`, `rotation`, `scale` | Position asset |
| `get_viewport_screenshot` | [screenshot params](#screenshot-parameters) | AI-optimized screenshot |
| `render` | `output_path`, `resolution_x`, `resolution_y` | Full frame render |
| `import_glb` | `file_path`, `object_name` | Import GLB/GLTF |
| `export_model` | `object_name`, `file_path`, `export_format` | Export model |
| `launch_blender` | `mode` ("interface" \| "headless") | Start Blender with integration active |
| `shutdown_blender` | `force` (bool, optional) | Graceful shutdown with force fallback |
| `get_runtime_status` | (none) | Verify true process liveness and readiness |
| `register_executable` | `path` (optional) | Locate and register Blender executable |
| `get_task_status` | `task_id` | Query render/compute task progress |
| `cancel_task` | `task_id` | Cancel running task |
| `get_config` | `key` (optional) | Get config value or all settings |
| `set_config` | `key`, `value` | Update config setting |
| `execute_blender_code` | `code` | Run Python in Blender |
Shared identifier: CLI kebab-case command maps to MCP snake_case action.
### Screenshot Parameters
| Parameter | Type | Default | Options |
|-----------|------|---------|---------|
| `max_size` | int | 800 | Max dimension in pixels |
| `view_angle` | string | `PERSPECTIVE` | `PERSPECTIVE`, `TOP`, `FRONT`, `SIDE` |
| `shading` | string | `MATERIAL` | `WIREFRAME`, `SOLID`, `MATERIAL`, `RENDERED` |
| `show_overlays` | bool | `true` | Toggle grid, axes, origins |
| `focus_object` | string | null | Object name to frame |
---
## Section: workflows
MCP workflows use `execute_command(action=..., args=...)`; CLI workflows use `blender-arwaky <action-name> [flags]`.
### Scene Discovery
```python
execute_command(action="get_scene_info")
```text
### Create and Position Object
```python
execute_command(action="create_primitive", args={"primitive_type": "SPHERE", "location": [0, 0, 0]})
execute_command(action="set_object_transform", args={"object_name": "Sphere", "location": [2, 0, 1]})
```text
### AI-Optimized Viewport Analysis
```python
execute_command(action="get_viewport_screenshot", args={"view_angle": "TOP", "shading": "WIREFRAME", "focus_object": "Table"})
execute_command(action="get_viewport_screenshot", args={"view_angle": "FRONT", "shading": "MATERIAL"})
```text
### Import and Place Asset
```python
execute_command(action="import_glb", args={"file_path": "/path/to/model.glb"})
execute_command(action="place_asset", args={"asset_id": "model", "location": [0, 0, 0]})
```text
### Submit Render and Check Status
```python
execute_command(action="render", args={"output_path": "/tmp/frame.png", "resolution_x": 1920, "resolution_y": 1080})
execute_command(action="get_task_status", args={"task_id": "<returned_task_id>"})
```text
### Custom Blender Code
```python
execute_command(action="execute_blender_code", args={"code": "import bpy; bpy.ops.mesh.primitive_monkey_add()"})
```text
---
## Section: addon
### Blender Addon Architecture
| File | Purpose |
|------|---------|
| `__init__.py` | Registration, auto-start timer |
| `server.py` | TCP server (port 9876) |
| `operators.py` | Start/stop operators |
| `properties.py` | Scene properties, API keys |
| `ui.py` | Sidebar panel UI |
| `utils.py` | Screenshot, GLB import helpers |
| `polyhaven.py` | Poly Haven integration |
| `sketchfab.py` | Sketchfab integration |
**Key points:**
- Auto-starts on Blender load (30 retries × 2s)
- TCP server on port 9876
- Headless mode requires active camera for screenshots
---
## Section: troubleshooting
### Blender connection refused
**Fix:** Ensure Blender is running, addon enabled, server shows "Running on port 9876".
### No active camera for screenshot
**Fix:** In headless mode, set an active camera before taking screenshots. GUI mode uses viewport view.
### MCP server won't start
**Fix:** Circular import — import from source files, not barrel (`__init__.py`).
### Tools not showing up
**Fix:** Run `health_check` to verify. All 5 tools listed in [tools](#section-tools) should appear.In this repository172 other files it gives its agents.
- AGENTS.mdAGENTS.md
- aes-agentSkill
- aes-capabilitiesSkill
- aes-contractSkill
- aes-docsSkill
- aes-lint-arwakySkill
- aes-migrationSkill
- aes-rootSkill
- aes-surfaceSkill
- aes-taxonomySkill
- aes-testing-suiteSkill
- aes-utilitySkill
- build-with-aiSkill
- omni-model-inventorySkill
- omnirouteSkill
- xai-apiSkill
- android-emulator-linux-gpsSkill
- chromium-profile-provisioningSkill
- computer-useSkill
- flatpak-chromium-automationSkill
- qwen-web-arwaky-devSkill
- qwen-webSkill
- cleanup-consolidateSkill
- codacy-analysis-cliSkill
- codacy-cloud-cliSkill
- codacy-code-reviewSkill
- codebase-inspectionSkill
- coderabbit-reviewSkill
- code-reviewSkill
- configure-codacy-cloudSkill
- configure-codacySkill
- fix-bypassSkill
- fix-markdown-inline-htmlSkill
- fixture-dir-pruningSkill
- harness-source-auditSkill
- no-mistakesSkill
- report-linter-false-positiveSkill
- reviewSkill
- setup-coverageSkill
- strict-code-quality-reviewSkill
- architecture-diagramSkill
- ascii-artSkill
- ascii-videoSkill
- baoyu-infographicSkill
- claude-designSkill
- comfyuiSkill
- design-mdSkill
- excalidrawSkill
- game-assetsSkill
- gif-searchSkill
- imagineSkill
- manim-videoSkill
- p5jsSkill
- popular-web-designsSkill
- pretextSkill
- psd-overlay-verificationSkill
- psd-timelapse-workflowSkill
- sketchSkill
- songseeSkill
- songwriting-and-ai-musicSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

