agentsclimarketplace

Presets

Skill chienchuanw/chuan-skills/plugins/gma2/skills/presets

Build grandMA2 Gobo / Color / Beam / Focus preset palettes from fixture-type XML profiles, programming the correct per-fixture-type DMX value for each named function so one logical preset works across mixed fixtures. Use whenever the user wants to "build presets", "make a color palette", "set up gobo/beam/focus presets", "program a preset pool", or hands over fixture XML files and a console to populate presets on. Requires the gma2 MCP server connected (run the connect skill first). Prefer this over hand-writing preset commands — it resolves fixture-specific values from the profiles instead of guessing.From its SKILL.md

Install
npx -y skills add chienchuanw/chuan-skills --skill presets

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.0 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

gma2 presets

Program preset palettes (Gobo=pool 3, Color=4, Beam=5, Focus=6) that work across a mix of fixtures. The hard part is that "Strobe Fast", "wide", "Iris Closed", "gobo 1.3" map to different DMX values on every fixture type — that info lives in the MA2 fixture-type XML, not on the wire. scripts/profile_palette.py reads the XML and resolves each named function to (attribute, At%) per type, which you merge into one Global preset.

Inputs (ask the user)

  • Fixture-type XML paths — exported from the console to USB (e.g. /Volumes/USB DISK/gma2/library/manufacturer@[email protected]). The user provides these each time; rigs differ. One XML per fixture type in use.
  • Which preset types to build (default: all four — Gobo/Color/Beam/Focus).
  • The console must be connected via the gma2 MCP (see the connect skill).

Workflow

1. Inspect the profiles

Run the bundled resolver to see what each fixture can do:

python3 plugins/gma2/skills/presets/scripts/profile_palette.py FIXTURE1.xml FIXTURE2.xml --dump

Note which fixtures support which preset types — dimmer-only profiles (a lone DIM channel) get no Gobo/Color/Beam/Focus and are excluded. Report a capability table so the user sees, e.g., "only the 600L has gobos; CT+ has no Focus."

2. Map fixture types to patched Fixture IDs

Query the live patch (List Fixture 1 Thru 1000 via send_raw_command) to learn the Fixture ID range for each type (e.g. Fine 600L = 101–109). You program presets by selecting real patched fixtures — the XML is only the value source. If a type's XML was given but it isn't patched, say so and skip it.

3. Choose palette contents (the only creative input — ask)

Use AskUserQuestion. Sensible defaults for a music show:

  • Color (extended, ~13–23): Red, Orange, Amber, Yellow, Green, Cyan, Blue, Lavender, Magenta, Pink, White, Warm White, Cool White — plus a pastel set (Soft Pink, Peach, Pale Gold, Mint, Sky Blue, Lilac…) if asked. Express colors as R/G/B/W 0–100; for light tints keep the lowest channel ~45–65 so they read as a colour, not washed-out white.
  • Scope: Global by default (one preset applies across all fixtures of the included types, by feature). Selective only if the user wants per-fixture values.
  • Gobo (600L-class only): Open + each wheel-1 and wheel-2 gobo, plus index/rotate/spin if "full".
  • Beam: Open, Closed, Strobe Slow, Strobe Fast, Prism, Frost, Iris Closed (each only on fixtures that have the function).
  • Focus: Zoom Wide/Medium/Narrow + Focus Near/Far (Focus only where present).

4. Resolve per-type values

For Beam/Gobo/Focus, build a JSON query list and resolve across all profiles:

python3 .../profile_palette.py *.xml --queries \
  '[{"label":"Strobe Fast","query":"max Strobe","feature":"SHUTTER"},
    {"label":"Zoom Wide","query":"wide","feature":"FOCUS"},
    {"label":"Prism","query":"4 facet prism"},
    {"label":"Gobo 1","query":"gobo 1.1"}]'

The output gives {label: {fixture_name: [attribute, at_percent]}}. See references/resolving.md for the query vocabulary (band vs. named-slot, strobe, zoom reversal, gobo/prism/frost/iris) and worked examples.

5. Check the pools are empty, then build

Read back List Preset 4.1 etc. first — don't clobber existing presets without confirming. Build via the MCP tools:

  • Color: build_color_palette with scope="global", target = all colour fixtures (e.g. Fixture 101 Thru 109 + Fixture 201 Thru 208), each colour as {id, name, r, g, b, w}. It sets COLORRGB1/2/3/5, stores, labels, and sets the pool swatch.
  • Gobo/Beam/Focus: build_preset_palette with preset_type set to "gobo" / "beam" / "focus" (the required first argument — picks the pool), scope="global", and per-preset by_target — one target per fixture type, each with the resolved (attribute, at_percent) pairs. Targets accumulate (merge) into one Global preset.

Clear the programmer before and after (ClearAll) so the rig isn't left lit.

6. Verify and report

List Preset <pool>.<first> Thru <pool>.<last> to confirm count + labels (note: List Preset 4 whole-pool may say "NO OBJECTS"; range form works). Report what was built, what was excluded and why, and remind the user the show isn't saved.

Preset pools

Gobo = 3, Color = 4, Beam = 5, Focus = 6.

What ships with it: 2 files

10.4 KB alongside SKILL.md, 1 of them executable

references/

scripts/

Gives 0 of the 12 instructions most mcp tooling skills give in ~1.2k tokens

Counted across 638 of the 750 authors here whose files we hold, read 2026-08-07

  • Create ten complex or independent read-only evaluation questionsin 69 of 638, across 15 files
  • Test servers using MCP Inspectorin 61 of 638, across 19 files
  • Provide actionable error messages with specific next stepsin 54 of 638, across 12 files
  • Prioritize comprehensive API coverage over specific workflows or workflow toolsin 54 of 638, across 12 files
  • Use TypeScript and Streamable HTTP for remote servers or clientsin 54 of 638, across 8 files
  • Define structured output schemas where possiblein 50 of 638, across 8 files
  • Use Zod or Pydantic for input schemasin 47 of 638, across 5 files
  • Fetch MCP specification pages with markdown suffixin 46 of 638, across 4 files
  • Load framework documentation using WebFetchin 45 of 638, across 3 files
  • Verify each evaluation answer independentlyin 45 of 638, across 3 files
  • Implement API client with authentication and paginationin 45 of 638, across 3 files
  • Define input schemas with validationin 27 of 638, across 9 files

Said here and by no other author read

  • ask for fixture XML paths and preset types
  • run profile resolver on provided fixture XMLs
  • report fixture capability table to user
  • query live patch for fixture type ID ranges
  • ask user to choose preset palette contents
  • resolve preset DMX values from fixture XMLs

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,764. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.