Export Pipeline
arjun988/blender-skills
Production export from Blender to FBX, GLTF, OBJ, USD, and Alembic with scale, pivot, rotation, normals, materials, animation, and collision verification via MCP.
A skill your agent uses when a Maya task involves simulation or procedural effects: nCloth or Nucleus (a cape, skirt, flag or garment on an animated character, cloth through the body, jittery or…
$ npx skills add scenario-labs/skills --skill scenario-maya-fx -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-maya-fx --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/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dcc/maya/scenario-maya-fx .claude/skills/scenario-maya-fx && 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 "scenario-maya-fx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/dcc/maya/scenario-maya-fx into .claude/skills/scenario-maya-fx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-maya-fx", 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/scenario-labs/skills/tree/main/skills/dcc/maya/scenario-maya-fxType 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 scenario-labs/skills --skill scenario-maya-fx -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-maya-fx --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/dcc/maya/scenario-maya-fx .agents/skills/scenario-maya-fx && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scenario-maya-fx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/dcc/maya/scenario-maya-fx into .agents/skills/scenario-maya-fx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-maya-fx", 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 scenario-labs/skills --skill scenario-maya-fx -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-maya-fx --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/dcc/maya/scenario-maya-fx .cursor/skills/scenario-maya-fx && 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 "scenario-maya-fx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/dcc/maya/scenario-maya-fx into .cursor/skills/scenario-maya-fx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-maya-fx", 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/scenario-labs/skills.git --path skills/dcc/maya/scenario-maya-fx--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 scenario-labs/skills --skill scenario-maya-fx -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-maya-fx --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/dcc/maya/scenario-maya-fx .gemini/skills/scenario-maya-fx && 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 "scenario-maya-fx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/dcc/maya/scenario-maya-fx into .gemini/skills/scenario-maya-fx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-maya-fx", 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 scenario-labs/skills scenario-maya-fxInstalls 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 scenario-labs/skills --skill scenario-maya-fx -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/dcc/maya/scenario-maya-fx .github/skills/scenario-maya-fx && 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 "scenario-maya-fx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/dcc/maya/scenario-maya-fx into .github/skills/scenario-maya-fx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-maya-fx", 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 scenario-labs/skills --skill scenario-maya-fx -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scenario-labs/skills scenario-maya-fx --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/dcc/maya/scenario-maya-fx .opencode/skills/scenario-maya-fx && 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 "scenario-maya-fx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/dcc/maya/scenario-maya-fx into .opencode/skills/scenario-maya-fx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-maya-fx", 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.
scenario-maya-fxA skill your agent uses when a Maya task involves simulation or procedural effects: nCloth or Nucleus (a cape, skirt, flag or garment on an animated character, cloth through the body, jittery or…
Scenario Maya Fx is an agent skill from scenario-labs/skills. Use when a Maya task involves simulation or procedural effects: nCloth or Nucleus (a cape, skirt, flag or garment on an animated character, cloth through the body, jittery or stretchy cloth), nParticles, Bifrost graphs (Aero smoke, dust puff, mist, fire, liquids, MPM cloth, snow, sand, "Bifrost smoke"), MASH scattering or motion graphics, sim caches (nCache, Alembic, OpenVDB, filecache, USD) or FX delivered to lighting or a game engine (flipbook sprites).
Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `references/critique.md`, `references/expert-notes.md` and `references/gui-paths.md`).
It sits in Game Development, covering Game development, Database migrations and Motion graphics. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
npxpython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
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.
Scenario Maya Fx loads about 5.3k tokens when it runs, and up to ~34k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 2,057 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); the scripts in this folder are not scanned.
The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 2,057 words, ~5,273 tokens.
.claude/skills/scenario-maya-fx/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.An expert FX TD fixes scale and inputs before touching a knob, changes few settings one at a time, never judges a live solve, and proves the result on the cache in numbers (penetration, stretch, pops, convergence) and in renders from the shot camera. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
REQUIRED BACKGROUND: scenario-maya-expert (execution channel, review loop, 2027 version traps).
Status (2026-09-24): Maya 2027 is not installed. The pure-Python layer of scripts/mx_fx.py passed offline (tests/code/maya-fx/test_fx_offline.py); every Maya call is not yet run in Maya; names marked [verify] are answered by job_00_fx_probe.py (python3 tests/code/maya-fx/run_all.py).
scene_units_in_meters 0.01 in a cm scene, or a 182 cm character is 182 m to the solver (2027 Help; SARKAMARI [00:29:22]; Stamatelos [00:30:21]). MPM detail_size is in meters, so a unit change silently changes resolution (Gast [00:07:29]).mx_fx.set_attrs returns the log.| Input | Why it changes the plan | Default when silent |
|---|---|---|
| Shot range, fps, action start | pre-roll, cache range, handles | 24 fps, pre-roll 50 frames before the action |
| Character delivery | sim duplicates need a skinned or cached body | referenced rig or Alembic from scenario-maya-animation |
| Linear unit and real size | solver scale | cm, real size checked with mx_fx.scale_report |
| Destination | film (Arnold, VDB, Alembic) vs game (sprites, baked meshes, USD) | Arnold film |
| Camera and motion blur | what penetration is acceptable | shot camera, blur on |
| Fabric or material | preset, stiffness | cape: heavy denim values [added pick]; dust: Aero smooth |
| Budget | substeps, resolution, sim time per frame | first pass 10/12, detail 0.1; final 30/35 |
Scale and inputs. mx_fx.scale_report(meshes, expected_size_m=...); if the model is not real size, fix the asset (Julan [00:02:02]). Record any deliberate non-physical scale (SARKAMARI's 0.25 on a 182 cm character) with art_choice=True. GATE: no error line.
Pick the system (options keyed to the brief):
| Effect | Default | Alternative and when |
|---|---|---|
| Cape, garment on a character | nCloth | Bifrost MPM cloth when it must tear, live in a Bifrost graph, or go to a game via USD (Jason hmuWr2nWSms, yo6y7cANfX0) |
| Dust puff, smoke, mist | Bifrost Aero | add MPM sand or snow for dirt clumps; nParticles for grit (doc-level only) |
| Snow, sand, mud impact | MPM granular | none in the sources |
| Scatter, crowds of copies, motion graphics | MASH (Repro) | Instancer for speed; Bifrost scatter_points for USD point instancers |
| Liquids | basic_liquid_graph | legacy Bifrost Fluids is gone |
Prepare cloth inputs. Topology gate mx_fx.cloth_topology_verdict(mx_audit.audit(garment), expected_border_loops=1): evenly spaced quads (cross links need quads), manifold, single-sided, holes sealed (SARKAMARI [00:03:05]). Pre-roll mx_fx.add_preroll(ctrls, action_start, rest=bind_pose); duplicates at the bind frame with mx_fx.sim_duplicate. GATE: verdict clean, the duplicate follows the original within 0.01 cm.
Build.
mx_fx.build_cloth_rig(garment_SIM, body_SIM, action_start, preset=...): one nucleus, Space Scale for the unit, start at the pre-roll, first pass substeps 10 / iterations 12, preset values, thin cloth and collider. Pin a cape collar with an input-attract lock map (value 1 plus Input Attract Method "Lock values of 1.0 or greater", Collide Last Threshold 1.0, [added] recipe from the doc) or Point to Surface with Exclude Collisions (SARKAMARI [00:23:40]), members on the input mesh (output-mesh members risk a DG loop, doc; point_to_surface(..., cloth=) rewrites them). GATE: rig["verdict"] has no error.basic_*_graph and Explode (Stamatelos [00:39:07]); script it with mx_fx.BifrostGraph (logs every VNN call) or reuse a GUI Echo All Commands log. Hide what you bring in (Jason). Open or flat emitters (ring, ground patch) need Shell, closed ones Solid (Stamatelos [00:10:40]). Set the sim's start frame. GATE: aero_source_verdict(...) on emitter_facts(mesh) and sim_range_verdict(...) clean; every output pulled; point or voxel count above 0 on every frame.mx_fx.mash_network(sources, geometry="Repro") [verify MASH.api]; unit-size sources (Waters). GATE: mx_fx.mash_cache_reasons(mx_fx.mash_inventory(waiter)) read.First pass cheap, then cache. Low resolution (Aero detail 0.1, cloth first pass), frames evaluated in order from the start frame (mx_fx.run_sim, step_frames), every frame played in the GUI. After a geo_detail_size or time_step_size change, or a compound created or exploded, re-run from the start (sim guide). GATE: nothing non-finite, no empty frame.
Measure and look. rep = mx_fx.sim_report(cloth_out, body_SIM, start, end, action_start=..., thickness=...), rep["convergence"] = mx_fx.convergence_test(...), mx_fx.sim_verdict(rep, budget_spf=...) (adds the doc's Timing Output gate: solve seconds per frame against the brief). Then look: headless mx_review.review([cloth_out, body_SIM], out, views=("side","back","threequarter"), modes=("clay",), focus=fixed) at the action start, the peak and the last frame; GUI mx_review.playblast from the shot camera; volumes with mx_fx.volume_review (Arnold, tricubic). Judge with references/critique.md.
Triage in this order (never stiffen first): scale; start state (pre-roll, Push Out, Crossover Push with Trapped Check); substeps with iterations above; thickness down, Self Collide Width Scale up; stretch and compression together (SARKAMARI [00:24:50]); Bend Solver High Quality for flips; Collide Last Threshold 1.0 when attract or rigidity drags cloth through; lower Strength on popping constraints; "frame change too large" means play from the start or cache (2027 Help). Leftover pokes: a sculpted corrective on the cached mesh, or accepted under blur (SARKAMARI [00:37:12]). Aero detail: 2027 sharpening (aero_refinement_settings, low amount), adaptivity bounds, or post_refine_aero on the cache (frames in order, original sources and colliders) before lowering detail size everywhere (sim guide).
Final cache and deliver. Final pass settings, nCache from the nucleus start (ncache_verdict: mcc stops at 2 GB, use mcx; positions only, so the cloth transform must stay still), disable the nucleus, Alembic of cloth and body over the shot range with UVs and color sets (mx_fx.alembic_export); Bifrost file_cache with only the properties the renderer needs; a cache-only render scene. GATE: mx_fx.alembic_check and file_sequence_report clean, a look at the cache.
| Value | Relative to | Source |
|---|---|---|
Space Scale, scene_units_in_meters 0.01 | cm scene | 2027 Help; Stamatelos |
| Nucleus 3 / 4 (presets), 10 / 12 first pass, 30 / 35 final | substeps / max collision iterations | doc; SARKAMARI |
| Pre-roll hold 25 + blend 25, start -50 | action at 0 | SARKAMARI |
| Trousers friction 0.1, stretch 80, compression 20, damp 0.4 then 0.2, mass 0.8 | T-shirt preset 0.3 / 35 / 10 / 0.8 / 0.6 | SARKAMARI; doc |
| Loose shirt stretch 40, compression 15, mass 0.2, damp 0.3 | same | SARKAMARI |
| Rest length 0.9 tight, 0.5 bunching; attract 0.7 [?] collar | painted regions | SARKAMARI |
| Collide Last Threshold 1.0 (default 0.2) | attract or rigidity in use | doc |
| Aero ambient 20, source 580, buoyancy -9.81 | rise comes from the difference | Stamatelos |
| Aero detail 0.1 preview, 0.05 default, 0.025 fine | Absolute mode (world units); Relative keeps the voxel count constant | Jason; Stamatelos |
MPM initial_firmness about v squared (10 m/s: 100) | impact speed | Gast |
| MPM cloth area preservation 0.1 (0 = stiffest), vibration speed +10 steps, collision max speed about half | cloth | Jason |
| Sprites 64 frames x 512 px, 8 x 8 on 4096; density 0.005 for the SDF | flipbook | Jason |
cloth_topology_verdict, scale_report, nucleus_verdict (iterations above substeps, scale, pre-roll), sim_verdict (zero penetrating vertices after the action, stretch under 1.10 x rest [added], pops, settle, standoff, convergence, solve time), alembic_check (range, one mesh, vertex count), file_sequence_report (every frame, no runaway growth), sim_range_verdict (cache and review reach the shot end), ncache_verdict, mash_cache_reasons, overlaps (instances), sprite_framing, usd_check_unreal.| Mistake | Looks like | Fix |
|---|---|---|
| Space Scale 1 in a cm scene | slow, floaty giant cloth | 0.01, or record an art choice |
| Iterations at or below substeps | extra steps change nothing | iterations above substeps |
| No pre-roll, sim starts on the action | explosion or intersection at frame 1 | hold plus blend, start -50 |
| Alembic range starts after the nucleus start | solver jumps, cloth pops or freezes [added, verify] | cache first, or export from the start frame |
| Thick cloth for self collisions | bloated cloth standing off the body | thin cloth, Self Collide Width Scale |
| Bifrost output not pulled | object vanishes, no error | route feedback and debug nodes to the output |
| Stepping from after the sim's start frame, or a start frame outside the timeline | first frames do not solve, or nothing happens | step from the start frame (sim_range_verdict) |
| Absolute resolution with a small detail size | voxel count explodes, Maya hangs | Relative, or an aero_source_verdict estimate under budget (Stamatelos [00:12:48]) |
| Dust sourced hot | rises as a plume instead of spreading | temperature at ambient 20, initial speed and inherit velocity [added from Stamatelos' knobs] |
| Uniform smoke source | lumpy mushroom cloud | vary_source_property, noise-deformed emitter, turbulence, dissipation (Jason) |
| Relative collider detail on a big ground | gap under smoke or snow | smaller collider detail, link_collider_detail (MPM) |
| MPM pin plus direct make-to-simulate link | cloth simulated twice | remove the direct link |
| Face-area MASH scatter on a skinned mesh | points jitter | Mesh from Points, skin, copy weights, Vertex + Flood |
| Animated Time Scale without Simulated Time | catch-up burst | Simulated Time, then bake |
validate(profile="shot") clean. Asks for pre-roll room before the action if the timeline starts on it.<shot>_fx_render_v###.ma holding only caches; Alembics <asset>_<fx>_v###.abc (UVs, color sets, shot range plus handles) and the body they collided with (SARKAMARI [00:39:34]); VDB sequences with only density and velocity (plus temperature for fire); Bifrost caches .bob for resumable work; sim_report.json, the review sheet or playblast looked at, and what was not verified. Units cm, Y-up; frame range stated.sprite_framing clean, baked Alembic or USD meshes checked by usd_check_unreal, low resolution for engines (Jason yo6y7cANfX0 [00:05:09]).basic_liquid_graph.link_collider_detail, max_voxel_movement retries, lag_colliders, initial_firmness.simulate_liquid(s), liquid_solver_settings vs _properties, geo_volume_mode given to both Solid/Shell and Absolute/Relative): read ports with BifrostGraph.find_port.-j string splits on spaces [added, verify]: alembic_export writes to a space-free temp path first.references/procedures.md: full code for every stage (cloth, Bifrost, MPM, caches, VDB review, sprites, USD, MASH). Load before scripting.references/expert-notes.md: principles by expert with timestamps, and the choices where experts disagree. Load when a setting needs a reason.references/critique.md: the rubric to judge a sim, cache or scatter. Load before calling an effect done.references/gui-paths.md: menus and hotkeys for a computer-use agent, plus the Echo All Commands discovery path.references/sources.md: every source, credential, URL and best timestamps.scripts/mx_fx.py: the toolkit (docstring lists every function). Tests: tests/code/maya-fx/.© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts, references) in skills/dcc/maya/scenario-maya-fx of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Maya Fx 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 |
|---|---|---|---|---|---|---|
| Scenario Maya Fx this skillscenario-labs/skills | 946 | — | ~5.3k | Automated safety check: Pass | MIT | |
| Export Pipelinearjun988/blender-skills | 283 | — | ~1k | Automated safety check: Pass | MIT | |
| Sprite Genaldegad/sprite-gen | 2.7k | — | ~4.9k | Automated safety check: Pass | Apache-2.0 | |
| 3D Image Rendererhassancs91/claude-image-generation | 102 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Motion DesignWrongStack/WrongStack | 371 | — | ~852 | Automated safety check: Pass | MIT | |
| Threejs World Generationcalesthio/OpenMontage | 66k | — | ~2k | Automated safety check: Pass | AGPL-3.0 |
arjun988/blender-skills
Production export from Blender to FBX, GLTF, OBJ, USD, and Alembic with scale, pivot, rotation, normals, materials, animation, and collision verification via MCP.
aldegad/sprite-gen
Generates images and game sprites through GPT or Grok with guided provider choices, separate saved defaults, automatic cleanup and optional curation.
hassancs91/claude-image-generation
Generate PNG images by building a real Three.js 3D scene and capturing one frame headlessly — no image model involved.
WrongStack/WrongStack
Implement web and React animation, gesture feedback, layout transitions and scroll sequences.
calesthio/OpenMontage
Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.
0x0funky/agent-sprite-forge
Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.
scenario-labs/skills
A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…
scenario-labs/skills
A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.
scenario-labs/skills
A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…
scenario-labs/skills
A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…
scenario-labs/skills
A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…
scenario-labs/skills
A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…
Categories
A skill your agent uses when a Maya task involves simulation or procedural effects: nCloth or Nucleus (a cape, skirt, flag or garment on an animated character, cloth through the body, jittery or…. Scenario Maya Fx is an agent skill from scenario-labs/skills. Use when a Maya task involves simulation or procedural effects: nCloth or Nucleus (a cape, skirt, flag or garment on an animated character, cloth through the body, jittery or stretchy cloth), nParticles, Bifrost graphs (Aero smoke, dust puff, mist, fire, liquids, MPM cloth, snow, sand, "Bifrost smoke"), MASH scattering or motion graphics, sim caches (nCache, Alembic, OpenVDB, filecache, USD) or FX delivered to lighting or a game engine (flipbook sprites).
Scenario Maya Fx fits situations like: A Maya task involves simulation; procedural effects: nCloth; nucleus (a cape; garment on an animated character.
Run `npx skills add scenario-labs/skills --skill scenario-maya-fx -a claude-code`. Or copy the skill folder (skills/dcc/maya/scenario-maya-fx in scenario-labs/skills) into .claude/skills/scenario-maya-fx in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-maya-fx -a codex`. Or copy the skill folder (skills/dcc/maya/scenario-maya-fx in scenario-labs/skills) into .agents/skills/scenario-maya-fx 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 scenario-labs/skills --skill scenario-maya-fx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-maya-fx, .gemini/skills/scenario-maya-fx, .github/skills/scenario-maya-fx and .opencode/skills/scenario-maya-fx in your project.
Going by SKILL.md and its folder, Scenario Maya Fx needs Python for the scripts in its folder and the command-line tools its instructions call (npx and python3). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Scenario Maya Fx is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.3k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 28k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scenario Maya Fx: Export Pipeline (arjun988/blender-skills, 283 stars), Sprite Gen (aldegad/sprite-gen, 2.7k stars), 3D Image Renderer (hassancs91/claude-image-generation, 102 stars) and Motion Design (WrongStack/WrongStack, 371 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.
Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.