AgentStack
SKILL verified MIT Self-run

Figma Slides

skill-renfei-design-figma-ai-bridge-figma-slides · by renfei-design

>

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add skill-renfei-design-figma-ai-bridge-figma-slides

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Figma Slides? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Figma Slides

Build presentation slides in Figma. One command per slide via create_slide, or batch multiple slides. Combine with online-research skill for data-driven decks.

MANDATORY: Every deck must be organized into logical sections. Each section = one row on the canvas, starting with a cover slide cloned from an existing template. The agent must autonomously decide how to divide content into sections — do NOT ask the user for section structure.

Prerequisites

  • figma-ai-bridge plugin running in Figma and connected
  • The create_slide command registered in code.js
  • Helper: scripts/figma_cmd.mjs create_slide ''

Slide Types

Type 1: title — Section Cover / Title Slide

Clone an existing slide template via templateNodeId to get the decorative background, then update text.

{
  "type": "title",
  "templateNodeId": "",
  "header": "Project Name",
  "title": "Presentation Title",
  "x": 0, "y": 0
}
  • Always use templateNodeId — cover slides must clone a template for visual style
  • Discover the template autonomously: Use get_selection, or scan with get_document_info and get_node_info to find an INSTANCE named "Slide templates". Only ask the user if no template exists.

Type 2: content — Title + Body + Key Points (Two-Column)

Left column has body text, right column has bold heading + description pairs.

{
  "type": "content",
  "title": "Key Findings",
  "body": "Our research across three verticals revealed...",
  "points": [
    {"heading": "Finding One", "description": "Details about the first finding..."},
    {"heading": "Finding Two", "description": "Details about the second finding..."}
  ],
  "x": 0, "y": 0
}

Type 3: visual — Title + Body + Cloned Visual

Left side has title and body. Right side clones an existing Figma node (UI mockup, screenshot, diagram).

{
  "type": "visual",
  "title": "Feature Preview",
  "body": "This shows the new user onboarding flow...",
  "imageNodeId": "",
  "x": 0, "y": 0
}

Type 4: statement — Big Quote / Key Message

Single impactful statement, large text.

{
  "type": "statement",
  "title": "Key Insight",
  "statement": "Users complete tasks 3x faster with the new workflow.",
  "x": 0, "y": 0
}

Type 5: columns — Side-by-Side Equal Columns

Two parallel text blocks for contrasting or complementary concepts.

{
  "type": "columns",
  "title": "Trade-offs",
  "columns": [
    {"text": "Approach A:\n• Fast to implement\n• Lower cost\n• Less flexible"},
    {"text": "Approach B:\n• Slower rollout\n• Higher investment\n• More extensible"}
  ],
  "x": 0, "y": 0
}

Type 6: comparison — Table / Comparison Grid

{
  "type": "comparison",
  "title": "Feature Comparison",
  "headers": ["Dimension", "Option A", "Option B"],
  "rows": [
    ["Performance", "Fast", "Moderate"],
    ["Cost", "$$$", "$$"],
    ["Scalability", "✅ High", "⚠️ Medium"]
  ],
  "x": 0, "y": 0
}

Type 7: numbered — Numbered Decision / Action List

{
  "type": "numbered",
  "title": "Decisions Needed",
  "items": [
    {"text": "Approve the new architecture", "detail": "Sets technical direction for Q3"},
    {"text": "Hire two more engineers", "detail": "Needed to meet the timeline"}
  ],
  "x": 0, "y": 0
}

Workflow

1. Plan the Deck

Each slide = one idea:

  • Title for opener and section breaks
  • Content for arguments with supporting points
  • Visual for UI mockups, screenshots, diagrams
  • Statement for key takeaways and quotes
  • Columns for side-by-side contrasts
  • Comparison for structured data / feature matrices
  • Numbered for ordered decisions or action items

2. Plan Sections (MANDATORY — autonomous)

Group slides into 3–5 sections by theme. Each section = one row on the canvas, starting with a cloned cover slide.

Example structure:

Row 1 — Opening:     [Cover] [Content] [Content] [Statement]
Row 2 — Analysis:    [Cover] [Comparison] [Content] [Content]
Row 3 — Strategy:    [Cover] [Content] [Statement] [Comparison]
Row 4 — Next Steps:  [Cover] [Columns] [Numbered] [Statement]

Grid formula:

  • x = (slideIndex % 5) × 2020
  • y = rowIndex × 1338

3. Build Slides

For multiple slides, use batch mode which auto-avoids overlapping existing content:

FIGMA_TIMEOUT_MS=300000 node scripts/figma_cmd.mjs  batch_slides /tmp/slides.json

For a single slide:

FIGMA_TIMEOUT_MS=60000 node scripts/figma_cmd.mjs  create_slide ''

Typography

| Element | Font | Weight | Size | Color | |---------|------|--------|------|-------| | Header (deck title) | Inter | Semibold 600 | 24 | #1f1f1f | | Slide title | Inter | Bold 700 | 68 | #242424 | | Body text | Inter | Regular 400 | 28 | #525252 | | Key point heading | Inter | Semibold 600 | 28 | #242424 | | Key point description | Inter | Regular 400 | 28 | #525252 | | Statement text | Inter | Bold 700 | 48 | #242424 | | Table header | Inter | Semibold 600 | 20 | #242424 | | Table body | Inter | Regular 400 | 20 | #525252 | | Numbered item | Inter | Bold 700 | 40 | #242424 |

Layout

| Element | Value | |---------|-------| | Slide size | 1920 × 1080 | | Corner radius | 48 (content), 32 (title) | | Fill | #ffffff | | Content margin | 75px | | Column gap | 150 | | Line height (body 28px) | 42px | | Line height (title 68px) | 92px |

Content Guidelines

  • One idea per slide
  • Short, declarative titles — state the conclusion, not the topic
  • 3–5 sentences max per column
  • 2–4 key points per content slide
  • Visual slides clone existing Figma nodes via imageNodeId

Deck Structure Patterns

Leadership Presentation (12–16 slides, 4 sections)

  • Section 1: Opening — problem + framing
  • Section 2: Analysis — options + evidence
  • Section 3: Strategy — opportunity + recommendation
  • Section 4: Ask — decisions + closing

Feature Overview (8–10 slides, 3 sections)

  • Section 1: Overview — what and why
  • Section 2: Deep Dives — feature mockups
  • Section 3: Summary — matrix + next steps

Research Findings (10–12 slides, 3 sections)

  • Section 1: Context — summary + key distinction
  • Section 2: Findings — data + analysis
  • Section 3: Recommendations — actions + takeaway

Notes

  • Cover slides MUST use templateNodeId — discover template autonomously
  • Section planning is autonomous — never ask the user how to group slides
  • Use get_canvas_bounds to avoid overlap
  • Cloned visuals retain their original styling

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.