Image to Three.js Model
img2threejs/img2threejs
Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.
Covers scripting Autodesk 3ds Max, the 3D modeling and rendering application, with MAXScript and Python (pymxs): scene manipulation, object creation, material assignment, camera and light setup…
$ npx skills add TerminalSkills/skills --skill 3dsmax-scripting -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TerminalSkills/skills 3dsmax-scripting --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/TerminalSkills/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/3dsmax-scripting .claude/skills/3dsmax-scripting && 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 "3dsmax-scripting" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/3dsmax-scripting into .claude/skills/3dsmax-scripting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3dsmax-scripting", 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/TerminalSkills/skills/tree/main/skills/3dsmax-scriptingType 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 TerminalSkills/skills --skill 3dsmax-scripting -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TerminalSkills/skills 3dsmax-scripting --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/3dsmax-scripting .agents/skills/3dsmax-scripting && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "3dsmax-scripting" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/3dsmax-scripting into .agents/skills/3dsmax-scripting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3dsmax-scripting", 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 TerminalSkills/skills --skill 3dsmax-scripting -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TerminalSkills/skills 3dsmax-scripting --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/3dsmax-scripting .cursor/skills/3dsmax-scripting && 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 "3dsmax-scripting" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/3dsmax-scripting into .cursor/skills/3dsmax-scripting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3dsmax-scripting", 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/TerminalSkills/skills.git --path skills/3dsmax-scripting--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 TerminalSkills/skills --skill 3dsmax-scripting -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TerminalSkills/skills 3dsmax-scripting --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/3dsmax-scripting .gemini/skills/3dsmax-scripting && 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 "3dsmax-scripting" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/3dsmax-scripting into .gemini/skills/3dsmax-scripting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3dsmax-scripting", 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 TerminalSkills/skills 3dsmax-scriptingInstalls 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 TerminalSkills/skills --skill 3dsmax-scripting -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/3dsmax-scripting .github/skills/3dsmax-scripting && 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 "3dsmax-scripting" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/3dsmax-scripting into .github/skills/3dsmax-scripting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3dsmax-scripting", 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 TerminalSkills/skills --skill 3dsmax-scripting -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TerminalSkills/skills 3dsmax-scripting --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TerminalSkills/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/3dsmax-scripting .opencode/skills/3dsmax-scripting && 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 "3dsmax-scripting" agent skill from https://github.com/TerminalSkills/skills/tree/main/skills/3dsmax-scripting into .opencode/skills/3dsmax-scripting/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3dsmax-scripting", 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.
3dsmax-scriptingCovers scripting Autodesk 3ds Max, the 3D modeling and rendering application, with MAXScript and Python (pymxs): scene manipulation, object creation, material assignment, camera and light setup…
3dsmax Scripting is an agent skill from TerminalSkills/skills. Covers scripting Autodesk 3ds Max, the 3D modeling and rendering application, with MAXScript and Python (pymxs): scene manipulation, object creation, material assignment, camera and light setup, batch operations, and file I/O. Use when tasks involve automating repetitive 3ds Max workflows, batch processing scenes, running scripts headless with 3dsmaxbatch, creating custom tools, or scripting scene setup for archviz, product visualization, or VFX.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_scores.json`). Compatibility notes: Autodesk 3ds Max on Windows (commercial license); Python examples need 3ds Max 2022 or later
It sits in Game Development, covering Data pipelines and ETL and 3D graphics and WebGL. It works with Python. The repository describes itself as: Open-source library of AI agent skills — SKILL.md files for Claude Code, Codex, Gemini CLI, Cursor. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit a021875. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are maxscript, bat and python).
From 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.
Autodesk 3ds Max on Windows (commercial license); Python examples need 3ds Max 2022 or later
From compatibility in the SKILL.md frontmatter.
3dsmax Scripting loads about 3.2k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 732 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 TerminalSkills/skills at commit a021875, republished under its Apache-2.0 licence (© TerminalSkills). 732 words, ~3,187 tokens.
.claude/skills/3dsmax-scripting/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.3ds Max has two scripting interfaces. MAXScript is the built-in language; its reference (the MAXScript Help) documents the classes, properties and functions used below. Python talks to the same runtime through the pymxs module, so the classes and functions in the MAXScript reference are available as pymxs.runtime.<name> (max ... commands are not; run them with pymxs.runtime.execute("max quick render")). Python 2 and the MaxPlus API were removed in 3ds Max 2022.
| 3ds Max | Python | Qt binding |
|---|---|---|
| 2022 | 3.7 | PySide2 5.15 |
| 2023 | 3.9 | PySide2 |
| 2024 | 3.10 | PySide2 |
| 2025, 2026 | 3.11 | PySide6 6.5 |
| 2027 | 3.13 | PySide6 6.8 |
.py files.python.ExecuteFile "D:/tools/scene_audit.py".3dsmaxbatch.exe (see Batch Operations) runs .ms and .py files without the UI.-- Parentheses create a local scope; undeclared variables at the top level are globals
(
local b = Box width:100 height:50 length:100 pos:[0, 0, 0] name:"Plinth"
local s = Sphere radius:25 pos:[200, 0, 25] segs:32
local p = Plane width:500 length:500 pos:[0, 0, 0]
-- Access objects
local obj = getNodeByName "Plinth" -- by name; $Plinth is the path-name form
-- objects, geometry, lights, cameras and selection are live scene collections
-- Transform
obj.pos = [100, 200, 0]
obj.rotation = eulerAngles 0 0 45 -- degrees
obj.scale = [2, 2, 2]
-- Properties
obj.wirecolor = color 255 0 0
obj.renderable = true
obj.isHidden = false
for o in objects where classOf o == Box do
format "Box: % at %\n" o.name o.pos
)Physical Material is the default material type since 3ds Max 2021.
(
local wood = PhysicalMaterial name:"Oak Floor"
wood.base_color = color 180 140 100
wood.roughness = 0.45
wood.base_color_map = BitmapTexture filename:"D:/textures/oak_diffuse.jpg"
wood.bump_map = BitmapTexture filename:"D:/textures/oak_bump.jpg"
wood.bump_map_amt = 0.3
$Plinth.material = wood
local glass = PhysicalMaterial name:"Glass" transparency:1.0 roughness:0.02
)Other properties follow the same pattern: metalness, roughness_map, metalness_map, refl_color_map, transparency_map, displacement_map. Emission is emission (weight) with emit_color.
(
-- Physical camera aimed at a target object
local cam = Physical_Camera name:"Cam_LivingRoom" pos:[500, -300, 150] \
target:(TargetObject pos:[-200, 500, 120])
cam.specify_fov = true
cam.fov = 65.0
cam.f_number = 8.0
cam.exposure_gain_type = 0 -- 0 = manual ISO, 1 = target EV
cam.iso = 400
cam.white_balance_type = 1 -- use the Kelvin value below
cam.white_balance_kelvin = 5500
-- Sun for daylight (pairs with the Physical Sun & Sky environment map)
local sun = Sun_Positioner name:"Sun"
sun.mode = 0 -- 0 manual, 1 date/time/location, 2 weather file
-- Photometric light: ceiling downlight
local spot = Free_Light name:"Downlight_01" pos:[150, 300, 270]
spot.intensityType = 1 -- unit shown in the UI: 0 = lm, 1 = cd, 2 = lx at
spot.intensity = 800 -- always candelas, whatever intensityType says
spot.useKelvin = true
spot.kelvin = 3000
spot.castShadows = true
)-- Append a line to a log file ("a" creates the file when it is missing)
fn writeLog path msg = (
local f = openFile path mode:"a"
if f != undefined do (
format "% | %\n" localTime msg to:f
close f
)
)
-- Read a text file line by line
fn readLines path = (
local f = openFile path
local result = #()
if f != undefined do (
while not eof f do append result (readLine f)
close f
)
result
)
-- Scene files
loadMaxFile "D:/projects/harbor-loft/scenes/kitchen.max" quiet:true -- returns false on failure
saveMaxFile "D:/projects/harbor-loft/scenes/kitchen_v02.max"
importFile "D:/models/furniture.fbx" #noPrompt
exportFile "D:/export/kitchen.fbx" #noPrompt selectedOnly:trueFor JSON or CSV, use Python's json and csv modules through pymxs instead of parsing in MAXScript.
"""scene_audit.py — report heavy meshes, objects without a material and missing textures."""
import os
from pymxs import runtime as rt
def audit_scene(max_faces=500_000):
issues = []
for obj in rt.geometry:
faces = rt.getPolygonCount(obj)[0] # #(faces, vertices); Python indexes from 0
if faces > max_faces:
issues.append(f"High poly: {obj.name} ({faces:,} faces)")
if obj.material is None and obj.renderable: # MAXScript undefined is None
issues.append(f"No material: {obj.name}")
for tex in rt.getClassInstances(rt.BitmapTexture):
if tex.filename and not os.path.exists(tex.filename):
issues.append(f"Missing texture: {tex.filename}")
return issues
for line in audit_scene():
print(line)MAXScript keyword arguments become Python keyword arguments, and scene changes are undoable only inside an undo context:
import pymxs
from pymxs import runtime as rt
with pymxs.undo(True, "Create plinth"):
plinth = rt.Box(width=100, length=100, height=50, pos=rt.Point3(0, 0, 0), name="Plinth")
plinth.material = rt.PhysicalMaterial(name="Concrete", roughness=0.8)Install extra packages with the interpreter in the 3ds Max folder: "C:\Program Files\Autodesk\3ds Max 2027\Python\python.exe" -m pip install --user pillow.
REM Run a script without the UI; exit code 0 means success
"C:\Program Files\Autodesk\3ds Max 2027\3dsmaxbatch.exe" D:\tools\scene_audit.py ^
-sceneFile D:\projects\harbor-loft\scenes\kitchen.max -listenerLog D:\logs\audit.log
REM Render one camera with the command-line renderer; other settings come from the scene
"C:\Program Files\Autodesk\3ds Max 2027\3dsmaxcmd.exe" -o:D:\output\kitchen.exr -w:4000 -h:2250 ^
-camera:Cam_LivingRoom -frames:0 D:\projects\harbor-loft\scenes\kitchen.max
REM Start the full application and run a launch script
"C:\Program Files\Autodesk\3ds Max 2027\3dsmax.exe" -silent -U MAXScript D:\tools\batch_render.ms3dsmax.exe has no output or resolution switches (-h there selects the graphics driver); use 3dsmaxcmd.exe or render() in a script. -mxs "command; command" runs a script string and then shuts 3ds Max down.
To process every .max file in a folder, loop over getFiles (folder + "/*.max"), call loadMaxFile f quiet:true, do the work, and finish with resetMaxFile #noPrompt — Example 1 shows the full script.
fn organizeByType = (
local furnitureLayer = LayerManager.newLayerFromName "Furniture"
local architectureLayer = LayerManager.newLayerFromName "Architecture"
local lightsLayer = LayerManager.newLayerFromName "Lights"
for obj in objects do (
if superClassOf obj == light then lightsLayer.addNode obj
else if matchPattern obj.name pattern:"*chair*" or matchPattern obj.name pattern:"*sofa*" then
furnitureLayer.addNode obj
else architectureLayer.addNode obj
)
)
-- Named selection sets
selectionSets["Interior Cameras"] = for c in cameras where matchPattern c.name pattern:"int_*" collect c
select (for obj in objects where obj.material != undefined and obj.material.name == "Oak Floor" collect obj)User request: "I have 40 .max files in D:/projects/harbor-loft/scenes. Export each one to FBX without opening 3ds Max by hand."
-- D:/tools/export_fbx.ms
(
local opts = maxOps.mxsCmdLineArgs -- values passed with -mxsString
local srcDir = opts[#src], outDir = opts[#out]
makeDir outDir all:true
for f in getFiles (srcDir + "/*.max") do (
if loadMaxFile f quiet:true then (
local target = outDir + "/" + getFilenameFile f + ".fbx"
exportFile target #noPrompt
format "exported %\n" target
)
else format "could not load %\n" f
)
)"C:\Program Files\Autodesk\3ds Max 2027\3dsmaxbatch.exe" D:\tools\export_fbx.ms ^
-mxsString src:"D:/projects/harbor-loft/scenes" -mxsString out:"D:/projects/harbor-loft/fbx" ^
-listenerLog D:\logs\export_fbx.log
echo %ERRORLEVEL%D:\logs\export_fbx.log gets one exported D:/projects/harbor-loft/fbx/kitchen.fbx line per scene, the FBX files land in the output folder, and %ERRORLEVEL% is 0 when 3ds Max logged no error. Exit code -130 means 3ds Max reported an error while running the script; the details are in the listener log and in Max.log.
User request: "Check kitchen.max for missing textures and objects without materials before I submit it."
Run scene_audit.py from the Python section against the scene:
"C:\Program Files\Autodesk\3ds Max 2027\3dsmaxbatch.exe" D:\tools\scene_audit.py ^
-sceneFile D:\projects\harbor-loft\scenes\kitchen.max -listenerLog D:\logs\audit.log
type D:\logs\audit.logHigh poly: Sofa_Fabric_02 (1,284,512 faces)
No material: Skirting_Board_014
Missing texture: D:\textures\oak_bump.jpgEach line names the object or file to fix. If none of these lines appear, the scene passed all three checks.
#noPrompt or quiet:true in batch scripts — otherwise import, export and reset dialogs block execution. loadMaxFile replaces the current scene without asking, and saveMaxFile overwrites existing files without asking; call checkForSave() first in interactive tools.undo on ( ... ) when the user should be able to undo them, and undo off for large batch edits, where the undo stack costs memory and time.gc() flushes the undo stack. In long loops call gc light:true, which frees memory without touching undo.( ... ) and declare local.3dsmaxbatch.exe and always pass -listenerLog so errors are captured.maxOps.isInNonInteractiveMode() before showing a rollout or message box; UI calls do nothing useful in batch mode and can stall network render servers.renderers.current before creating renderer-specific materials, lights or cameras."D:\temp" contains a tab). Write "D:/temp", "D:\\temp" or the verbatim form @"D:\temp".units.SystemType before hard-coding dimensions.-safescene ON when batch-processing files from outside your studio.3dsmaxcmd.exe cover plain multi-camera rendering without any code.© TerminalSkills, Apache-2.0. 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 1 other file in skills/3dsmax-scripting of TerminalSkills/skills.
Open the folder on GitHubat commit a021875
3dsmax Scripting 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 |
|---|---|---|---|---|---|---|
| 3dsmax Scripting this skillTerminalSkills/skills | 163 | — | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| Image to Three.js Modelimg2threejs/img2threejs | 18k | 1 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 | |
| Bambu Studio AIheyixuan2/bambu-studio-ai | 219 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Text To 3D AssetLaurentiuGabriel/unreal-game-assets-creation-skill | 147 | — | ~2.1k | Automated safety check: Pass | None | |
| Build123drawwerks/VibeCAD | 121 | — | ~1.4k | Automated safety check: Notes | MIT | |
| SimplecadapiPhySpace/SimpleCADAPI | 141 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 |
img2threejs/img2threejs
Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.
heyixuan2/bambu-studio-ai
End-to-end 3D printing for Bambu Lab printers. An agent skill from heyixuan2/bambu-studio-ai.
LaurentiuGabriel/unreal-game-assets-creation-skill
Generate a game-ready 3D asset by running the local AI pipeline sequentially: Fooocus (SDXL text-to-image) - Hunyuan3D-2 (image-to-textured-GLB) - optional Blender FBX convert + Unreal import.
rawwerks/VibeCAD
CAD modeling with build123d Python library. An agent skill from rawwerks/VibeCAD.
PhySpace/SimpleCADAPI
Build, assemble, inspect, reconstruct, and export parametric CAD models with the SimpleCADAPI Python SDK.
freshtechbro/claudedesignskills
Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js.
TerminalSkills/skills
Build custom Blender add-ons with Python. An agent skill from TerminalSkills/skills.
TerminalSkills/skills
Run local SEO from your terminal via the SEOG MCP server — Google Business Profile management, map-pack rank tracking and geo-grid scans, review sync and replies published to Google, competitor…
TerminalSkills/skills
Build marketplace and platform payment flows with Stripe Connect.
TerminalSkills/skills
Scripts and configures production rendering in Autodesk 3ds Max with the V-Ray and Corona renderers: output size and files, render elements, denoising, light mix, batch and command-line rendering…
TerminalSkills/skills
3proxy is a small open-source proxy server that runs HTTP/HTTPS, SOCKS4/5, SNI and TCP/UDP port-mapping proxies from one config file.
TerminalSkills/skills
Builds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other.
Works with
Categories
Covers scripting Autodesk 3ds Max, the 3D modeling and rendering application, with MAXScript and Python (pymxs): scene manipulation, object creation, material assignment, camera and light setup…. 3dsmax Scripting is an agent skill from TerminalSkills/skills. Covers scripting Autodesk 3ds Max, the 3D modeling and rendering application, with MAXScript and Python (pymxs): scene manipulation, object creation, material assignment, camera and light setup, batch operations, and file I/O.
3dsmax Scripting fits situations like: tasks involve automating repetitive 3ds Max workflows; batch processing scenes; running scripts headless with 3dsmaxbatch; creating custom tools.
Run `npx skills add TerminalSkills/skills --skill 3dsmax-scripting -a claude-code`. Or copy the skill folder (skills/3dsmax-scripting in TerminalSkills/skills) into .claude/skills/3dsmax-scripting in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TerminalSkills/skills --skill 3dsmax-scripting -a codex`. Or copy the skill folder (skills/3dsmax-scripting in TerminalSkills/skills) into .agents/skills/3dsmax-scripting 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 TerminalSkills/skills --skill 3dsmax-scripting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/3dsmax-scripting, .gemini/skills/3dsmax-scripting, .github/skills/3dsmax-scripting and .opencode/skills/3dsmax-scripting in your project.
SKILL.md names no scripts, command-line tools or credentials: 3dsmax Scripting is instructions for the agent only. Our summary lists: Python 3. Compatibility (from SKILL.md): Autodesk 3ds Max on Windows (commercial license); Python examples need 3ds Max 2022 or later.
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.
3dsmax Scripting is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with 3dsmax Scripting: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Bambu Studio AI (heyixuan2/bambu-studio-ai, 219 stars), Text To 3D Asset (LaurentiuGabriel/unreal-game-assets-creation-skill, 147 stars) and Build123d (rawwerks/VibeCAD, 121 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TerminalSkills (a GitHub organization) maintains it in TerminalSkills/skills, which has 163 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 3, 2026.
Source: TerminalSkills/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.