Blockbench Plugins
jasonjgardner/blockbench-mcp-plugin
Blockbench plugin/extension development for the 3D modeling tool.
Create a procedural 3D asset with Kiln JavaScript, review useful camera views, refine saved source, and export a GLB.
$ npx skills add instruktlabs/kiln --skill kiln-author-asset -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install instruktlabs/kiln kiln-author-asset --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/instruktlabs/kiln.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kiln-author-asset .claude/skills/kiln-author-asset && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "kiln-author-asset" agent skill from https://github.com/instruktlabs/kiln/tree/main/skills/kiln-author-asset into .claude/skills/kiln-author-asset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kiln-author-asset", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/instruktlabs/kiln/tree/main/skills/kiln-author-assetType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add instruktlabs/kiln --skill kiln-author-asset -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install instruktlabs/kiln kiln-author-asset --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/instruktlabs/kiln.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/kiln-author-asset .agents/skills/kiln-author-asset && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kiln-author-asset" agent skill from https://github.com/instruktlabs/kiln/tree/main/skills/kiln-author-asset into .agents/skills/kiln-author-asset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kiln-author-asset", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add instruktlabs/kiln --skill kiln-author-asset -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install instruktlabs/kiln kiln-author-asset --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/instruktlabs/kiln.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/kiln-author-asset .cursor/skills/kiln-author-asset && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "kiln-author-asset" agent skill from https://github.com/instruktlabs/kiln/tree/main/skills/kiln-author-asset into .cursor/skills/kiln-author-asset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kiln-author-asset", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/instruktlabs/kiln.git --path skills/kiln-author-asset--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add instruktlabs/kiln --skill kiln-author-asset -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install instruktlabs/kiln kiln-author-asset --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/instruktlabs/kiln.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/kiln-author-asset .gemini/skills/kiln-author-asset && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "kiln-author-asset" agent skill from https://github.com/instruktlabs/kiln/tree/main/skills/kiln-author-asset into .gemini/skills/kiln-author-asset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kiln-author-asset", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install instruktlabs/kiln kiln-author-assetInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add instruktlabs/kiln --skill kiln-author-asset -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/instruktlabs/kiln.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/kiln-author-asset .github/skills/kiln-author-asset && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "kiln-author-asset" agent skill from https://github.com/instruktlabs/kiln/tree/main/skills/kiln-author-asset into .github/skills/kiln-author-asset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kiln-author-asset", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add instruktlabs/kiln --skill kiln-author-asset -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install instruktlabs/kiln kiln-author-asset --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/instruktlabs/kiln.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/kiln-author-asset .opencode/skills/kiln-author-asset && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "kiln-author-asset" agent skill from https://github.com/instruktlabs/kiln/tree/main/skills/kiln-author-asset into .opencode/skills/kiln-author-asset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kiln-author-asset", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
kiln-author-assetCreate a procedural 3D asset with Kiln JavaScript, review useful camera views, refine saved source, and export a GLB.
Kiln Author Asset is an agent skill from instruktlabs/kiln. Create a procedural 3D asset with Kiln JavaScript, review useful camera views, refine saved source, and export a GLB.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `references/camera-cli.md`, `references/camera-recipes.md` and `references/export-profiles.md`).
It sits in Game Development, covering Game assets and audio. It works with JavaScript and Model Context Protocol. The repository describes itself as: Build and revise procedural 3D assets with your coding agent. Local MCP server, CLI and TypeScript engine with rendered review, editable source and GLB export. The licence is MIT.
Read from SKILL.md and the folder at commit 9e6dfe0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Kiln Author Asset loads about 4k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 34 tokens; SKILL.md has 2,196 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from instruktlabs/kiln at commit 9e6dfe0, republished under its MIT licence (© instruktlabs). 2,196 words, ~3,996 tokens.
.claude/skills/kiln-author-asset/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Match the user's scope. A standalone asset needs no project, inventory or design profile. Omitted project selection stays standalone unless KILN_PROJECT was explicitly configured (kiln_discover capabilities shows it); CLI --no-project or MCP projectId: null overrides that default. For project configuration or library materials, including standalone material use, read the project and material workflow, and use the same exact pins on later render, edit, inspect and save calls: a programRef alone selects no project and reconstructs no material context. Project preferences do not establish trusted requirements.
Live Review observes standalone and project operations without controlling the agent. When kiln_review is available, its save action retains the exact completed operation using the displayed expectedRevision, without another evaluation; pinning does not pause execution, and review annotations are not QA acceptance. Consult the tools' current schemas; optional host capabilities must not be assumed present.
Read the program contract when writing source. kiln_discover({}) gives a compact orientation: current families and tags, the starting createRoot/createPart signatures and six entry summaries. Search with kiln_discover({ query }) in ordinary modeling language (curved hollow tube, slats along a line, braced legs, cast iron): the catalog indexes operations, assemblies, recipes and materials rather than object classes, so name the parts and materials. Fetch complete contracts and examples with { ids: ["loftProfiles", "createPart", "createClip"] }, up to six exact, case-sensitive IDs or executable names; copy recipe IDs from results (recipe:material-wood-v1 or material-wood-v1), and a material recipe's summary names the materialRecipe("kiln.material.wood.v1") call to use. Narrow with family, kind: "operation" | "assembly" | "recipe" or tags from the overview, and follow nextOffset with offset. Request { capabilities: true } separately for the runtime, source, export and camera contract. Read the contract before treating a search match as support; a match in explanatory text can concern a limitation. Recipes are optional guidance, and custom geometry remains available.
Establish the subject, scale, style, and destination constraints from the request. Build a recognizable silhouette and meaningful construction details. Name parts by their role. Use metres, +X forward, +Y up, +Z right; ground contact normally sits at Y=0. Forward is the direction the object faces: a bench's sitter faces +X, so its backrest sits toward -X. Part rotation is in degrees and follows the right-hand rule in this frame: [0, 90, 0] turns forward (+X) toward -Z, the object's left; [0, 0, 90] tips +X up to +Y; [90, 0, 0] rolls +Y toward +Z.
Unless exact reconstruction is requested, use reference images to align silhouette, materials and art direction alongside the written brief, not as a requirement to copy every detail. Resolve functional dimensions explicitly. For usable openings, seats and articulated joins, use the interface guidance in geometry recipes.
For Blender, Unity or an FBX handoff, read the engine handoff guide, references/engine-handoff.md in the kiln-qa-asset skill. Prefer direct GLB import; the established exporter remains the default, and the guide explains when an explicitly identified experimental comparison is useful. Preserve the baseline output, report the selected backend and destination checks, and do not change global host settings silently.
Write ordinary JavaScript with meta and build(). Keep dimensions that should change together in named parameters. Use geometry recipes for freeform surfaces, deformations, lofts, Boolean materials, or repeated parts. A model can author its own equations and topology; it does not need to assemble everything from boxes. Build one tier unless the brief asks for level-of-detail tiers; when it does, name and declare them as levels of detail describes.
For connected assemblies, derive mating points from shared dimensions in the same
local frame. Identify the intended neighbor at each end of a support, and separate
those joints from nearby parts that need clearance. beamBetween uses the endpoints
you supply; it does not find the frame (Discovery's joined-frame recipe shows the
pattern). A centerline wheel uses side: 'center'; wheel side describes placement
identity, not single- or double-sided fork design.
Submit code once to kiln_render or kiln_validate, then retain its programRef, including on a failed build; in a generated asset workspace, node kiln.mjs source asset.kiln.js imports a file directly. Copy the returned reference exactly for later views and edits: built-in stores return short handles such as p_7c94a132b8e0, and full SHA-256 references also work. Do not construct a handle or retransmit the program. A rejected build names its cause when Kiln can tell it and adds Source check: with the codes and lines kiln_validate finds (TEMPORAL_DEAD_ZONE, MATERIAL_RECIPE_OVERRIDE, UNSAFE_GLOBAL_ACCESS and others); fix those lines first.
For CLI camera files and PNG export, use camera commands.
For the joints or gaps the brief depends on, use kiln_inspect with
measure: { mode: 'surface', from: { subject: { path: A } }, to: { subject: { path: B } } },
substituting exact returned part paths. Check each end of a support against its
intended neighbor, including the fittings that attach it to the body; a fitting
touching a cable or pin does not establish that the fitting itself is mounted.
Check required gaps separately. Read measurement.status and the closest points
alongside an in-context view. Zero can mean touching or intersecting, and a
whole-assembly minimum may find an unrelated contact; keep unmeasured interfaces
unverified even when structural QA passes. Batch up to 12 intended pairs with
surfacePairs: [[A, B], [C, D]]. Each entry is an exact listParts path such as
/Park%20Bench[0]/Bench[0]/Mesh_Seat[0], or an unambiguous node name as measure takes; createPart("Seat", ...) names its mesh Mesh_Seat. Read every surfaceMeasurements.results entry;
status: partial includes failed or unfinished checks. Set image: false and
omit camera controls for numeric checks after reviewing a relevant image.
Choose views that answer a question: a broad sheet establishes shape; a part-local view reveals a seam, underside or hidden attachment. Use the camera recipes for image count, exact part framing, explicit cameras and separate images. Read returned part paths instead of constructing them. The render response lists the first 24 part paths (every path that fits only with detail: "full") and partsTruncated when there are more; then use kiln_inspect({ programRef, image: false, listParts: { query: "part name" } }), which searches nested names and paths, and follow partListing.nextOffset with the same reference and query. Omit the query to list everything; add placement: true for world position, rotation, scale and bounds per part. A missing preview entry does not mean the part failed to export.
Inspect the actual images. Render on the default neutral grey backdrop first; only when a sheet you have seen shows a part merging with it, add backdrop to capture: light when the merging part is darker than the grey (near-black iron, dark wood), dark when it is lighter (near-white, pale grey, emissive), and read the echoed capture.backdrop. Check silhouette, proportion, orientation, attachment, and ground contact. If the request calls for a finished asset, repair concrete gaps visible at its intended viewing distance rather than stopping at a blockout. Do not repeat the same render without a new question or change.
Do not darken albedo to compensate for review lighting; preserve the intended material colour and check material-faithful GPU views and the destination renderer. Base colour is the factor multiplied by the texture; tinting both can darken the colour twice, so keep one neutral or choose the factor so their product in linear colour space equals the intended albedo.
For specified openings and travel limits, measure usable space including protruding
teeth, fasteners or trim; nominal plate spacing alone does not establish clearance.
For overall dimensions, use the rendered revision's bounds.size in metres,
including projections and attached parts, and state separately when a measurement
describes only a body or centerline. Source parameters are not measured extents.
viewFidelity.materialFaithful: false means geometry evidence, not verified PBR appearance; check the camera and fallback receipts too, and a GPU connection alone is not evidence that the requested view was used. In auto mode the first view that needs PBR shading starts a compatible local render service on demand, so node kiln.mjs service status showing no listener before that view is expected. Animation needs intermediate-pose review and interiors may need cutaway views. Use kiln_screenshot_animation for clip sampling, or in a CLI workspace node kiln.mjs animation RETURNED_REF --clip CLIP_NAME --phases 0,0.017,0.31,0.68,1 --views motion.png --render gpu --json (--render cpu for geometry only) and read the PNG; phases are fractions of clip duration and sample the exported animation without editing posed copies into source. Check poseBounds against requested ground clearance and dimensions at those poses, including tread and other protrusions; choose phases inside a geometric repeat, since quarter turns of 16 repeated lugs all show the same alignment. Sampled bounds do not prove continuous contact or collision safety.
CLI saves accept --model, --harness and --author for the same declared
attribution as MCP. Keep requested and confirmed thinking effort distinct, identify
any later model that refines the asset, and check the saved manifest's attribution
and exact revision rather than the run log. A correction is a new saved child; the
original record and history stay.
Report QA acceptance separately from delivery, including incomplete checks and unverified material appearance. Never use an unrendered edit or a previous image as evidence for the selected revision.
Read the export profile guide when choosing delivery files: the default editable ZIP for continued authoring, or the opt-in runtime GLB and metadata sidecar when its measured size benefit is useful. MCP kiln_export returns resource descriptors to read through the host; node kiln.mjs export ASSET_ID REVISION_ID --format glb --out asset.glb writes the files (--profile runtime for the runtime pair). Report the actual choices and preserve the canonical source; neither option establishes scene performance.
Read a bounded source region with kiln_source({ programRef, query: "dimensionOrPart" }). Copy an exact anchor into kiln_edit, batch related replacements, and continue with its new programRef. Rendering is on by default, and capture can keep the relevant framing. An applied edit can still fail to build, so inspect render.ok separately. The result opens with the new programRef and its parentRef, then ok, applied, what changed and next; its render is compact like kiln_render's and is enough to decide the next edit; ask detail: "full" only as a second look when every instance of a grouped finding matters.
When the collection tools are available, use them for delivery. A finished asset is not delivered until its accepted final reference is saved. The user chooses the destination when they name one; kiln_assets({ action: "collections" }) lists the configured IDs. Use project only as the fallback when the user gave no destination; use library for an explicitly requested cross-workspace library. Then call kiln_save({ programRef, name, collection, brief, description, attribution: { model, harness } }), passing the same backdrop as the sheet you accepted. The saved preview.png is the default six-view sheet drawn on the same route as kiln_render (preview.fidelity says which); capture shots are not saved with it, so keep the capture JSON that reproduces them, and a Live Review save keeps its reviewed capture instead. Record the actual model and harness when known, and omit unknown attribution rather than guessing. Saving returns the asset ID, revision ID and download resources for the exact GLB, source, preview and ZIP bundle; return those links through the host's resource interface and do not transcribe binary data.
After saving, call kiln_present when available with the exact collection, asset ID and revision ID; when the host confirms it rendered the interactive result, the handoff is complete. Otherwise hand over the returned download URLs or kiln:// resources through the host's resource reader. The local viewer, node kiln.mjs view --collection COLLECTION --asset ASSET_ID --revision REVISION_ID, is optional and for a person who is present: offer it, or start it when the user asks and you have a terminal, never as a step of a headless or unattended run, since a viewer process keeps the session open. Never invent HTTPS URLs or claim native attachment support without evidence.
Save at meaningful completion points, not after each draft or camera change. Retain source revisions while working. For direct filesystem exports without collection tools:
node kiln.mjs source RETURNED_REF --out asset-v1.kiln.js
node kiln.mjs render RETURNED_REF --out asset-v1.glb --views asset-v1.pngReplace RETURNED_REF with the final reference returned by Kiln. Keep .kiln/programs, including its mappings, while using saved references. Pass --out whenever you want a GLB: render with neither --out nor --views writes out.glb in the current directory.
Use render --json for the source reference, requirements, paths, fidelity and compact review (--detail full only for a closer look). Read images separately. Check ok and files on every export, even when redirected; a later command can hide failure. Deliver source, GLB and bundles from the same final reference or revision.
To save a chosen camera view, write the capture object to cameras.json and run node kiln.mjs render RETURNED_REF --capture cameras.json --views hero.png, the same camera schema and pipeline as MCP; the CLI is the route that writes review PNGs to disk. With "output": "separate" it writes hero.shot-01.png, hero.shot-02.png and so on and lists each in files; add --backdrop light or dark when the grey hides the silhouette. Do not copy image base64 into shell commands.
Source export refuses to overwrite a file. Report the source and GLB, important design choices, what you reviewed, and any unresolved limitation. Validation does not establish visual quality or destination-runtime performance. There is no default triangle target; measure geometry, draw calls, textures, and loading against the user's actual constraints. In render metrics, materials counts material slots (one per mesh, roughly the draw count) and distinctMaterials counts the materials themselves.
© instruktlabs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in skills/kiln-author-asset of instruktlabs/kiln.
Open the folder on GitHubat commit 9e6dfe0
Kiln Author Asset next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Kiln Author Asset this skillinstruktlabs/kiln | 255 | — | ~4k | Automated safety check: Pass | MIT | |
| Blockbench Pluginsjasonjgardner/blockbench-mcp-plugin | 500 | — | ~2.8k | Automated safety check: Pass | GPL-3.0 | |
| Unreal Material and VFX Workflowflopperam/unreal-engine-mcp | 1.1k | — | ~927 | Automated safety check: Pass | None | |
| Fmodel Unpackpa001024/dna-builder | 137 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Make Imagesglifxyz/glif-mcp-server | 213 | — | ~931 | Automated safety check: Pass | MIT | |
| Fal Assetsrehan-remade/universal-modder | 6.5k | — | ~2k | Automated safety check: Notes | MIT |
jasonjgardner/blockbench-mcp-plugin
Blockbench plugin/extension development for the 3D modeling tool.
flopperam/unreal-engine-mcp
Walks an Unreal Engine MCP agent through building materials, Niagara particle systems, Chaos destruction, and curve assets with inspect-then-edit steps.
pa001024/dna-builder
This skill documents how to use the fmodel-mcp toolkit (a CUE4Parse-based .NET CLI plus a thin Python MCP server) to inspect and export Unreal Engine game assets — pak files, textures, meshes…
glifxyz/glif-mcp-server
Make new still images from a brief with Glif and save them to a folder: concept art, a series of variations, mockups, posters, illustrations, wallpapers, reference boards or any picture that isn't…
rehan-remade/universal-modder
Generate game assets with fal (fal.ai) through the fal MCP server, the um fal CLI (REST) or fal api.
arjun988/blender-skills
Blender Geometry Nodes for procedural modeling, scatter systems, vegetation, buildings, pipes, cables, and reusable node groups.
instruktlabs/kiln
Refine an existing Kiln asset through bounded source reads, exact revision edits, and targeted image feedback.
instruktlabs/kiln
Check a Kiln asset's geometry, views, export fidelity, and behavior in its destination project.
instruktlabs/kiln
Configure and verify Kiln in an existing project or a new asset workspace for the selected coding agent.
instruktlabs/kiln
Run requested Kiln asset batches or compare coding-agent harnesses and models in isolated workspaces.
instruktlabs/kiln
Create, inspect, revise and deliver editable 3D assets through Kiln's connected hosted service, or reopen assets saved in that account.
instruktlabs/kiln
Compose existing assets into an exported scene or interactive proving environment, with deliberate placement, terrain, materials, integration checks and runtime qualification.
Works with
Categories
Create a procedural 3D asset with Kiln JavaScript, review useful camera views, refine saved source, and export a GLB. Kiln Author Asset is an agent skill from instruktlabs/kiln. Create a procedural 3D asset with Kiln JavaScript, review useful camera views, refine saved source, and export a GLB.
Kiln Author Asset fits situations like: tasks that involve Game assets and audio.
Run `npx skills add instruktlabs/kiln --skill kiln-author-asset -a claude-code`. Or copy the skill folder (skills/kiln-author-asset in instruktlabs/kiln) into .claude/skills/kiln-author-asset in your project. Claude Code loads it when a task matches its description.
Run `npx skills add instruktlabs/kiln --skill kiln-author-asset -a codex`. Or copy the skill folder (skills/kiln-author-asset in instruktlabs/kiln) into .agents/skills/kiln-author-asset in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add instruktlabs/kiln --skill kiln-author-asset -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kiln-author-asset, .gemini/skills/kiln-author-asset, .github/skills/kiln-author-asset and .opencode/skills/kiln-author-asset in your project.
Going by SKILL.md and its folder, Kiln Author Asset needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Kiln Author Asset is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Kiln Author Asset: Blockbench Plugins (jasonjgardner/blockbench-mcp-plugin, 500 stars), Unreal Material and VFX Workflow (flopperam/unreal-engine-mcp, 1.1k stars), Fmodel Unpack (pa001024/dna-builder, 137 stars) and Make Images (glifxyz/glif-mcp-server, 213 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
instruktlabs (a GitHub organization) maintains it in instruktlabs/kiln, which has 255 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 2026.
Source: instruktlabs/kiln on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.