Groups Compose

Rangschikt gerelateerde pai-pro canvas nodes in getitelde frames met berekende bounding boxes

Door Utopai-Research · Utopai-Research/pai-pro

Werkt met setup ★ 8.4/10

Groups Compose — Rangschikt gerelateerde pai-pro canvas nodes in getitelde frames met berekende bounding boxes

Wat het doet

Groepeert gerelateerde nodes op het pai-pro filmmaking canvas — scène-opnames, karakterreferentiesets, act-beats — in getitelde visuele frames, verplaatst leden naar een leesvolgorde-indeling en berekent de bounding box van het frame met vaste kaartgroottes en 24px padding. Het genereert een enkele atomaire lay-outupdate via de canvas_layout.js CLI van de repo, die node-posities en groepsframes samen schrijft in plaats van workflow.json te bewerken. Activeert bij verzoeken zoals "group these as Scene 2", "frame the character refs", of "arrange act 2 on the canvas".

Testrapport

De repo gekloond; skills/groups-compose is een enkele 105-regelige SKILL.md met geldige name+description frontmatter en geen gebundelde scripts, geen beveiligingsproblemen (grep naar curl|sh, base64, key/token exfil, injectietekst: geen hits). De twee dingen waarnaar het verwijst, worden opgelost — server/cli/canvas_layout.js en agent-templates/PROJECT_AGENT.md beide HTTP 200 raw; paden gebruiken $PAI_REPO_ROOT, niets machine-specifieks. Ik kon de CLI niet end-to-end uitvoeren (het POSTs naar de pai-pro viewer op localhost:7488, wat ./scripts/setup + start.sh nodig heeft), dus ik testte tegen de eigen pure validator van de server, server/lib/canvas_layout.js (nul imports), op een synthetisch 6-node canvas met één reeds bestaand frame: ik schreef een baseline lay-outpatch die alleen redeneerde vanuit workflow/positions data plus de bestaande framevorm, en vervolgens een tweede patch volgens het recept van de skill. Beide werden GEACCEPTEERD door applyCanvasLayoutPatch, maar het baseline frame was 1780x1060 (1.886.800 px2) met 2 van de 5 lidkaarten die buiten de framebox vielen (video_1 op y=1100 en audio_5 op x=1900) omdat canvas_positions.json geen kaartbreedtes/hoogtes bevat, terwijl de skill patch 1318x468 (616.824 px2, 3.06x strakker) produceerde met 0 overlopende leden en alle vijf nodes verplaatst naar een note-left / media-right rij met de gedocumenteerde 40px en 36px gaten. Docs verliezen een punt: de verplichting van de skill om "evict from old frames in the same update" wordt al automatisch door de server gedaan (mijn baseline liet de uitzetting weg en het verouderde frame werd nog steeds opgeschoond), en SKILL.md vermeldt nooit dat de viewer moet draaien om stap 7 te laten slagen.

Getest op: 2026-07-31 · Claude Code 2.x (agent harness)

Installatie

git clone --depth 1 https://github.com/Utopai-Research/pai-pro.git /tmp/groups-compose-src
mkdir -p ~/.claude/skills
cp -R /tmp/groups-compose-src/skills/groups-compose ~/.claude/skills/groups-compose
# The skill only does anything inside a pai-pro project: its one write path is
#   node "$PAI_REPO_ROOT/server/cli/canvas_layout.js" --layout-json '{...}'
# which POSTs to the local viewer at http://localhost:7488. So you also need:
#   cd /tmp/groups-compose-src && ./scripts/setup --agent claude   # installs deps, sets PAI_REPO_ROOT, registers skills
#   ./scripts/start.sh                                             # starts the viewer on :7488
# Plugin-marketplace alternative (installs all 7 pai-pro skills):
#   /plugin marketplace add Utopai-Research/pai-pro  then  /plugin install pai-pro
# Skill folder is a single SKILL.md, no bundled scripts.

Commando's en voorbeeldprompts

  • /groups-composeRangschikt gerelateerde pai-pro canvas nodes in getitelde frames met berekende bounding boxes

Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):

  • Group these scene nodes into a frame
  • Cluster the character references on the canvas
  • Arrange these act beats into a titled group