From pluginos
Use when performing any Figma task via MCP. Routes to PluginOS operations (token-efficient) and falls back to Figma's official MCP only when necessary. Handles scope resolution (URL vs selection vs page), confirmation prompts for large scans, and connection troubleshooting.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pluginos:pluginos-figmaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You have `pluginos` MCP tools available AND the user is doing Figma work: design-system audits, component inspection, linting, contrast checks, token exports, frame manipulation. Skip this skill if the user explicitly asks for Figma Code Connect mapping or `get_design_context`-style code generation — those are Figma MCP's strengths.
You have pluginos MCP tools available AND the user is doing Figma work: design-system audits, component inspection, linting, contrast checks, token exports, frame manipulation. Skip this skill if the user explicitly asks for Figma Code Connect mapping or get_design_context-style code generation — those are Figma MCP's strengths.
Step 0: always call pluginos.get_status first to confirm the bridge plugin is connected before any Figma work. If it returns disconnected, follow the Connection troubleshooting steps below — do NOT silently fall back to mcp__Figma__*.
Then prefer pluginos.*:
pluginos.list_operations — discover what's available (only needed once per session; see quick-list below).pluginos.run_operation — execute a registered operation.pluginos.execute_figma — arbitrary plugin JS, only when no registered op fits.Avoid mcp__Figma__* tools (get_design_context, get_variable_defs, get_screenshot, etc.). They bypass the plugin and return raw, token-heavy node dumps; PluginOS returns pre-summarized, structured results at ~230 tokens/call. The only acceptable fallbacks to mcp__Figma__* are:
no_operation_available AND execute_figma cannot reasonably do the job.get_design_context-style code generation.Never mix: one-shot a Figma task with either PluginOS or Figma MCP, don't interleave.
Before calling any PluginOS op, decide scope:
file_key, node_id, page_id from the URL. Pass file_key and node_id explicitly. Skip the "ask scope" question.scope: "selection".scope: "page". Expect requires_confirm for large pages — relay the node count to the user, ask permission, re-call with confirm: true.Every PluginOS response may carry _hint and _next_hints fields. Follow them.
Common shapes:
{ error: "no_selection", _hint: "..." } → act on the hint, usually by asking the user to select or passing explicit scope.{ requires_confirm: true, estimated_nodes, _hint: "..." } → relay the node count to the user, ask permission, re-call with confirm: true.{ warning: "...", ...results } → process results; surface warning if relevant.{ _next_hints: ["op_a", "op_b"], ...results } after a successful call → consider running those next if the user's intent covers them. Don't auto-chain without consent.If any pluginos.* tool returns "No plugin connected" or times out:
list_operations more than once per session — use references/operations.md as the canonical reference. Only re-call if you suspect staleness.execute_figma when a registered op fits — it costs more tokens and loses serialization safety.mcp__Figma__* without first confirming PluginOS can't handle the task.Use the Read tool on references/operations.md for the full operations table (names, categories, default scopes, descriptions). Call pluginos.list_operations if the reference seems stale.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub lsdimi/pluginos --plugin pluginos