| name | create-figjam-content |
| description | Author FigJam boards with granular control — sticky notes (single + batch), connectors between nodes, shapes-with-text, sections, tables, code blocks, and auto-arrange — plus read back board contents and the connection graph. Use when the user wants to build or edit a FigJam board element-by-element. Triggers: 'add stickies to FigJam', 'create a flowchart/diagram in FigJam', 'connect these nodes', 'make a section/table/code block in FigJam', 'auto-arrange the board', 'read what's on the FigJam board', 'map the connections'. More granular than the native generate_diagram (which produces a whole diagram in one shot). FigJam files only (figma.editorType === 'figjam'). Requires the Figma Desktop app (Plugin API). |
| disable-model-invocation | false |
create-figjam-content — author & read FigJam boards
Build FigJam boards one element at a time and read them back. Covers stickies (single + batch),
connectors, shapes-with-text, sections, tables, code blocks, auto-arrange, plus get board contents
and get connections. This gives you fine-grained control when the native one-shot
generate_diagram is too coarse (e.g. you want specific colors, positions, magnets, or to extend an
existing board).
Skill boundaries
use_figma rules — load the official figma-use skill first; it is the full Figma Plugin API reference. Essentials these scripts rely on: plain JS with top-level await + return (no IIFE, no figma.closePlugin(); console.log is not returned), inputs inlined as const at the top of each script, colors in 0–1 range, load fonts before any text op, await figma.getNodeByIdAsync(...), and atomic errors (a failed script applies nothing — read the error, fix, retry).
- One complete snippet per operation → references/figjam-snippets.md.
- Whole-diagram generation in one call → use the native
generate_diagram tool instead.
Workflow
- Confirm it's a FigJam file. Every op throws outside FigJam. Check first:
return { editorType: figma.editorType }; — it must be 'figjam'.
- Pick the operation from references/figjam-snippets.md: create
sticky / stickies / connector / shape-with-text / section / table / code block, auto-arrange, or
read board contents / connections.
- Run the snippet via
use_figma (skillNames: "create-figjam-content"), editing the inlined
constants (text, position, color, node IDs).
- Connectors need real node IDs. Create the nodes first, capture their returned IDs, then create
connectors referencing those IDs (start/end + magnets).
- Return created IDs and, after a batch, read the board back (
get board contents) to confirm.
Notes
- Fonts must be loaded before text. Stickies, shapes-with-text, table cells, and connector labels
all write text — each snippet
await figma.loadFontAsync(...) before setting .characters, with an
Inter fallback where the default font may be unavailable.
- Sticky colors use a named palette (
YELLOW, BLUE, GREEN, PINK, ORANGE, PURPLE, RED,
LIGHT_GRAY, GRAY); other colors fall back to the default sticky fill.
- Shape
shapeType values: SQUARE, ROUNDED_RECTANGLE, ELLIPSE, DIAMOND, TRIANGLE_UP,
TRIANGLE_DOWN, PARALLELOGRAM_RIGHT, PARALLELOGRAM_LEFT, etc.
- Connector magnets:
AUTO, TOP, BOTTOM, LEFT, RIGHT.
- These tools require the Figma Desktop app (the Plugin API isn't available in the browser).