Multi agent
Practical design judgment for AI coding agents: 78 installable skills for craft, research, generation, Figma, and Memoire.
npx -y skills add sarveshsea/design-skills --skill multi-agentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 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.
What its author says it does
Copied from the file, not written here
Orchestrate multiple Claude instances on Figma canvas with box widgets, coordinated handoffs, error recovery
SKILL.md
4.8 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
/multi-agent — Parallel Agent Workflows in Figma
Orchestrate multiple Claude instances on the Figma canvas with full transparency via box widgets, coordinated handoffs, and error recovery. Requires /figma-use.
Freedom Level: High
Each agent operates autonomously within its scope. The orchestrator coordinates handoffs and resolves conflicts.
Architecture
Port Allocation
Port 9223 → Primary agent (orchestrator)
Port 9224 → Token engineer
Port 9225 → Component architect
Port 9226 → Layout designer
Port 9227 → Code generator
Port 9228-9232 → Additional specialists
The Mémoire plugin auto-discovers all instances via port scanning (9223-9232) every 5 seconds.
Instance Identification
Each agent instance should use a distinct bridge session name:
memi connect --name "Token Agent"
memi connect --name "Component Agent"
memi connect --name "Layout Agent"
Box Widget Protocol
Every agent creates a status box on the Figma canvas for human visibility.
Creating a Box
let agentSection = figma.currentPage.findOne(
n => n.type === 'SECTION' && n.name === 'Active Agents'
);
if (!agentSection) {
agentSection = figma.createSection();
agentSection.name = 'Active Agents';
agentSection.x = -400;
agentSection.y = 0;
}
const box = figma.createFrame();
box.name = `[${role}] ${task}`;
box.layoutMode = 'VERTICAL';
box.primaryAxisSizingMode = 'AUTO';
box.counterAxisSizingMode = 'FIXED';
box.resize(300, 1);
box.paddingLeft = box.paddingRight = 12;
box.paddingTop = box.paddingBottom = 10;
box.itemSpacing = 4;
box.cornerRadius = 8;
box.fills = [{ type: 'SOLID', color: { r: 0.06, g: 0.06, b: 0.12 }, opacity: 0.95 }];
box.strokes = [{ type: 'SOLID', color: statusBorderColor }];
box.strokeWeight = 1.5;
agentSection.appendChild(box);
Status Colors
const statusColors = {
idle: { r: 0.3, g: 0.3, b: 0.4 }, // Gray-blue
busy: { r: 0.96, g: 0.62, b: 0.04 }, // Amber
error: { r: 0.94, g: 0.27, b: 0.27 }, // Red
done: { r: 0.06, g: 0.73, b: 0.51 }, // Green
};
Updating & Collapsing
// Update status
myBox.name = `[${role}] ${newTask}`;
myBox.strokes = [{ type: 'SOLID', color: statusColors[status] }];
// Collapse on completion
myBox.resize(300, 28);
myBox.name = `✓ [${role}] Complete`;
myBox.fills = [{ type: 'SOLID', color: { r: 0.04, g: 0.45, b: 0.34 }, opacity: 0.3 }];
Coordination Patterns
Pattern 1: Pipeline (Sequential Handoff)
Token Engineer → Component Architect → Layout Designer → Code Generator
↓ ↓ ↓ ↓
Variables Components Pages React code
Each agent waits for the previous to broadcast completion.
Pattern 2: Parallel Atoms (Fan-Out)
Orchestrator
├── Agent A: builds Button, Badge, Avatar, Icon
├── Agent B: builds Input, Label, Select, Checkbox
├── Agent C: builds Card, Separator, Tooltip, Dialog
└── Merge: all atoms ready → continue to molecules
Pattern 3: Page Parallel (Independent)
Orchestrator
├── Agent A: designs Dashboard page
├── Agent B: designs Auth pages (Login, Signup, Forgot)
├── Agent C: designs Settings pages
└── Each agent runs full atomic pipeline for its scope
Pattern 4: Research + Design (Concurrent)
Research Agent: analyzing data, producing insights
Design Agent: building components as research completes
Code Agent: generating code as designs stabilize
All three work simultaneously, communicating via agent-broadcast
Error Recovery Protocol
When an agent encounters an error:
1. Update box widget: status → "error", show error message
2. Publish visible status with the canvas widget and bridge `agent-status`
3. Attempt self-fix (max 2 retries)
4. If unrecoverable:
a. Broadcast failure to orchestrator
b. Orchestrator reassigns task or adjusts plan
c. Box widget stays red until resolved
5. Never silently fail — always visible in Figma
Message Protocol
// Agent announcing status
{ type: 'agent-status', role: string, task: string, status: 'idle'|'busy'|'error'|'done' }
// Agent sending results to others
{ type: 'agent-broadcast', text: string, data: any, target?: string }
// Requesting agent list
{ type: 'agent-list' }
// Response: { agents: [{ id, role, task, status, capabilities }] }
Anti-Patterns
- Two agents modifying the same component simultaneously (use locking)
- Agents not announcing their role on connect
- Skipping box widgets (humans lose visibility)
- Not collapsing boxes on completion (visual clutter)
- Agents working without checking what others have built
- Silently failing without updating box widget status
Gives 0 of the 12 instructions most agent orchestration skills give in ~1.3k tokens
Counted across 742 of the 995 authors here whose files we hold, read 2026-08-06
- run the full test suite after integrating changesin 53 of 742, across 20 files
- reference existing artifacts by path or URLin 52 of 742, across 22 files
- dispatch one agent per independent problem domainin 50 of 742, across 17 files
- verify fixes do not conflictin 45 of 742, across 13 files
- include a suggested skills section in the documentin 45 of 742, across 15 files
- redact sensitive informationin 41 of 742, across 11 files
- save to the temporary directory of the operating systemin 39 of 742, across 9 files
- tailor the document to user-provided focus argumentsin 39 of 742, across 9 files
- spot check agent changes for systematic errorsin 34 of 742, across 7 files
- write a handoff document summarising the current conversationin 31 of 742, across 6 files
- assign each agent a specific scopein 23 of 742, across 8 files
- provide specific scope and clear goalin 23 of 742, across 5 files
Said here and by no other author read
- create a status box widget on the canvas
- assign each agent a unique port and session name
- broadcast role and status on connect
- wait for previous agent completion in sequential pipelines
- update box widget status on error
- attempt self-fix for errors up to two times
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.