Claude Code Plugins

Community-maintained marketplace

Feedback

figjam-plugin

@7nohe/figram
1
0

FigJam plugin development workflow. Use when working on plugin code (code.ts, ui.ts), debugging WebSocket communication, or building the plugin.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name figjam-plugin
description FigJam plugin development workflow. Use when working on plugin code (code.ts, ui.ts), debugging WebSocket communication, or building the plugin.

FigJam Plugin Development

Architecture

Two-thread model:

  • packages/plugin/src/code.ts - Main thread (Figma API, renderer)

    • NO browser APIs (window, document, fetch)
    • Access to figma.* API
    • Renders nodes/edges to FigJam canvas
  • packages/plugin/src/ui.ts - UI iframe (WebSocket client)

    • Browser APIs available
    • Manages WebSocket connection to CLI
    • Handles connection UI

Communication Flow

CLI (serve) ←→ WebSocket ←→ Plugin UI (ui.ts) ←→ postMessage ←→ Plugin Main (code.ts)

JSON Import (UI)

  • Accepts DSL JSON (nodes as array) or IR JSON (nodes as object)
  • Validates with @figram/core and normalizes to IR before posting to main thread
  • Validation errors are surfaced in the UI alert with path/message details

Build

cd packages/plugin && bun run build

Output: packages/plugin/dist/ (code.js, ui.html)

Import Plugin

  1. Open Figma Desktop
  2. Menu → Plugins → Development → Import plugin from manifest
  3. Select packages/plugin/manifest.json

Debugging

  • UI errors: Browser DevTools console (right-click plugin UI → Inspect)
  • Main thread errors: Figma DevTools (Menu → Plugins → Development → Open console)
  • WebSocket issues: Check UI console for connection status

Key Files

  • manifest.json - Plugin configuration
  • src/code.ts - Canvas rendering logic
  • src/ui.ts - WebSocket client and connection UI
  • src/ui.html - UI template (bundled by build)
  • src/icons/ - AWS service icons