figjam-create-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_figmarules — load the officialfigma-useskill first; it is the full Figma Plugin API reference. Essentials these scripts rely on: plain JS with top-levelawait+return(no IIFE, nofigma.closePlugin();console.logis not returned), inputs inlined asconstat 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_diagramtool 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: "figjam-create-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
shapeTypevalues: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).