{"_id":"blender-skill","_rev":"31-f097ed419a756cdf35bcda791b0e3914","name":"blender-skill","dist-tags":{"latest":"0.31.0"},"versions":{"0.1.0":{"name":"blender-skill","version":"0.1.0","keywords":["blender","3d","agent-skill","claude-code","cursor","codex","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.1.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"36242bc6f5a839e4627d9403f9bee037b9451833","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.1.0.tgz","fileCount":6,"integrity":"sha512-53h4Mrehrnzogo39Irl1zMV/Ih9X76l3erASHewcXoy5ldZCuHU4OBZfaUpN9bH0ZOphxjo9UeOWKE3Ewu2nMQ==","signatures":[{"sig":"MEQCIAK0NtrDO+kPfIHdNVlIEoOHjiqAPY8Tljc/qu80esvqAiB1C1zd7Dot76knK4EmGglSowsQ8n+yzRsvkXoAJVaDMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7925},"engines":{"node":">=16"},"gitHead":"09a0eaf82a8924816e5272d73a112d3e2759f3fa","scripts":{"test":"node bin/install.js --help >/dev/null"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill scaffolding that gives coding agents (Claude Code, Cursor, Codex) local, headless Blender tools. Scaffolding only for now -- no tools implemented yet.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.1.0_1789310027730_0.4001857484352993","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"blender-skill","version":"0.2.1","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.2.1","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"977e25079bbaeb9b17938d986e684bbb71633e57","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.2.1.tgz","fileCount":33,"integrity":"sha512-0TzUtgQxNZs7u1+JDrECrVGbfiyWNCfWdPDvGFXECwpBvPjvx1MCBvqyXvq9LN73Fqw6GXHh5Un9/AT5zlUmwQ==","signatures":[{"sig":"MEYCIQDACcCkDEmVnq1RNTZb+s+k0BTReGvpw0PwGkE+wqBCngIhALMUUT8dKR8dAUoStezazmHm5M41HGL+b0RyKpLFUQt6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":139172},"engines":{"node":">=16"},"gitHead":"dc3b87b0945310b5a350391db171836adab48923","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.2.1_1789349950001_0.7094767821827743","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"blender-skill","version":"0.3.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.3.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"d22b0c8e1658e088446c09a854c1061c8e5138db","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.3.0.tgz","fileCount":33,"integrity":"sha512-8AsQjyp778+4m/s0g8ax7u3uOHagmlwzc1yxBG6deXEVks5QzacMKShi2cr1eQepJTovtb+ouHht/DaB31DztA==","signatures":[{"sig":"MEQCIDeb8JdjOxzGxLBINNa/VfteGO808oHRLsJP/L8DH8JqAiBv1Fh3Z8Fzjt0G8J3E5OuD21bk8dhSWsl4KMg7i61J0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":152886},"engines":{"node":">=16"},"gitHead":"3a23bac5abd0be4c694118f9f9048ba0a5e72e9f","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.3.0_1789351566609_0.07922563223325785","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"blender-skill","version":"0.4.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.4.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"56d355de8a755a9609001fea2d3a1b236433b52e","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.4.0.tgz","fileCount":33,"integrity":"sha512-WacxQL87trPoJMuV/5i81pt2hmWGRxNaa4cuRVUOqFtP2Jkjq9sroyzlbVB3D8eSEPaX4eoYY8Rz+qGCTjsxJw==","signatures":[{"sig":"MEYCIQD5qiMuXy3dhfTks7zCHf5WV1WsyVU8fB1xlC8uDY79mgIhALrMoLsnuBUBw0H53nGiC7vBvPYVb663meBprgGin+Kl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162289},"engines":{"node":">=16"},"gitHead":"a709e041f833ca185a775aedd99e90d0409ea3aa","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.4.0_1789355202671_0.9861791573345202","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"blender-skill","version":"0.5.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.5.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"a298ba62a67b09b3e1bce1ae117bcab39957cff8","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.5.0.tgz","fileCount":33,"integrity":"sha512-Sm82q/NDbaYTECWnnPsqk/f52yyHcqail9KxUgFPtDD6sWmI+xc58seVLWdItXe6koN42eXCgKM48HYyp23oZA==","signatures":[{"sig":"MEUCIQCS67t8I/afzyO9lt0ONBYaH6mB504AiPlj2a/Qm+SSBAIgQftUn1lyLCT71oelh3VLRcGOx2Xy863lpLevfhM9ovQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":169507},"engines":{"node":">=16"},"gitHead":"44a3b4ba656968ea8816a814983e9ac07a49021a","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.5.0_1789356420523_0.4382417151172222","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"blender-skill","version":"0.6.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.6.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"a4fd13f4f02e120d03ce85121059d2144aa5861e","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.6.0.tgz","fileCount":33,"integrity":"sha512-f8X3z7xji+EIfJeweiPj4tONIERMNyJZQUBVf5t4rFxLbLUWpEXceIhIy/9CUuY0/WpuehpwnqN7HtqDiTcxOQ==","signatures":[{"sig":"MEYCIQCdS9vIbZMKDUR7TwKaeK62wGfjepOBgvgpZSsbPtCWhQIhANGMTweV+rqhdoqgmZCFD7ZI7Kj3ucWlJaHrC+iDmpZe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173593},"engines":{"node":">=16"},"gitHead":"e349c028d307f4b420e55e03e41b4cba542a71ed","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.6.0_1789356898502_0.8408404595248411","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"blender-skill","version":"0.7.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.7.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"e7b41f5ed32c18f0bd0da4a392b9dd7c1508b7d8","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.7.0.tgz","fileCount":33,"integrity":"sha512-e+hFUtgE/OA8xPA/wd0K8K3Pa8G9U1zuBdATevjMbqNh22W+CItz5UtYmj3cfczH0DHZ/sM5DFcbrYoRUFYarg==","signatures":[{"sig":"MEUCIQC156AePhRfOgnM7X+GPi82yeEZ6bJC7EGqhjXkt/h0rwIgIwZKTLc+R5QFYNQhm1yjhmneHU9ZdepbKL5YgfBsT8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176937},"engines":{"node":">=16"},"gitHead":"de033d1fcaccfb29c43afa1cf9bc58a44f9b0c8d","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.7.0_1789357588634_0.6787842972975069","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"blender-skill","version":"0.8.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.8.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"2812edba18eeb907371b8d864b4dc77378df9899","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.8.0.tgz","fileCount":33,"integrity":"sha512-TgIJ7foMMwJKTZ+fYxhQLjiDUqHZU+sw4GU+h4KraZt6N9QplJ2gsempCLaf0a1J7k8E3FRqoV4+uL2iaBpCtw==","signatures":[{"sig":"MEUCIQCZOXpEsMgE6XDP7/f9pFVDMLDRSolTmsSzNKFNUkdHPQIgLxIbouebDC+FoBWVg9seCoLN+Q6n0C91cOAQ5Hlm9rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":180631},"engines":{"node":">=16"},"gitHead":"5b2790d34696328ec13fbd23401e5d3742bd88cc","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.8.0_1789358152711_0.31855396980027395","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"blender-skill","version":"0.9.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.9.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"05e6d7732b78bfdc1b3d14504f5d235d6132c6cb","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.9.0.tgz","fileCount":33,"integrity":"sha512-vgAE4uii2Ihoewd+lu0AHmF9WuzLkhtIeajscSbnqyfD10eh3G/SvHQvEMi114zoUD/mqiqO1XSET7ewyBmCYA==","signatures":[{"sig":"MEUCIDnOL3xgZzaRcfFJ7hDMotddy67mvXTCYIERVBz1aDa1AiEAzN01jfU3ls3nSD6+XoMjEz+qszVl/I/agshbgeyhAjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184317},"engines":{"node":">=16"},"gitHead":"82231f122f14e9a47f3482a8f4e84729dde9113a","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.9.0_1789358572562_0.09268373288043597","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"blender-skill","version":"0.10.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.10.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"a0e5bcbcc152774638b4ad9771011a89f5451469","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.10.0.tgz","fileCount":33,"integrity":"sha512-qsKlcPZaECbNLf/w1//LzRsxuE0nw+dPfFnnlY1V/yZ5PfeQyye6JkRvv5KCI5xEdQhtNEpaZISO/hFfduflBg==","signatures":[{"sig":"MEQCIEjz99Gfhs2oKkMHu2mxA0W9LMf6ZtsYIryJwC0/HSIOAiBhmlJESzI0Vq/y3bPHnFd4GDpxisWvrVQgYxdMAhdeIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":186261},"engines":{"node":">=16"},"gitHead":"af08f692c3d331f75bf9fb0653b40327a4ac078e","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.10.0_1789359054393_0.23993843368129975","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"blender-skill","version":"0.11.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.11.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"e2f0027efbaf25c96395dea743855903f9550c5c","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.11.0.tgz","fileCount":33,"integrity":"sha512-2d7Y1qFuwsl4bMGOFjONtlt5TJDDMSbaiKDIWchYYvc3BB78HPiMNk28i4/L+U0iqJWXPhSW1zZQvdtV4ixrfQ==","signatures":[{"sig":"MEQCIHSmJ03dxZIegbzOAfkaDXOjtomkf4yRkDSwQygFBjPXAiBUnKt2Ersq/inWg1354XTXF9eZJ+Fjivo4Xc0PB6wFew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":192512},"engines":{"node":">=16"},"gitHead":"73197ec8695e2000c00b9933295abe459d740fd6","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.11.0_1789359349813_0.02351039473558192","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"blender-skill","version":"0.12.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.12.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"78ea492e822d528ac41d3c6688b7a930e7657e6b","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.12.0.tgz","fileCount":34,"integrity":"sha512-P94sSu8QOjLRPu8PJTsg0VzUz+NkAiqHeep9LOU6WOF3VIz5EymNFHJz6BVSltsf+1JXvPH5HIqY6hruOdbufw==","signatures":[{"sig":"MEQCIENKAF13B0UO6U1YwhX1ZAiefe1/6ttRDIW6qQGL1za2AiALYhSC3gmHB2soctL63AY8G1PcQNKeFr9KiMwqucw34w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199426},"engines":{"node":">=16"},"gitHead":"62f0b65816c7b4fbaad439f9a41fec9120a9b06b","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.12.0_1789359644517_0.15251968843419217","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"blender-skill","version":"0.13.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.13.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"a88e9bf9556ae3db97dbbd3afee0207e6380b7b0","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.13.0.tgz","fileCount":34,"integrity":"sha512-o5j+TbBGnI9BxxO3uNyhQRtsPwTet4gfEgEPk+0ymnrwyFeH4LlNvfAIUfiOMOwGC2rVvsxD3vvYPNrmT8nKjQ==","signatures":[{"sig":"MEYCIQDwYFD7DufF6KN+z8YnfL8swfKWCAw+3VFeWo5HiFNjowIhAMX/oYNPCPShl+3qnSsCLLZTW+0Quhq11wJRgJHTM1dE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203128},"engines":{"node":">=16"},"gitHead":"c66694a622205e07695d68f2eec9f21d121552fd","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.13.0_1789359979068_0.6927825911411771","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"blender-skill","version":"0.14.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.14.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"2768eb9f79d02f3a50141016791708b7efd72f0c","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.14.0.tgz","fileCount":35,"integrity":"sha512-M0WRUHWYE/1cVZyaneJh5UZWsFm8z//EcF+QEcj2IlR/e3Ch/j68L15d2HlkVU8bj6+gekfDptcUeqrsF1AQLg==","signatures":[{"sig":"MEYCIQDQC2Y3kPNaTgMcoa25slLY7GmuIXyPXfZZgoLEdXBa8gIhAKwhhW9J0RjsJAGV2KV01Qf+Z8U36T6LOooKnITvAGmb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":208158},"engines":{"node":">=16"},"gitHead":"3b82f5f63d3d38a7439cfee16ffafabb1e379c19","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.14.0_1789360348389_0.9337287301620847","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"blender-skill","version":"0.15.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.15.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"39e842b6b7e3284dad481e1695f0b162211d3efe","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.15.0.tgz","fileCount":36,"integrity":"sha512-K8VwNNAHZWLkKO/l/wucWxG4OvQxo5y03yGSXomZuqhqYcNtMVKBewmlSwnHw47faIgYPVrx8wRaAgAM4KkMQQ==","signatures":[{"sig":"MEUCIQDYWQU0zDWD31h6KRRpJjE4tt33+tW7oJZ9UVX7OntKKgIgayhWYBstD64cRlNmRazlgOBKXYyfE6wJm4K143eD8Tc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":214602},"engines":{"node":">=16"},"gitHead":"9a54f3e6cd9c04773b6904e42b12f450275dc9a6","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.15.0_1789360746493_0.25640769906944016","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"blender-skill","version":"0.16.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.16.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"6e5674b44f7244ba600fe861e4d7013627b62e4d","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.16.0.tgz","fileCount":36,"integrity":"sha512-pU5DhKGbafEe8xoKd4nZ6czdlWxqCRsl/LByUfxjpUxVSP/XbvaXLk0ADZ+OZDRHktL3koPp7V2qDL/DQRFIuw==","signatures":[{"sig":"MEYCIQDO8NbZfKKt82cMC+roWPylJsG7OW2f1VzziSNBZ8QQOwIhAMQHQJcypqpa0X7GZH0xQ159CR/Mj7nZP9DVW8TsgLvH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":219236},"engines":{"node":">=16"},"gitHead":"9a4ad65cdecd0a3a525ffb480adeee8f63cafd8e","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.16.0_1789361137490_0.47700182017505166","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"blender-skill","version":"0.17.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.17.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"5b45ff29e21a4fd5edab2ae39aa219c728978ef6","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.17.0.tgz","fileCount":36,"integrity":"sha512-UXCS0ofS3Q77mD7SsoJqedop7eW1PHRp4/uaSyJd0I9FSUl/fcsJufregvFBm67shluoN5q52DHD0dEfBk6ioA==","signatures":[{"sig":"MEUCIEWN8VVtitSBI+8+DPKpbPw397sToJrDgNiCEwPpa2QUAiEAjH9Ntvcxp2U4QWyISnfgloor+B5vOYGPv8ARN3OdEFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":222236},"engines":{"node":">=16"},"gitHead":"18fd6e9b86c154b32be4f8b74ba7aa3cee17e52d","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.17.0_1789361636452_0.7615582711714715","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"blender-skill","version":"0.18.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.18.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"c39d9ed43698ef7d0fbf0f7baafa04a59a00f3e0","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.18.0.tgz","fileCount":40,"integrity":"sha512-pkVLMKFFcqPIji4JIygOPJpjKNJFQL+QwNBhHC/Fxs6lnwlqfWaSj+EwRlPwJ5PBQ+OTwgsXxG7JbJRhWIvmAQ==","signatures":[{"sig":"MEUCIQDlgRMrTnnrersmkRISkkSCtxD9CcT+OM6H3qOcMx7YGAIgB3M4AoAfc+13IQS8QnF7oVhHrRjkpB9rnXN+H0XSrGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265514},"engines":{"node":">=16"},"gitHead":"92c86ac023bd91c430f31964ff02de8d53cde5c3","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.18.0_1789365337001_0.3852152886648077","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"blender-skill","version":"0.19.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.19.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"a63640d9fce6a6889de1bce69551eb740cfd2aea","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.19.0.tgz","fileCount":42,"integrity":"sha512-wjC+RjYz1HdXD5wsB6mB++A+ETmU+mAYT9WX/y1vaTtozHCJI34pWufc52h8XzimUlph9H8PBbKXjQ130fGHmA==","signatures":[{"sig":"MEUCIQD5nU48qQp0lJvAxjznFDIyvGMqi5QTtkYKnEtt+9pG9AIgaGv//SFw2PHlAm5aRW67EzPBIqaZ6AUikR7g5HQLPDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":285945},"engines":{"node":">=16"},"gitHead":"2c44c7c5ff12bd873898506381d52cfe1499423d","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.19.0_1789372100524_0.4448076730862913","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"blender-skill","version":"0.20.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.20.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"8d954bf9c804c7b33fcbf6f4b0ff3b3945f3544f","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.20.0.tgz","fileCount":42,"integrity":"sha512-11hFigKOGOSp5TL6iQ01ag6suWqwEbSTS2jJfOZp3LQNFjKsXGtgb+7oxTgJhqgsPhbb6GiJPk9XBEtLuRgtaQ==","signatures":[{"sig":"MEYCIQDfvtNzh5R01JaBjuZ5DHfBB/qlGADTlfZWaZxggKjWugIhALU5jjuGRetuy/dEcylTkr9eGlgOWqNFsxdT8K1pFC+G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":293093},"engines":{"node":">=16"},"gitHead":"5852a47531dc78428b197c36f32231fe290161f1","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.20.0_1789632602708_0.9055247971977887","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"blender-skill","version":"0.21.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.21.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"1313ae464f5e27839cda5c13f2a056139249930f","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.21.0.tgz","fileCount":42,"integrity":"sha512-N46qABFMgRdU10GTatVAJCTj4vBLadpETYPO+ai6KbekMKpfg8tw6wiW8fHw50hiQ5wK7cKowA8kVbuUPltNKw==","signatures":[{"sig":"MEUCIH8f1pfw9TbaaxF9CInVQlR5i5v7bDIeYZnC3aBqydtSAiEAtAnLYiMo/CiduacXW+fH6frBoyGHX3Wb1352lQTlOfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310421},"engines":{"node":">=16"},"gitHead":"e45e2d66518f5be706098fe6b3237e1052d53df1","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.21.0_1789644937259_0.6505565776140896","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"blender-skill","version":"0.22.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.22.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"e0a27cf4559d6e635d4b6ad54867e4d3e65a56bd","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.22.0.tgz","fileCount":42,"integrity":"sha512-svL/BPzMWBHImNgC1YlNR49MCnefVe3szrhmQePgwqFCXpWSBcn5Nxivbc1jV0nUTilq+kFeMFX4IbqcPxbYfw==","signatures":[{"sig":"MEUCIGHtzYG+VeAMZuDPGtU9zKeL6ZbWozxR2TlZm6qLKWWZAiEA61/Eyte8AgfSzwq5arE4rxcNkqyz32JvQiZ1WaeTYdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":321472},"engines":{"node":">=16"},"gitHead":"6da2d7457926c8c493737cfe459b31ca5cd1d247","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.22.0_1789647633042_0.7872022037990722","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"blender-skill","version":"0.23.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.23.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"443cd2ead4dd473650814dcf2029a6139b1c5ed5","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.23.0.tgz","fileCount":42,"integrity":"sha512-AFt/mIuG+Jgt4IiJ+HgEutJP8kBHFXOfCZgauh2uG5h5tBm49pE7c+KxfNKGqu0r0E95zAu/6d41ejkQbeADiQ==","signatures":[{"sig":"MEYCIQDv9bnpOXkOXe3HeFMOUctBdSguWNmS+RSHdndZDB14VgIhANX4fw3DyNOi6kbebAkasGEo6Q30/36g/NJ1bt2ixTV7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":329422},"engines":{"node":">=16"},"gitHead":"7d943098fd999f982c1b3a5f3b8362688b0a3368","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.23.0_1789649860360_0.33984946900584245","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"blender-skill","version":"0.24.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.24.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"02b2dfc2202e6400358ba6c2edf17c080b1c9b9c","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.24.0.tgz","fileCount":42,"integrity":"sha512-BU0ARjuyn9akH7+6p/FedehaMnjZ4nMZbeh3tPB5Z10dwX5UxWIS3JROIelo9eIlidPHMCakLfRv0PiBT0B+KA==","signatures":[{"sig":"MEUCIQCSnhqGk+MvHA/LJGGNRW88d+oBxmaRNXf56muamyq3SQIgJFbp9NXzWVJc7e8MTDBedPOt3Lz96mLbB3JtK//9PCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":346216},"engines":{"node":">=16"},"gitHead":"6a78cb8efe1884cd1bfcf1e9f4b52bff5fc357f9","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.24.0_1789652612659_0.6477340953927491","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"blender-skill","version":"0.25.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.25.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"c579903debb3999fba2c79ebfd83a666cc35b664","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.25.0.tgz","fileCount":42,"integrity":"sha512-WjKBlEZpa1eefX8JxMlwK0q7dxwLBQgB7M74fgp6lj4kFFtby5X+U6CvRQlwJs8r9f/yJB6eEa2JX+aeIpRzWw==","signatures":[{"sig":"MEQCIBbf4EYFpsP0DA/iu246Zp6MER/lqAfqGdEcjge4uLvCAiAp2mSerLdOvGH7FCY9OB1pxQuBsQXNKw3FoFLUb4Wllg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":363990},"engines":{"node":">=16"},"gitHead":"d4fa45d2ab8da1c671893d349add2f685ff37361","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.25.0_1789654954650_0.8830681935674694","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"blender-skill","version":"0.26.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.26.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"7219f694fc84c13331291b9a6fad1daef73e862c","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.26.0.tgz","fileCount":42,"integrity":"sha512-W594bD8ZtJxGaiAW65kqbMXK0Y3yQVMZw2eQeOx/2oNIl80lXMr0Dm0urqxy9S6WwlZfqBJljUqua4eyDyJyzg==","signatures":[{"sig":"MEUCIQDlXDk9QHwYb3fyaA9HZKQFUNRG6Yzh69LZsvzG8ucAqQIgCyldGbnoiEo+E4rBWs3pwTIu8sUCWMc2uINaCl4kSMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBlOZE5cZhZ/pSSEtozF9+zTUE9A5ko4p+QIkmcKUJOeAiATXPEVrVCtG3Vr82jSW4vLsfEAt7oLsPi8lqVGH3NIUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":376479},"engines":{"node":">=16"},"gitHead":"cfb90c2d8eb2770a84f6709d7f7eb18f2c629b49","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.26.0_1789763185243_0.6412333284335994","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"blender-skill","version":"0.27.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.27.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"1781038611635642f103182bd61b1a8c073c2976","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.27.0.tgz","fileCount":42,"integrity":"sha512-WvSIi3HXJTobjkzv4uVeT3ULObwf7rBypBkWXLg6trSEHE8TwW1dwOlPzsTKYcpfPtsO0ADOX/7HL4xrIfN/SQ==","signatures":[{"sig":"MEUCIQDg0hK4aC63KG3SnU+qJ/a2a4OQdNhYNQWy0CwxtEQ0yAIgIcH53WnBfqdB+6OMIXVl1g23XbE4jxHJQb7PbVG3awo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCj66yS9k7oh4Cn2EJnWVV9M83KnM35LCZcXWOFmenaywIhAIvmI7g3cU8Q/MaMCwU/o0CFp532IPkNDFx1LFqr0K6q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":385307},"engines":{"node":">=16"},"gitHead":"cea26571d2d2b46b33805d37968748eb0d59801e","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.27.0_1789766401511_0.8365076183530045","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"blender-skill","version":"0.28.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.28.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"762f9e5dbe2cd9ff9f728c3d73f90d318212f332","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.28.0.tgz","fileCount":42,"integrity":"sha512-OjleBVmgKZgabjIC4ogxWe9Fq8XTSBguXaGh8SXv+O2Y0Wk8WdRBeA3qEYFOd7kNd1hNfUE5gMKXlglx5jcaXA==","signatures":[{"sig":"MEYCIQDy0uUbbIdYkldQjAb2HzwfAUvre5LfIAZuLmbBgR97ygIhAMl8Z+c0f00YMjTY7zF0xXU705xsWvHnyupBhlGTgNjE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD64GFGEDkZpXib0JX3dUgLqjv64DHA6csQjDiHHMu/SwIhAOgEUxcXbZB4nvf4tHQU1X5W1ivNwi33d/VWhFMs1/4d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":394733},"engines":{"node":">=16"},"gitHead":"1054e7676d1ae09700bc18b0aa5bac408ca08d15","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.28.0_1789768896057_0.09777602119355255","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"blender-skill","version":"0.29.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.29.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"2a8ea59938758496c15430cd6a7f2e93c861df5e","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.29.0.tgz","fileCount":42,"integrity":"sha512-6jj/tt+gBcclENkjBtQoG+HVfSALwagaxWi+nhbUOXxegqfpJbVngYgh4Ef9nQjL6ZZfk6LEQRhr2LxxwoBOog==","signatures":[{"sig":"MEUCIQCI7+gofCmiZ3+Ih85aZjlUXT1ztycZ0QqWz63uvHPrLAIgEJMu7w6jqqi1TYh1mOWoVudt8anGwsJNd8DyDrcBJxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGAh2BFH930Wr+p2BdvosuFZz59O95vMOpCDCzTqs3CaAiAp1veN+0DNvbCKvNdWndq0U6FtKPpyp9iWnE2CdElNUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402850},"engines":{"node":">=16"},"gitHead":"df3d8b25b928383a84d9fd657958b60479193da2","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.29.0_1789773410538_0.3377329592883085","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"blender-skill","version":"0.30.0","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"author":{"name":"kajisho5"},"license":"MIT","_id":"blender-skill@0.30.0","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"homepage":"https://github.com/kajisho5/blender-skill#readme","bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"bin":{"blender-skill":"bin/install.js"},"dist":{"shasum":"3d79a32443446e13f0c74c0f30638ccf77640f8e","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.30.0.tgz","fileCount":42,"integrity":"sha512-aHNkHfxbIV02iNWktLNnCMLZKo8XLdGg1sh1DJnfN/gu5I5DqTDii8nIQH2LPq363N50uJ9zgeO8ob0ha6J8bg==","signatures":[{"sig":"MEUCIQDd5dEv48GmhFUKgWF3q64pUZ7GH+yBBx14XTna89Jp0wIgReqGRQUjFuV2jsQyGoydUFGe7oZXvH+QKQyFmiXD28E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCxiG0y4QtYGvCq9/ntw+2T44HeN8vjH18TbqCA1/NG+gIhAIkCPxvl9zEg/GGDVfu2Yc61zM0xSZPVm/Z7FxH7McG/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":411684},"engines":{"node":">=16"},"gitHead":"4e806c8b5808d14d9b4d0d56344a0f64c096ac67","scripts":{"test":"python3 tests/test_all.py"},"_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/blender-skill_0.30.0_1789776398391_0.9811969828321312","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"_id":"blender-skill@0.31.0","bin":{"blender-skill":"bin/install.js"},"bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"dist":{"shasum":"6e08603121f4f9f319974c080718fd559b8d3395","tarball":"https://registry.npmjs.org/blender-skill/-/blender-skill-0.31.0.tgz","fileCount":42,"integrity":"sha512-621c6EWaNhvCODpSeTkJL4M4Dd58pstj7X3ov58qKXmVgRYrw6FWl3atjXGxexC+gOKQzV4b9jclLxEuNdFj6Q==","signatures":[{"sig":"MEYCIQDLLJ/uD9Tb3OSY2rHAFv7Df8NreTHFe1gRS3PXhJ593gIhAM0hw2eNRGT8sNh1DfBNI5fb5NR5lv9Kvij1aEtc6gS2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHHNoxURZs2++t7fse/r/eUYjCv9k+sllFC/v4mk997rAiA+mp/nX1Xl0RdNydcDDuiwCgtwSLforIluCl0UaHWhwA=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/blender-skill@0.31.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":420748},"name":"blender-skill","author":{"name":"kajisho5"},"engines":{"node":">=16"},"gitHead":"ce650014b3883aee861cce2a40679afd8c596aae","license":"MIT","scripts":{"test":"python3 tests/test_all.py"},"version":"0.31.0","_npmUser":{"name":"kajisho5","email":"kajisho5@gmail.com"},"homepage":"https://github.com/kajisho5/blender-skill#readme","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","directories":{},"maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blender-skill_0.31.0_1789778987491_0.6779707669612014"}}},"time":{"created":"2026-09-13T14:33:47.547Z","modified":"2026-09-19T00:49:48.496Z","0.1.0":"2026-09-13T14:33:47.867Z","0.2.1":"2026-09-14T01:39:10.130Z","0.3.0":"2026-09-14T02:06:06.753Z","0.4.0":"2026-09-14T03:06:42.802Z","0.5.0":"2026-09-14T03:27:00.788Z","0.6.0":"2026-09-14T03:34:58.634Z","0.7.0":"2026-09-14T03:46:28.758Z","0.8.0":"2026-09-14T03:55:52.850Z","0.9.0":"2026-09-14T04:02:52.705Z","0.10.0":"2026-09-14T04:10:54.528Z","0.11.0":"2026-09-14T04:15:49.951Z","0.12.0":"2026-09-14T04:20:44.691Z","0.13.0":"2026-09-14T04:26:19.179Z","0.14.0":"2026-09-14T04:32:28.518Z","0.15.0":"2026-09-14T04:39:06.621Z","0.16.0":"2026-09-14T04:45:37.623Z","0.17.0":"2026-09-14T04:53:56.586Z","0.18.0":"2026-09-14T05:55:37.126Z","0.19.0":"2026-09-14T07:48:20.663Z","0.20.0":"2026-09-17T08:10:02.843Z","0.21.0":"2026-09-17T11:35:37.394Z","0.22.0":"2026-09-17T12:20:33.202Z","0.23.0":"2026-09-17T12:57:40.505Z","0.24.0":"2026-09-17T13:43:32.811Z","0.25.0":"2026-09-17T14:22:34.799Z","0.26.0":"2026-09-18T20:26:25.331Z","0.27.0":"2026-09-18T21:20:01.627Z","0.28.0":"2026-09-18T22:01:36.152Z","0.29.0":"2026-09-18T23:16:50.692Z","0.30.0":"2026-09-19T00:06:38.535Z","0.31.0":"2026-09-19T00:49:47.587Z"},"bugs":{"url":"https://github.com/kajisho5/blender-skill/issues"},"author":{"name":"kajisho5"},"license":"MIT","homepage":"https://github.com/kajisho5/blender-skill#readme","keywords":["blender","3d","gltf","fbx","agent-skill","claude-code","cursor","codex","mcp","skill"],"repository":{"url":"git+https://github.com/kajisho5/blender-skill.git","type":"git"},"description":"Agent Skill that gives coding agents (Claude Code, Cursor, Codex) a local 3D asset pipeline: inspect, convert, optimize, render, bake and validate glb/gltf/fbx/obj/stl/usd/usdz/ply/abc/.blend files via headless Blender. No API keys, no cloud, no pip depen","maintainers":[{"name":"kajisho5","email":"kajisho5@gmail.com"}],"readme":"# blender-skill\n\n**Give your coding agent a 3D asset pipeline.** Local Blender, headless, no cloud, no API keys.\n\n## Install\n\n```bash\nnpx blender-skill                                   # this repo's own installer (Node)\nnpx skills add kajisho5/blender-skill                # skills.sh registry\ngh skill install kajisho5/blender-skill blender-skill  # GitHub CLI 2.90+\n```\n\nAny of the three installs `SKILL.md` and `scripts/` where your agent looks for skills. Requires\n[Blender](https://www.blender.org/download/) 4.2+ on the machine; the scripts find it themselves\n(`--blender` flag, `$BLENDER`, `PATH`, or the OS's usual install location) and tell you how to\ninstall it if they can't.\n\n## Demo\n\nReal output from `examples/make_demo.sh` against `tests/fixtures/fox.glb` -- nothing staged.\n\n<p align=\"center\">\n  <img src=\"docs/demo/thumbnail.png\" alt=\"render.py thumbnail\" width=\"45%\">\n  <img src=\"docs/demo/sheet.png\" alt=\"render.py --sheet, a 4-view contact sheet\" width=\"45%\">\n</p>\n\nA 360° turntable (`render.py --turntable -o turntable.mp4`) is at\n[`docs/demo/turntable.mp4`](docs/demo/turntable.mp4). The same run's `info.py`/`check.py` output,\nunedited:\n\n```\n$ python3 scripts/info.py tests/fixtures/fox.glb\ntests/fixtures/fox.glb: 3 object(s), 2 mesh(es), 656 triangles, 1770 vertices\n  materials: 1  textures: 1  animations: 3\n  warning: fox: 1150 non-manifold edge(s) (hole/gap in the surface, after welding split normals/UV seams) -- try: optimize.py <file> -o <out> --fill-holes\n  warning: fox: flipped-normal check skipped (unreliable while non-manifold edges are present -- fix those first, then re-run info.py)\n\n$ python3 scripts/check.py tests/fixtures/fox.glb --target three.js\ntests/fixtures/fox.glb vs three.js: PASS\n  PASS format: gltf is a recommended format for three.js\n  PASS triangle budget: 656 <= 300000\n  PASS texture size: all textures <= 4096px\n  PASS textures present: no missing texture files\n  PASS transmission size: 0.2 MB <= 15 MB\n```\n\nRun `bash examples/make_demo.sh` yourself to regenerate all of it (info, optimize, convert\n`--verify`, render, look, bake, check) end to end -- needs Blender, see Requirements below.\n\n## What this is / isn't\n\nInspects, converts, optimizes, renders, bakes and validates 3D assets from natural-language\nrequests -- for a coding agent working with `.glb`/`.gltf`/`.fbx`/`.obj`/`.stl`/`.usd`/`.usdz`/\n`.ply`/`.abc`/`.blend` files, not for someone modeling interactively in Blender's UI. It runs\nBlender exclusively headless (`blender -b`) and never opens a window. That makes it a complement\nto, not a replacement for, [Blender's own MCP add-on](https://extensions.blender.org/add-ons/bmc/)\nor [ahujasid/blender-mcp](https://github.com/ahujasid/blender-mcp) -- use this to check and fix a\nfile's numbers deterministically (triangle count, texture size, manifoldness, delivery-target\nbudgets), and a live Blender connection for anything that needs a human's eye on the actual\n3D viewport.\n\n## Features\n\n- **`info.py`** -- object/mesh/material/texture/animation/armature counts, unit scale, bounding\n  box, non-manifold-edge and duplicate-vertex detection (computed on a welded scratch copy, so a\n  perfectly normal hard-edged/UV-seamed mesh isn't misreported as broken), approximate\n  self-intersection detection, flipped-normal detection (only reported when trustworthy -- see\n  below), unapplied-scale detection (a common cm/m unit-mismatch symptom), origin offset from each\n  object's own bounding-box center/bottom-center (data, not a defect -- an off-center origin is\n  often deliberate), UV out-of-[0,1]-range/zero-area/overlap detection (out-of-bounds and overlap\n  are data, not defects -- tiling textures and mirrored UV islands both use them deliberately;\n  zero-area is a real \"never actually unwrapped\" defect), vertex color layers and other genuinely\n  custom mesh attributes (Blender's own non-internal built-ins -- `position`, `material_index`,\n  bevel weight, crease -- are excluded), per-animation-clip bone count and root-motion detection\n  (whether the armature's own root bone's `location` channel actually moves, vs. an in-place\n  cycle meant to be driven by a character controller), bone hierarchy (name/parent per bone) and\n  unweighted-vertex detection on skinned meshes (a vertex with no bone weight at all won't move\n  with the rig -- skipped, not falsely flagged, on meshes with no armature modifier at all), a\n  default LOD1/2/3 triangle-ratio suggestion (50%/25%/10% of the file's current total, with the\n  `optimize.py --decimate-ratio` command for each -- a starting-point estimate, not a guarantee),\n  a draw-call estimate (one per distinct material a mesh object's faces actually use, not the\n  cruder \"material count x object count\" that overestimates as soon as objects share a material),\n  misconfigured-transparency detection (a hard binary-alpha mask, e.g. foliage, using real\n  alpha blending instead of the cheaper, sorting-artifact-free dithered mode), misconfigured-\n  texture-colorspace detection (Base Color/Emission not tagged `sRGB`, or Metallic/Roughness/\n  Alpha/a normal map's own texture not tagged `Non-Color` -- the latter is the most damaging in\n  practice: a mistagged normal map silently warps the decoded normal vectors, no error thrown),\n  (glb/gltf only)\n  the file's own `extensionsUsed`/`extensionsRequired` list read straight from its JSON -- with a\n  short description per known `KHR_*`/`EXT_*` extension -- since Blender's importer translates\n  those into its own representation and doesn't expose which ones the source file declared, and\n  duplicate-mesh/instancing detection (objects already sharing one mesh datablock, reported as\n  data; objects on *separate* datablocks with identical geometry, flagged as a real \"could share\n  one datablock\" memory-saving opportunity), and (`.obj` only) the referenced `.mtl`'s per-\n  material Phong parameters (Ka/Kd/Ks/Ns/d/illum) alongside the same Ns-to-roughness heuristic\n  Blender's own OBJ importer applies -- confirmed to match its real output exactly -- since\n  OBJ/MTL predates PBR and has no metallic/roughness channels of its own (metallic is never\n  guessed: no reliable signal separates a metal from a shiny dielectric in Phong parameters\n  alone), ray-cast wall-thickness analysis (a real, testable \"3D-Print Toolbox\"-style\n  thickness check -- that add-on itself is a Blender Extension as of 4.2+, not bundled, so not\n  something this skill can assume is installed), and point-cloud detection (a PLY vertices-only\n  mesh -- photogrammetry/LiDAR scan data -- reads `is_point_cloud: true` and skips the usual\n  no-UV-map warning, which is meaningless for one), each defect naming its fix command where a\n  safe one exists.\n- **`convert.py`** -- glb/gltf, fbx, obj, stl, usd, usdz, ply, abc, .blend, any direction;\n  `--verify` re-imports the output and diffs it against the input; `--up-axis`/`--forward-axis`\n  set the output's coordinate-system convention (Blender's X/Y/Z/-X/-Y/-Z vocabulary) -- glTF\n  only accepts up-axis Y or Z and has no forward-axis control at all (its spec is fixed Y-up);\n  ABC and .blend have no axis-orientation control in Blender at all.\n- **`split.py`** -- split one multi-object file into one output file per independent object\n  hierarchy (a root object with no parent, plus every descendant), so a skinned mesh stays with\n  its armature while an unrelated standalone object becomes its own file.\n- **`lod.py`** -- batch-generate LOD0 (unmodified original) through LOD3 in one call, one output\n  file per level, at either the default ratios matching `info.py`'s own LOD1/2/3 suggestions\n  (50%/25%/10%) or an absolute `--target-triangles` for LOD1 (LOD2/LOD3 auto-scale to keep the\n  same halving relationship). Strips Blender's own synthesized bone-shape display widget after\n  import first (see `references/pitfalls.md`) -- otherwise a skinned character's reported\n  triangle counts are inflated by the widget's own triangles, and every level needlessly\n  decimates it too.\n- **`anim.py`** -- `--extract` strips every non-armature object, keeping just the skeleton and\n  its actions (an animation-only file); `--combine` merges several files' actions (matched by\n  bone name) onto one base character into a single output with every action as its own\n  exportable clip -- the Mixamo workflow of downloading a rigged character once and several\n  separate animation clips for it. Both discard Blender's own synthesized bone-shape display\n  widget rather than treating it as real content to preserve (confirmed not to exist in the\n  source file's own data -- see `references/pitfalls.md`).\n- **`optimize.py`** -- decimate, weld duplicate vertices, recalculate normals, triangulate, clean\n  up a mesh (`--clean-mesh`: orphan/loose vertices touching no face at all, plus degenerate\n  zero-area faces -- a no-op on a point cloud, since every one of its vertices touches zero faces\n  by definition; runs first so a decimate ratio/triangle budget is derived from a count that\n  excludes dead geometry), report vertex-cache efficiency (`--vertex-cache-report`: each mesh\n  object's Average Cache Miss Ratio -- a FIFO 32-entry vertex-cache simulation over the current\n  triangle order, 3.0 the real worst case (no cache reuse at all), 0.5 a common target for a\n  large closed mesh but not a universal floor (an unusual small/non-manifold mesh can score\n  below it, confirmed directly) -- before and after this run's own topology changes, a\n  zero-triangle mesh reporting `null` in `--json` output and `n/a` in text output; reports\n  only, doesn't reorder itself, since `--meshopt` already delegates to gltf-transform's own\n  cache-aware `reorder` command), fill boundary-edge holes (`--fill-holes`), bake unapplied scale\n  into the mesh (`--fix-scale`),\n  recenter an object's origin without moving its geometry (`--origin center|bottom`), cap texture\n  resolution, purge orphan data, thin a point cloud by voxel-grid downsampling\n  (`--point-thin-voxel SIZE` -- a no-op on any mesh that has faces, since that's what\n  `--decimate-ratio` is for), convert every texture to WebP (`--webp`, glb/gltf output only,\n  adds `EXT_texture_webp`) -- reports the file's own real before/after texture bytes rather than\n  assuming a reduction, because WebP at Blender's own default quality can end up *larger* than a\n  well-compressed PNG for some textures (confirmed, not hypothetical -- see\n  `references/pitfalls.md`; `--webp-quality` gives a lever to actually shrink when that happens);\n  `--texture-auto-resolution` computes a per-texture cap instead of one flat `--texture-max`,\n  from how much of the whole file's combined bounding box the largest object using that texture\n  spans -- a real, data-driven screen-occupancy proxy this skill has no way to get from an actual\n  camera/FOV, times `--viewport-width` (default 1920), rounded to the next power of two;\n  `--target-web`/`--target-mobile`/`--target-ar`/`--target-sketchfab`/`--target-vrchat`/\n  `--target-roblox`/`--target-gltf-viewer`/`--target-quicklook` presets -- each grounded in that\n  platform's own published numbers where one exists (VRChat's official PC \"Good\" Performance Rank\n  triangle threshold, Roblox's official per-mesh triangle/texture caps, Apple's own AR Quick Look\n  guidance), cited in `PRESETS`' own comment in `scripts/bpy/optimize.py`, not invented; a preset\n  with a real *absolute* platform triangle cap (`vrchat`/`roblox`/`quicklook`) converts it into an\n  actual decimate ratio at run time, so the output is really at or under that cap regardless of\n  how big the input was to start -- not a fixed fraction that couldn't guarantee compliance for an\n  arbitrary input size, a no-op when already within budget. `vrchat`/`quicklook` compute one\n  shared ratio from the *whole file's combined* triangle count, matching how those platforms\n  actually evaluate a budget (one avatar/one scene as a whole); `roblox` instead clamps each mesh\n  object *independently* against the same absolute number, since Roblox's own real limit is\n  explicitly per individual mesh, not a scene total -- an aggregate ratio there would needlessly\n  decimate two already-individually-compliant meshes just because their combined total crossed\n  the cap, a case Roblox's real limit never actually restricts (caught by review; see\n  `references/pitfalls.md`); `--draco`/`--meshopt`/`--ktx2` delegate\n  to [gltf-transform](https://github.com/donmccurdy/glTF-Transform) (and, for `--ktx2`, the\n  [KTX-Software](https://github.com/KhronosGroup/KTX-Software) `ktx` CLI) when installed, and say\n  so and skip just that step when they aren't. `--generate-mipmaps DIR` pre-generates the full\n  mip chain (level 0 = this run's own final texture size -- after any `--texture-max`/\n  `--texture-auto-resolution` resize -- each level independently halved per dimension down to\n  1x1, the standard GPU mip-chain definition) as separate PNG files under `DIR`, for every\n  texture a mesh object's material actually references, using Blender's own `Image.scale()` (a\n  real box/bilinear filter, confirmed directly against a checkerboard pattern -- not a naive\n  nearest-neighbor resize); runs on a throwaway copy, never touching the texture still referenced\n  by this run's own export. For a pipeline/engine that needs mips pre-baked as loose files rather\n  than generated at runtime or embedded in a container format -- `--ktx2` already embeds its own\n  generated mip chain in the compressed KTX2 texture, so use `--generate-mipmaps` instead only\n  when you need the mips as standalone files. `--recalc-normals` warns instead of silently\n  trusting its own output on a still-non-manifold mesh -- see `references/pitfalls.md`, this is a\n  real failure mode, not a hypothetical one. `--fix-colorspace` corrects a texture's colorspace\n  tag based on which material socket it feeds (Base Color/Emission need `sRGB`; Metallic/\n  Roughness/Alpha/a normal map's own texture need `Non-Color` -- info.py flags the mismatch,\n  this fixes it); `--texture-colorspace NAME` is the blunt override, forcing every texture to one\n  named colorspace (e.g. `ACEScg`/`ACES2065-1` for an ACES-aware pipeline -- Blender's own\n  bundled OCIO config has no ACES *view transform* for rendering at all, only these texture-\n  tagging colorspaces, confirmed via its real enum). `--flip-normal-map-green` inverts the green\n  (Y) channel of every texture genuinely wired as a tangent-space normal map (an Image Texture\n  feeding a Normal Map node feeding a material's Normal input) -- the complete, sole pixel\n  operation to convert between OpenGL (+Y) and DirectX (-Y) normal map convention; R/X and B/Z\n  are shared between both conventions and left untouched. Deliberately does *not* attempt to\n  auto-detect which convention a normal map is currently in -- no reliable general-case,\n  pixel-data-only method for that exists (confirmed via research: even Adobe Substance 3D\n  Painter can't do it without an explicit tag, and Unity holds a patent, US12102923B2, for a\n  statistical reconstruction-error heuristic with no published reliability figures). glTF's own\n  spec mandates OpenGL convention for `normalTexture`; Unity and Godot also expect OpenGL; Unreal\n  expects DirectX -- each engine's own texture importer exposes only a manual \"flip green\n  channel\" toggle, never auto-detection, which is exactly what this mirrors: a deliberate\n  conversion you run when you know the source and target disagree. `--remove-unused-bones` prunes every bone\n  with zero skin-weight influence and no animation, from the leaves inward (never a bone a\n  still-used descendant needs); `--max-bones N` caps an armature at N bones -- a real\n  mobile-engine-style bone budget, not just a report -- removing the lowest-influence unanimated\n  leaf bones first and reassigning their skin weight to the parent bone, never removing an\n  animated bone even if the target can't otherwise be reached (warns instead). `--keyframe-\n  decimate TOLERANCE` thins every action's keyframes with Ramer-Douglas-Peucker curve\n  simplification, exact only for LINEAR/CONSTANT-interpolated segments (the two modes where the\n  real post-removal value is cheaply computable -- a straight line or a flat step): a keyframe is\n  dropped only if that real value would deviate by at most TOLERANCE (in that fcurve's own\n  units) from its actual value; a BEZIER-governed keyframe (Blender's own default for a hand-keyed\n  action) is never touched, since approximating its real curve risks silently exceeding TOLERANCE\n  (confirmed on a CONSTANT counterexample -- see `references/pitfalls.md`). A glTF import is\n  exclusively LINEAR, so this isn't a hobbled feature for that common case. The first/last\n  keyframe of every fcurve always survives. `--remove-unused-shape-keys` removes every non-Basis\n  shape key whose max per-vertex displacement from whatever it's actually defined relative to\n  (usually Basis, but a shape key can chain off another shape key instead) is below a tiny fixed\n  epsilon -- geometrically a no-op no matter its value slider, mute state, or any driver pointed\n  at it. A multi-level dead chain resolves correctly on its own: Blender's own\n  `obj.shape_key_remove()` automatically re-points every shape key that referenced the removed\n  one onto *its* relative_key (verified directly against real Blender), so removing a chain of\n  dead keys one at a time still lands every surviving key on the right base.\n  `--instance-duplicate-meshes` merges every group of mesh objects on separate datablocks that\n  are fully identical within a tight floating-point tolerance -- vertex positions, face topology\n  plus per-face material_index/use_smooth, sharp-face/sharp-edge marks, every UV layer's\n  name/active-render flag/coordinates, every color attribute's name/values and the mesh's\n  render-fallback selection, and the exact same Material datablocks (not just similarly shaped;\n  stricter than `info.py`'s own loose `duplicate_mesh_candidates` suggestion) -- onto one shared\n  datablock, freeing the now-orphaned duplicates. A material's node tree can look up a UV layer\n  or color attribute by *name*, so two meshes with identical values under different layer names\n  or a different render fallback are correctly left unmerged, not just ones with different raw\n  values (see `references/pitfalls.md`). Never merges a mesh with custom split normals (exact\n  comparison is out of scope) or touches a mesh with shape keys or an Armature modifier -- or any\n  datablock shared with such a mesh, even one of its *other* users would individually have\n  qualified: shared mesh data means shared shape-key/vertex-weight *state* in Blender's own data\n  model, not just shared shape, so merging those could silently change animated behavior.\n  `--merge-materials` merges every group of separate Material datablocks that are fully identical\n  onto one canonical datablock, redirecting every real reference to a duplicate (Blender's own\n  `ID.user_remap` -- every mesh/curve/other data-block's material slot and every per-object slot\n  override in one call, not a hand-enumerated walk that could miss a user type) before freeing it:\n  every non-identity RNA property on the Material itself, plus -- when `use_nodes` is on -- true\n  node-tree structural equality (the same node types/settings/socket values, and the exact same\n  links between them, matched by node name, not just a similar node count). An `Image`/`NodeTree`/\n  other ID reference inside the graph\n  (an Image Texture node's `.image`, a Group node's `.node_tree`, ...) is compared by datablock\n  *identity*, not by name or pixel content -- two texture nodes pointing at separately-created but\n  pixel-identical images are correctly left unmerged, since a real edit to one wouldn't reach the\n  other. A node property Blender marks read-only can still need comparing: a Color Ramp/Mapping/\n  Image-User-style nested settings struct is read-only only in the sense that the *pointer* can't\n  be reassigned, not that its own fields are fixed -- naively skipping every read-only property\n  would treat two Color Ramp nodes with completely different ramps as identical (see\n  `references/pitfalls.md`).\n- **`render.py`** -- a thumbnail, a 360° turntable (PNG sequence or an FFmpeg-encoded video), or\n  a 4-view sheet. Eevee by default, `--cycles` to switch.\n- **`look.py`** -- the agent's eyes: a wireframe render, a grid of every texture in the file, a\n  before/after comparison (with a pure-numpy PSNR/SSIM similarity score when the two images share\n  pixel dimensions), or the UV layout (as SVG -- headless Blender's PNG UV export needs a GPU\n  offscreen context `-b` mode doesn't have).\n- **`check.py`** -- PASS/WARN/FAIL against a delivery target's budget (three.js, Unity, Unreal,\n  Godot, iOS/Android AR, WebXR, 3D printing, Sketchfab), every row naming its fix command; for\n  `.usdz` inputs, also validates the package itself against Apple's real USDZ requirements (every\n  entry uncompressed and 64-byte-aligned -- read from the file's own zip structure, independent\n  of Blender).\n- **`bake.py`** -- Cycles-bake a material to a texture (AO/normal/roughness/diffuse/combined);\n  `--atlas` repacks UVs across several objects into one shared image first.\n- **`scene.py`** -- assemble a declarative `scene.json` (asset placement, lights, camera,\n  background) into a render and/or an exported 3D file.\n- **`batch.py`** -- chain this skill's own scripts as a recipe over every file in a folder, with\n  a content-hash cache so a re-run only reprocesses what changed.\n- **`verify.py`** -- the whole toolchain (info → convert --verify → check) over one or more real\n  files, PASS/FAIL per file.\n- **MCP server** (`mcp/server.py`) -- every script above as an MCP tool over stdio.\n\n## Usage\n\n```\n\"check this glb for a Unity import\"          -> check.py model.glb --target unity\n\"cut this to 50k triangles\"                  -> info.py, then optimize.py --decimate-ratio ...\n\"convert this fbx to usdz and confirm it worked\" -> convert.py model.fbx -o model.usdz --verify\n\"make a turntable of this model\"             -> render.py model.glb --turntable -o turntable.mp4\n\"bake this material to a single texture\"     -> bake.py model.glb --pass combined -o baked.png\n```\n\n## Scripts\n\n| Script | Purpose |\n|---|---|\n| `info.py` | Inspect: counts, scale, bounding box, manifold/UV checks |\n| `convert.py` | Cross-format conversion, with round-trip `--verify` |\n| `split.py` | Split a multi-object file into one file per independent object hierarchy |\n| `anim.py` | Extract animation-only data, or combine several files' actions (Mixamo workflow) |\n| `lod.py` | Batch-generate LOD0-3 files at decreasing triangle counts |\n| `optimize.py` | Decimate, weld, triangulate, cap texture size, purge unused, Draco/Meshopt/KTX2 (delegated) |\n| `render.py` | Thumbnail, turntable, 4-view sheet |\n| `look.py` | Wireframe, texture grid, before/after compare, UV layout |\n| `check.py` | Delivery-target PASS/WARN/FAIL with fix commands |\n| `bake.py` | Material-to-texture baking, with UV-atlas repacking |\n| `scene.py` | Declarative multi-asset scene assembly |\n| `batch.py` | Recipe chains over a folder, with a content-hash cache |\n| `verify.py` | The whole toolchain over real files |\n\nSee `references/pitfalls.md` for the real gotchas found building this (GPU-offscreen limits\nunder `-b`, an Eevee engine-name rename between Blender versions, format round-trip quirks) and\n`references/blender-versions.md` for which Blender versions have actually been tested.\n\n## MCP\n\n```json\n{\n  \"mcpServers\": {\n    \"blender-skill\": {\n      \"command\": \"python3\",\n      \"args\": [\"/path/to/blender-skill/mcp/server.py\"]\n    }\n  }\n}\n```\n\nEach tool takes one argument, `argv`: the exact CLI arguments you'd pass to that script.\n\n## Requirements\n\n- [Blender](https://www.blender.org/download/) 4.2 or newer (LTS releases tested: 4.2, 4.5;\n  latest tested: 5.2 -- see `references/blender-versions.md`)\n- Python 3.9+ for the host-side scripts (standard library only, no `pip install`)\n- Node.js 16+ only for the `npx blender-skill` installer itself\n\n## Development\n\n```bash\ngit clone https://github.com/kajisho5/blender-skill\ncd blender-skill\npython3 tests/test_all.py\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) and [ROADMAP.md](ROADMAP.md) for what's planned next.\n\n## License\n\nMIT -- see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}