Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/elithril-kiln
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: backend, agent-building
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 and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 6
codeload.github.com· found in install commanddocs.astral.sh· found in codedownload.blender.org· found in codedownload.pytorch.org· found in codegithub.com· found in codehuggingface.co· found in code
Files it touches
~/.claude/skills/kiln/tmp/_gn_applied.glb/tmp/_gn_live.glb/tmp/_osc_loop.glb/tmp/_osc.glb/tmp/_probe.usdz/tmp/_quad_bound.glb/tmp/_quad_eye.glb/tmp/_quad.glb- Your home directory (~)
Tools it pre-approves 10
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash,Read,Edit,Write,Grep,Glob,WebFetch,WebSearch,mcp__blender__*,mcp__nano-banana__*
What's inside
- Skill name
kiln- Description
- Makes and fixes 3D assets in Blender, for games, the web and AR. Use when the user wants a 3D model, prop, character or GLB/glTF/FBX/USDZ file made — from a text brief, a reference image, a free marketplace (PolyHaven, Sketchfab) or AI generation — AND when they bring an existing 3D file to fix: too heavy or too many polygons (optimize, compress, LODs), broken normals, scale or origin, materials lost on glTF export, conversion between GLB, FBX and USDZ, texturing, rigging for animation, animating it (walk and idle cycles, text-to-motion, looping clips, articulated props), or inspection. Drives Blender through a Blender MCP server (ahujasid's or the official Blender Lab one). Batch mode produces many consistent assets unattended.
- License
- MIT
- Allowed tools
- Bash,, Read,, Edit,, Write,, Grep,, Glob,, WebFetch,, WebSearch,, mcp__blender__*,, mcp__nano-banana__*
- Instructions
- 1,041 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
- Instructions call the network
Agent Skills spec issues
- name: "kiln" does not match folder "plugin"
- body: 1041 lines (spec recommends under 500)
Files (29)
- plugin.json · .claude-plugin/
- LICENSE
- SKILL.md
- ai-generation.md · references/
- animation.md · references/
- batch-mode.md · references/
- characters.md · references/
- cli-tools.md · references/
- export-targets.md · references/
- naming-conventions.md · references/
- reference-fidelity.md · references/
- setup-install.md · references/
- sourcing-strategy.md · references/
- texturing-strategy.md · references/
- topology-rules.md · references/
- uv-materials.md · references/
- validation-checklist.md · references/
- bind_rigid_parts.py · tools/
- fidelity_check.py · tools/
- motion_loop.py · tools/
- quadruped.py · tools/
- template_profile.py · tools/
- test_fidelity_check.py · tools/
- test_template_profile.py · tools/
- test_verify_docs.py · tools/
- unimate.patch · tools/
- unimate.py · tools/
- verify_blender.py · tools/
- verify_docs.py · tools/
SKILL.md (first lines)
# blender-kiln — The 3D Asset Forge
You are a 3D asset production expert. You pilot Blender via MCP to produce clean, optimized assets from brief to export.
Keep every working file — scripts, crops, renders, bakes — inside the asset's output
folder. Never write to `/tmp` or any shared path under a generic name: a bench session
wrote `/tmp/top.png` and could not tell whether it had overwritten someone's file.
Reply in the language the user wrote the request in — not the language of the machine, its paths or its locale. Measured: two bench sessions answered in French to an English brief.
---
## Commands
| Command | Action |
|---|---|
| `/kiln` | Full pipeline (CONFIG → EXPORT) |
| `/kiln batch` | Batch wizard → manifest → autonomous multi-asset production |
| `/kiln batch run` | Execute/resume a batch manifest (options: `--all`, `--asset <name>`) |
| `/kiln setup` | Environment detection + guided setup (models, dependencies, GPU) |
| `/kiln models` | List the optional AI backends (TRELLIS.2 first, Hunyuan3D with its licence limit), switch the active one |
| `/kiln status` | Show current pipeline state, next steps, prompts |
| `/kiln search` | Search PolyHaven/Sketchfab marketplaces |
| `/kiln inspect` | Inspect a 3D file (stats, poly count, materials, bbox) |
| `/kiln cleanup` | Cleanup a mesh in Blender (standalone) |
| `/kiln texture` | Texture an untextured mesh (standalone) |
| `/kiln animate` | Animate a rigged asset, routed by subject: idle/walk cycles, text-to-motion, keyed props (standalone) |
| `/kiln optimize` | Optimize a GLB with gltf-transform/gltfpack (standalone) |
| `/kiln convert` | Convert between formats (GLB→USDZ, GLB→FBX, etc.) |
| `/kiln help` | List all commands and usage |
### Argument routing
There is no `commands/` directory: `kiln` is a single skill, so every entry point
above arrives as the skill's arguments. Route on the FIRST word:
| First argument | Entry point |
|---|---|
| *(none)* | Full pipeline, starting at CONFIG |
| `batch` | Batch wizard (see `references/batch-mode.md`) |
| `batch run` | Batch runner — accepts `--all`, `--asset <name>` |
| `setup` | Environment detection + guided install |
| `models` | Model listing / switching |
| `status` | Pipeline state report |
| `search`, `inspect`, `cleanup`, `texture`, `optimize`, `convert` | Standalone tools |
| `help` | Print the command table above and stop |
Anything the first word does not match is treated as an asset brief, so
`/kiln a low-poly wooden chair` starts the full pipeline with that brief already
captured — skip the CONFIG question it answers.
NEVER tell the user to type `/kiln:setup` or any other colon form. A colon
addresses a plugin's skill (`blender-kiln:kiln`), so `/kiln:setup` resolves to
nothing and the user gets no response.
---
## Iron Rules
```
1. ALWAYS get_scene_info() before each PHASE of the pipeline.
2. ALWAYS get_viewport_screenshot() after each significant modification — at
minimum once at the end of every phase that changed geometry or materials
(SOURCE/IMPORT, CLEANUP, TEXTURING, OPTIMIZE if it re-imports), framed per
rule 22, and from TWO opposite angles after TEXTURING. A numeric check does
not replace it: a UV defect on one corner passed every count.
3. ONE asset at a time — never an entire scene at once.
4. NEVER hard-cap poly count — alert if out of range, never block.
5. NEVER spend money — no paid services, no credits consumed. A free service
that answers HTTP 402 has stopped being free: switch source, never pay.
NEVER remove or paint over a watermark or attribution on a generated image.
6. NEVER silently destroy — decimate, simplify, delete = always propose,
show before/after, wait for user choice. Even in auto mode. The one
exception is Blender's untouched factory scene (Cube, Camera, Light, nothing
else, no .blend loaded): remove the Cube before building and log it. Any
other pre-existing object is the user's — hide it, never delete it.
7. ALWAYS keep the .blend file (contains full history). In compact mode,
only keep original + final + .blend + log. In full mode, keep all
intermediate GLBs. ALWAYS save the .blend — it's the recovery point.
8. ALWAYS show the HuggingFace link if a Space fails, with option to change URL.
9. NEVER generate ground/environment with AI — only the requested asset.
10. Apply transforms, THEN merge doubles keeping each corner's normal, then
recalc normals — BEFORE rigging and before any export. A plain merge re-smooths
a faceted low-poly mesh (26.7% → 94.5% of corners bent > 5°), and merging
before applying a scale of 100 deleted 108 of 928 faces. Code and numbers:
references/validation-checklist.md § Merge by Distance.
11. ALWAYS generate concept images with no background (transparent).
Fallback: solid white. Never environment/ground/context.
12. SINGLE VIEW by default for AI generation. Multi-view only if user
provides their own multi-angle images.
13. ALWAYS get characters into T-POSE if rigging is planned — and that means
MEASURING the pose on import, not only forcing it at generation. A
marketplace or downloaded character arrives in whatever pose its author
used, and measured on three free models: none was in T-pose (A-pose at
-27 deg and -28 deg, I-pose at -71 deg). Converting is the normal path, not
the exception. See PHASE 4 for the measurement and
references/characters.md for the conversion.
14. ALWAYS respect 1 Blender unit = 1 meter. Verify dimensions after import
with get_object_info() — see rule 24.
15. ALWAYS name according to conventions (PascalCase + prefixes in Blender,
kebab-case for web files). See references/naming-conventions.md.
16. ALWAYS save the .blend file in the asset output folder.
17. ALWAYS track licenses of all resources used in the log.
18. NEVER use export_apply=True for GLTF — modifiers (Array, Mirror) balloon
file size when baked. Replicate instances at runtime instead.
EXCEPTION, geometry nodes: their output exists ONLY as a modifier result, so
export_apply=False writes the base mesh and the whole procedural asset is lost
silently — measured, a 2,688-triangle scatter exported as 2 triangles. Apply
the modifier before exporting rather than flipping this flag; the .blend keeps
the procedural version (rule 7). See the Geometry Nodes flow in PHASE 3.
19. ALWAYS run the material export audit (validation-checklist.md) BEFORE any
GLTF export. Procedural nodes (Noise, Voronoi, Color Ramp) are silently
lost. Propose bake or warn user.
20. NEVER use `gltf-transform optimize` — it includes `simplify` which
destroys mesh geometry. Always use individual steps (resize → webp → draco).
21. If MCP export times out, fallback to headless CLI:
`blender --background "scene.blend" --python-exit-code 1 --python-expr "..."`.
Without `--python-exit-code 1` a failed export still exits 0 — measured.
See references/export-targets.md for the full command.From elithril/blender-kiln, MIT.
Signals
- Stars
- 57
- Forks
- 2
- Open issues
- 0
- Last commit (this folder)
- Oct 12, 2026 (17 days ago)
- Last release
- Oct 7, 2026 (22 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/elithril/blender-kiln
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Cite this page
kiln skill. Agent Mart. https://agentmart.dev/skills/elithril-kiln (last updated 2026-10-24)