Agent skill

Scenario Maya Groom

by scenario-labs in scenario-labs/skills

A skill your agent uses when grooming hair or fur in Maya with XGen (Interactive Groom splines or legacy descriptions): scalp hair, eyebrows, eyelashes, fur, guides, clumps, noise, parting, density…

MITAuto-check passedGame Development

Install Scenario Maya Groom

skills CLI
$ npx skills add scenario-labs/skills --skill scenario-maya-groom -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install scenario-labs/skills scenario-maya-groom --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-groom .claude/skills/scenario-maya-groom && rm -rf skills-src

Use ~/.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/

Facts

Skill name
scenario-maya-groom
GitHub stars
946
Token cost
~5k tokens
SKILL.md length
2,087 words
Files
7 (incl. scripts, references)
Skills in repo
146
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when grooming hair or fur in Maya with XGen (Interactive Groom splines or legacy descriptions): scalp hair, eyebrows, eyelashes, fur, guides, clumps, noise, parting, density…

  • Works in 10 steps: Probe and recipes (once per install).… → Scalp. G.scalp_check(scalp,… → Flow sheet and counts. From the… → …
  • Fur in Maya with XGen (Interactive Groom splines
  • SKILL.md covers Stance (the expert delta), Establish first, Workflow and Numbers, plus 5 more sections
  • Runs Python scripts from its folder; calls npx

What it does

Scenario Maya Groom is an agent skill from scenario-labs/skills. Use when grooming hair or fur in Maya with XGen (Interactive Groom splines or legacy descriptions): scalp hair, eyebrows, eyelashes, fur, guides, clumps, noise, parting, density maps, a fill layer, aiStandardHair shading, noisy or flickering hair renders, hair that must move (Linear Wire, nHair, Alembic caches), or a groom for Unreal (groom Alembic, cards). Also when XGen hair looks CG, clumps look uniform, the scalp shows through, or an XGen script fails.

Its SKILL.md is about 5k 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 Database migrations and Game development. 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.

When your agent uses it

  • Fur in Maya with XGen (Interactive Groom splines
  • Legacy descriptions): scalp hair
  • AiStandardHair shading
  • Flickering hair renders

Example prompts

  • “/scenario-maya-groom”

Requirements

  • Python 3
  • Node.js

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  1. Probe and recipes (once per install). G.probe() headless and in the GUI. Menu actions with no documented command are read, not clicked…
  2. Scalp. G.scalp_check(scalp, for_unreal=...). GATE: no error: line, border edges present (the hairline), UVs unique.
  3. Flow sheet and counts. From the reference write the flow sheet (base, whorl, part, direction, length regions) and count big clumps and…
  4. Guides. g = G.make_guides(scalp, flow, spacing=..., cvs=8, collide=head), few first (FlippedNormals); symmetric=True only on symmetric…
  5. Descriptions and wiring. G.create_description(scalp, "hair_body") per hair type (recipe, renamed). G.wire_guides(desc, g["curves"]): a…
  6. Stack, density and masks. Bottom to top: base (CV count per Numbers), Scale, Guide, primary and secondary Clump (G.build_clumps), strand…
  7. Clumps and breakup, one layer at a time (Giovannini). Once per install, P5b's two tests settle the Clump Scale convention, which knob acts…
  8. Shader and render. G.hair_shader(desc, preset=...) (replaces the default hairPhysicalShader), G.curve_render(desc, "ribbon"…
  9. Motion. Static follow, keyed wires (Flood) or dynamics (Linear Wire, Make Wires Dynamic). Caches are versioned. GATE: renders at the rest…
  10. Deliver (Handoffs).

What it can do on your machine

Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scenario Maya Groom loads about 5k tokens when it runs, and up to ~37k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 2,087 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~120
When it runs · the whole SKILL.md, loaded when a task matches
~5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~37k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 2,087 words, ~4,994 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-maya-groom/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
scenario-maya-groom
description
Use when grooming hair or fur in Maya with XGen (Interactive Groom splines or legacy descriptions): scalp hair, eyebrows, eyelashes, fur, guides, clumps, noise, parting, density maps, a fill layer, aiStandardHair shading, noisy or flickering hair renders, hair that must move (Linear Wire, nHair, Alembic caches), or a groom for Unreal (groom Alembic, cards). Also when XGen hair looks CG, clumps look uniform, the scalp shows through, or an XGen script fails.
license
MIT

Hair and fur grooming (XGen Interactive Groom, Maya 2027)

Expert grooming sets the flow on a few guides first, then a clump hierarchy with loose roots and varied profiles, then breakup only where the reference shows it (tips, strays), judged in close, side-lit renders with the real hair shader. Interactive Groom brushes have no stroke API, so the agent grooms with data (guides from a flow sheet wired into the stack, masks written as images, modifiers set by value) and judges with numbers from exported strands plus renders. Code: scripts/mx_groom.py (import mx_groom as G). 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): every Maya call here is not yet run in Maya (2027 not installed). The pure layer of mx_groom passes offline (tests/code/maya-groom/test_mx_groom_offline.py). Names not quoted from the 2027 help resolve at run time from G.NAME_CANDIDATES.

Stance (the expert delta)

  • Flow first, on the guides, copied from arrows drawn over the reference (Fernandez). Flow is pressure: neighbors share the compression curve, and opposing streams meet through a straighter band. Short fur turns sharply, long hair slowly. Decide whether the flow or a clump owns each big shape.
  • Roots loose, every clump different, two levels (Fernandez). No attraction over about the first 14 % of the length, or the base pinches into bald lines. 3 to 5 small clumps per big one; a third level only for long hair or manes. Vary size and profile (G.CLUMP_PROFILES: spike, onion).
  • Mask and tightness are different knobs (Fernandez 05, 06). The mask decides triangle versus square: square clumps are tight small clumps inside a looser big clump, both masks lowered. Tightness (IG Clump strength [added]) 0 keeps the clump's shape without converging; mask 0 removes it. Straight guides make them look alike, so test on noisy guides (G.clump_follow).
  • The level that gets the noise decides what breaks (Fernandez 07). Clump-level noise (the secondary Clump's Noise, tip half) breaks the big clumps and keeps the small ones and the roots; a Noise modifier breaks the small clumps too, so it goes on few hairs (Giovannini: 0 on the body, 3 on a 5 % share). Vary the frequency; fray only on few hairs. Stray clumps come from holes in the primary's mask, not a new system.
  • The hairline reads real through thinner edge strands plus transition and peach-fuzz descriptions, not density alone (Hadi Karimi). One density map is shared by every description; each hair type gets its own description.
  • A short fill layer hides the scalp (Giovannini): body guides cut to 2/3, so long hair need not be "crazy dense".
  • Motion drives a few wires, never the hair (Flood). Export the wires from the Linear Wire's inGuide. Update the Reference State at the rest pose on frame 1. Curve to Spline gets Align to Normals off.
  • Standard Hair realism comes from melanin, roughness and IOR (Arnold hair doc). Keep diffuse 0, tints white and indirect scales at 1, and use ribbon mode (Min Pixel Width only works there). Blond hair gets Extra Depth. Cost has four knobs (MPW, transparency depth, specular samples, AA); opacity below 1 costs significantly.

Establish first

Write the answers to brief.json before any node.

InputChangesDefault when silent
TargetArnold strands, Unreal strands, or cards (MtoA renders no XGen Card primitives)Arnold strands
Hair typesone description each: body, fill, fringe, strays, brows, upper and lower lashes, transition, fuzz. Close-up face: rule peach fuzz in or out (Hadi)body + brows
Stylerealistic: random clump points, Randomness > 0, melanin. Stylized: clumps on the guides (FlippedNormals), flat Base Color with Melanin 0 [added]. Both: a point on the defined-to-soft range, same silhouette (Fernandez 07)realistic
Motion, and who owns itstatic follow; keyed or simulated wires; rig or CFX department (Flood) or the groom file (2027 help)follows the scalp
Still or animatedstill likeness: grow on the head (Hadi). Animated or real time: scalp cap with clean UVsscalp cap
Camera distanceScattering Mode: Accurate for close-ups (10 to 30 % slower), Adaptive for mixed shotsAdaptive
Budgetspline count and GPU memory (xgmSplineQuery), Unreal sim guidesstate a number
Referenceflow arrows and clump counts come from itask; else write the assumed look down
New or inheritedInteractive Groom for new work; legacy XGen only for an inherited asset or non-spline primitivesInteractive Groom

Workflow

Headless mayapy (mx_run --plugins mtoa,xgen,abc, in that order) covers guides, masks, Alembic, Unreal tags, lint, analysis and Arnold reviews; the GUI bridge covers the menu queries and whatever the probe shows does not evaluate headless (IG computes on the GPU). references/procedures.md P16 is the whole job as one script with every gate asserted (G.gate raises).

  1. Probe and recipes (once per install). G.probe() headless and in the GUI. Menu actions with no documented command are read, not clicked: through the bridge, G.menu_recipe(name) queries the item's command string (cmds.menuItem(item, q=True, command=True)) and stores it; Attribute Editor buttons (Make Wires Dynamic, Reference State Update, Rebuild) go through G.button_recipe(name, node). Export Cache opens a dialog: write its @path@ template from G.recipe_source. GATE: probe JSON saved; recipe_status() shows the recipes the plan needs as recorded.
  2. Scalp. G.scalp_check(scalp, for_unreal=...). GATE: no error: line, border edges present (the hairline), UVs unique.
  3. Flow sheet and counts. From the reference write the flow sheet (base, whorl, part, direction, length regions) and count big clumps and small per big. GATE: G.check_flow_sheet(flow) == [].
  4. Guides. g = G.make_guides(scalp, flow, spacing=..., cvs=8, collide=head), few first (FlippedNormals); symmetric=True only on symmetric topology (Hadi). GATE: G.gate(G.measure_curves(...)["verdict"]), penetration 0, discontinuities only at parts and whorls.
  5. Descriptions and wiring. G.create_description(scalp, "hair_body") per hair type (recipe, renamed). G.wire_guides(desc, g["curves"]): a Guide modifier low in the stack interpolates the guides, fed by a Curve to Spline on its inGuide; it holds the region maps parts need. A Curve to Spline on the description itself turns each curve into one hair and disables everything below it: only for exact strands or caches. GATE: G.wiring_verdict: flow-sheet error of the hair drops after wiring, and the InGuide_base cache holds every guide.
  6. Stack, density and masks. Bottom to top: base (CV count per Numbers), Scale, Guide, primary and secondary Clump (G.build_clumps), strand Noise on a share, length breakup, Collision. G.write_hairline_mask for the hairline (band=True: transition), one map shared across descriptions (G.connect_texture), G.patches holes in the primary's mask for stray clumps. GATE: G.gate(G.lint()["lines"]); the coverage pass (showthrough %) and spline count within budget.
  7. Clumps and breakup, one layer at a time (Giovannini). Once per install, P5b's two tests settle the Clump Scale convention, which knob acts as tightness and what each noise level breaks. Export mid-stack caches, then G.hierarchy_from_states (3 to 5), G.breakup_report and G.measure_abc. Render Clump before and after Noise once each (2027 help). GATE: breakup_verdict and strand_verdict clean; a side-lit close-up passes references/critique.md, triangles and squares in the reference's proportion.
  8. Shader and render. G.hair_shader(desc, preset=...) (replaces the default hairPhysicalShader), G.curve_render(desc, "ribbon", min_pixel_width=...), G.cost_sweep over the four knobs with flicker. Save before rendering XGen. GATE: G.review(...) sheet judged with the critique, no shader warn:.
  9. Motion. Static follow, keyed wires (Flood) or dynamics (Linear Wire, Make Wires Dynamic). Caches are versioned. GATE: renders at the rest, mid and last frames with no penetration.
  10. Deliver (Handoffs).
Show full SKILL.md (859 more words)Show less

Numbers

ValueRelative toSource
no clump pull over the first ~14 %strand length, clump profileFernandez 02 [00:17:56]
spike: 0.01 at mid length; onion: mid bulge ~0.9legacy Clump Scale ramp (radius reading)Fernandez 02 [00:05:38], frames 00:06:00, 00:10:51
3 to 5 small clumps per big; 2 levels, 3 for long hairclump hierarchyFernandez 03 [00:01:31], [00:09:11]
second clump density 7.5, clump noise 2, Cut random up to 10his real-time scalp assetGiovannini [00:09:43] to [00:11:25]
strays 5 % (up to 20 %), noise 3 on strays, 0 on bodyshare of hairsGiovannini [00:09:28], [00:11:59]
noise mask 0.1 to 0.5 (1 kills clumping)legacy Noise modifierFlippedNormals [00:32:05]
20 CVs with noise; 24 to 36 for curlsmodifier or base CV countFlippedNormals [00:28:52]; 2027 help
random length 0.8 to 1.2; clump cut 0.2balanced around 1; small-clump levelFernandez 08 [00:09:33], [00:15:34]
melanin 0.2 blonde, 0.5 red or brown, 1.0 blackStandard HairArnold hair doc
IOR 1.55 (outside 1.4 to 1.6 only wet); Shift 0 to 10 deg, 2.3 to 3.7 measured, 0 syntheticStandard HairArnold hair doc
Unreal: Sub Steps 40, Iterations 10, Collision Radius 3.5, Bend Scale tip 0.1UE 5.3 era [estimate]Giovannini [00:51:04] to [00:54:27]
Nucleus Space Scale 0.01cm scenesmaya-version-deltas 2.8

Quality gates

In code. G.lint() (plug-in order, stack, clump wiring and profiles, noise placement, budget, shader), G.measure_abc(cache)["verdict"] (root pinch, profile variety, small per big, strays, tip noise, frequency and fray, length balance, flow, penetration), G.wiring_verdict, G.breakup_verdict, G.unreal_verdict(G.inspect_abc(abc)). G.gate turns any of them into an assertion. Thresholds marked [added] are this skill's defaults; each line cites its rule.

Visual. G.review(hair, out, head=head, scalp=scalp, closeups=[...]) renders the real shader: beauty (dome plus a key along the groom, Schneider), backlit (strays, halo), silhouette, coverage. Viewport captures only after G.viewport_aa(True) (FlippedNormals, Fernandez). Judge with references/critique.md: flow, then clumps, then strands (Fernandez).

Common mistakes

MistakeLooks likeFix
Guides not wired, or through Curve to Spline on the descriptionhair ignores the flow sheet, or one hair per curveG.wire_guides (Guide modifier), then wiring_verdict
Clumped rootsbald lines between clumps at the scalproot-loose Clump Scale ramp (Fernandez)
One clump shape everywhere, all triangles"CG" regularityRadius Variance, profiles, square clumps (Fernandez 02, 05)
Mask and tightness judged on straight guidestwo knobs seem to do the samenoise below the Clump, G.clump_follow (Fernandez 06)
Strand noise to break big clumps; noise on the bodysmall clumps dissolve into frizzclump-level noise, strand noise on a share (Fernandez 07, Giovannini)
One noise frequency, fray everywherefake, uniform frizzvary frequency; fray on few hairs (Fernandez 05)
Strays as a new system onlystrays unrelated to the clumpsholes in the primary's mask (Fernandez 03)
Extending strandscriss-crossing inside clumpsscale or cut at the small-clump level (Fernandez 08)
Jagged clumps, bad placementstepped clump edgesraise Map Subdivision Level on every level; new Seed (2027 help)
Secondary density at or below primarysecondary clumps leak across cellsduplicate the primary, raise density, Use Control Map (2027 help)
Clumps crossing a partclumps straddle the partGuide region map as clump control map, or separate descriptions
Cache without Multiple Transforms and Write Final Widthcurves wrong in other appsturn both on (2027 help, Flood); check Epic's opposite advice
Default hairPhysicalShader keptno indirect diffuse on the hair (Ai Kd Ind defaults to 0)aiStandardHair, or raise Ai Kd Ind (2027 help)
Judging an aliased viewportdensity and clumps misreadG.viewport_aa(True) first

Handoffs

  • Receives from scenario-maya-retopology-uv: a scalp-only cap (open border at the hairline), unique UVs in 0 to 1, UV set map1 for Unreal, frozen, no history; it passes G.scalp_check.
  • Receives from scenario-maya-animation: rig referenced, shots starting at the rest pose on frame 1, an Alembic of the animated body (-uvWrite, -stripNamespaces), and the wires cache when the rig owns the wires.
  • Delivers to scenario-maya-lighting-rendering: a new groom version, aiStandardHair assigned and linted, ribbon settings, versioned per-shot caches, the review sheet and what was not verified. Loop in scenario-maya-lookdev when the hair must match the skin.
  • Delivers to scenario-maya-pipeline-scripting (Unreal): <asset>_ue5.abc with groom_group_id, groom_guide (real guides, no fill) and groom_root_uv (UV set map1), a clean unreal_verdict on the reimport, and the Unreal start values (Numbers).

Maya 2027 notes

  • Legacy descriptions do not work with Interactive Groom tools; convert one at a time, then Rebuild each (Giovannini).
  • Default IG shader is hairPhysicalShader (Ai Kd Ind 0). Standard Hair gained scattering_mode in MtoA 5.6.0. Load MtoA before XGen.
  • IG computes on the GPU; headless evaluation on Apple Silicon is unverified (probe). Parallel Maya known limitation: batch rendering XGen scenes "may produce incorrect results".
  • Alembic is Ogawa only. Epic's scripts are Python 2 and API 1.0: use the mx_groom ports. No Arnold GPU on macOS; Arnold RenderView replaces Maya IPR. Ctrl means Control, not Command.

References

  • references/procedures.md: code for every stage, P5b clump tests, P16 the whole job. Load before writing groom code.
  • references/critique.md: the rubric for judging a groom from renders and numbers. Load at every gate.
  • references/expert-notes.md: principles by expert, disagreements with deciding conditions. Load when choosing between options.
  • references/gui-paths.md: menus, editors, brushes, hotkeys (computer-use agent).
  • references/sources.md: every source, credentials, URLs, best timestamps.

© 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

Files

SKILL.md and 6 other files (scripts, references) in skills/dcc/maya/scenario-maya-groom of scenario-labs/skills.

  • SKILL.md
  • references/critique.md
  • references/expert-notes.md
  • references/gui-paths.md
  • references/procedures.md
  • references/sources.md
  • scripts/mx_groom.py

Open the folder on GitHubat commit f6f8ab7

Compare with similar skills

Scenario Maya Groom 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.

Scenario Maya Groom compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Maya Groom this skillscenario-labs/skills946—~5kAutomated safety check: PassMIT
Export Pipelinearjun988/blender-skills283—~1kAutomated safety check: PassMIT
Godot 3D Materialsthedivergentai/GD-Agentic-Skills821—~5.5kAutomated safety check: PassLGPL-3.0
Godot Gdscript Patterns925236118/AlphaAgent10310 repos~5kAutomated safety check: PassMIT
Sprite Genaldegad/sprite-gen2.7k—~4.9kAutomated safety check: PassApache-2.0
2D Map and Scene Generator0x0funky/agent-sprite-forge4.4k—~2.9kAutomated safety check: PassMIT

Similar skills

  • 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.

    283 GitHub stars~1k tokensUpdated 3 mo ago
    Game DevelopmentAuto-check passed
  • Godot 3D Materials

    thedivergentai/GD-Agentic-Skills

    Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion.

    821 GitHub stars~5.5k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Godot Gdscript Patterns

    925236118/AlphaAgent

    Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.

    103 GitHub starsUsed in 10 repos~5k tokens
    Game DevelopmentAuto-check passed
  • Sprite Gen

    aldegad/sprite-gen

    Generates images and game sprites through GPT or Grok with guided provider choices, separate saved defaults, automatic cleanup and optional curation.

    2.7k GitHub stars~4.9k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • 2D Map and Scene Generator

    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.

    4.4k GitHub stars~2.9k tokensUpdated 4 days ago
    Game DevelopmentAuto-check passed
  • Development and review guide for the Fantasy C# distributed game server framework: ECS, FTask, routing, service discovery, config and databases.

    1.4k GitHub stars~5.8k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed

More from scenario-labs/skills

All 146 skills in this repo
  • Scenario Blender Grease Pencil

    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…

    946 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Blender Hair

    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.

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • 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…

    946 GitHub stars~5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Chatgpt Pet Create

    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…

    946 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Animation

    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…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Audio

    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…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed

Questions about Scenario Maya Groom

What does Scenario Maya Groom do?

A skill your agent uses when grooming hair or fur in Maya with XGen (Interactive Groom splines or legacy descriptions): scalp hair, eyebrows, eyelashes, fur, guides, clumps, noise, parting, density…. Scenario Maya Groom is an agent skill from scenario-labs/skills. Use when grooming hair or fur in Maya with XGen (Interactive Groom splines or legacy descriptions): scalp hair, eyebrows, eyelashes, fur, guides, clumps, noise, parting, density maps, a fill layer, aiStandardHair shading, noisy or flickering hair renders, hair that must move (Linear Wire, nHair, Alembic caches), or a groom for Unreal (groom Alembic, cards).

When should I use Scenario Maya Groom?

Scenario Maya Groom fits situations like: fur in Maya with XGen (Interactive Groom splines; legacy descriptions): scalp hair; aiStandardHair shading; flickering hair renders.

How do I install Scenario Maya Groom in Claude Code?

Run `npx skills add scenario-labs/skills --skill scenario-maya-groom -a claude-code`. Or copy the skill folder (skills/dcc/maya/scenario-maya-groom in scenario-labs/skills) into .claude/skills/scenario-maya-groom in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Maya Groom in Codex?

Run `npx skills add scenario-labs/skills --skill scenario-maya-groom -a codex`. Or copy the skill folder (skills/dcc/maya/scenario-maya-groom in scenario-labs/skills) into .agents/skills/scenario-maya-groom in your project. Codex loads it when a task matches its description.

Can I use Scenario Maya Groom in Cursor, Gemini CLI or GitHub Copilot?

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-groom -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-groom, .gemini/skills/scenario-maya-groom, .github/skills/scenario-maya-groom and .opencode/skills/scenario-maya-groom in your project.

What does Scenario Maya Groom need to run?

Going by SKILL.md and its folder, Scenario Maya Groom needs Python for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Python 3; Node.js.

Does Scenario Maya Groom access the network?

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.

Is Scenario Maya Groom safe to install?

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.

What licence does Scenario Maya Groom use?

Scenario Maya Groom is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Maya Groom use?

About 5k tokens (SKILL.md is roughly 20k 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 32k tokens, read only when the agent opens those files.

What are the alternatives to Scenario Maya Groom?

Skills that share tags, products or a category with Scenario Maya Groom: Export Pipeline (arjun988/blender-skills, 283 stars), Godot 3D Materials (thedivergentai/GD-Agentic-Skills, 821 stars), Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars) and Sprite Gen (aldegad/sprite-gen, 2.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scenario Maya Groom?

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.