Wraps related canvas nodes in labeled frames when they share a clear semantic tie: scenes, character reference sets, act beats. Waits for three or more nodes before proposing a group, enforces a 30-character title limit, and won't force groupings just because items were generated together. Handles all the layout math through a sidecar JSON file so positions stay out of the workflow graph. The patterns are sensible (scene cards arranged left to right, character refs in a compact grid) and it'll evict nodes from old frames when membership conflicts. Grouping here is strictly a view concern, which keeps the workflow clean and lets you reorganize the canvas without touching node data.

GitHub stars
293
last updated
Jun 9, 2026

Install

$ npx -y skills add utopai-research/pai-pro --skill groups-compose --agent claude-code

Installs into .claude/skills of the current project.

Files

When to propose

  • 3+ nodes share a clear semantic tie (same scene, same character, same beat)
  • The relationship would be obvious to a reader within 2 seconds of scanning the canvas
  • You can write a ≤ 30-character title that names the tie

Skip if fewer than 3 members or the tie is just generation order.

Contract

  • Use canvas_layout.js to write member positions and groupFrames in one atomic sidecar update.
  • Never write or edit workflow.json; never put x / y into node data.
  • A layout change may move member nodes when that makes the canvas clearer.
  • The frame's geometry (x, y, width, height) is a bounding box computed from the final member positions.
  • A node may appear in at most one frame; evict it from old frames in the same update.
  • No nested frames.
  • frameId: frame_<unix_ms>. Titles ≤30 chars recommended.

Patterns

Pick the one that fits. Grouping is current canvas state; read workflow.json per the project PROJECT_AGENT.md § "Choosing context" to verify ids.

1. Scene grouping

Sponsors

Details

Repository
github.com/utopai-research/pai-pro
Categories
Data Science & ML, Mobile Development, Design & UI/UX
First seen
Jun 11, 2026

More from utopai-research/pai-pro

All 6
1utopai-research avatarimage-composeutopai-research/pai-pro>-0skills.sh installs
2utopai-research avatarscript-composeutopai-research/pai-pro>-0skills.sh installs
3utopai-research avatarstory-to-video-workflowutopai-research/pai-pro>-0skills.sh installs
4utopai-research avatarvideo-composeutopai-research/pai-proGenerates and prompts video clips on the filmmaking canvas. Use when the user asks to generate, render, animate, continue, restyle, edit, shoot, or compose a vi0skills.sh installs
5utopai-research avatarvoice-composeutopai-research/pai-proDesigns and attaches voice samples or final narration/line audio on the filmmaking canvas via the local generate_voice.js CLI. Use before calling generate_voice0skills.sh installs
6lllllllama avatarpaper-context-resolverlllllllama/rigorpilot-skillsRigor Paper Context helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical 493.3Kskills.sh installs