Skip to main content
Glama
kkse7en

WorkBuddy Figma

by kkse7en

use_figma

Execute JavaScript in the selected local Figma document to query and edit real canvas layers through the Figma Plugin API, returning affected IDs for follow-up operations.

Instructions

Run JavaScript using the figma-use 16 contract in the selected local Figma document. Read figma-workbench first. Top-level await/return, query/QueryResult, matches/set/tree, auto layout, screenshots and io.write are supported. Include description, fileKey and sessionId from create_session. Page context starts at the first page every call; switch at most once. Return affected IDs. Errors include safeToRetryWithoutCanvasRead. Requires companion featureVersion 3.

Input Schema

NameRequiredDescriptionDefault
codeYes
fileKeyNoMust match the selected document fileKey from figma_status. Local-only documents use local:<connectionId>.
sessionIdNoTask UUID returned by create_session; scoped to this DSH Work session.
skillNamesNoComma-separated loaded skill names; local task metadata only.
descriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses what is supported (top-level await/return, query/result, auto layout, screenshots, io.write), that page context resets each call, that return values are affected IDs, and that errors carry safeToRetryWithoutCanvasRead. Remaining gaps are environmental rather than behavioral: it doesn't say what mutations can destroy or what permissions are needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Sentences are short, front-loaded with the core action, and each carries a distinct operational fact: prerequisites, supported capabilities, session inputs, page-context constraint, return value, error field, featureVersion gate. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a code-execution tool with no annotations and no output schema, it covers return shape (affected IDs) and error metadata, and points to figma-workbench for the API contract. But it leaves the actual API surface and failure modes largely to that external document, so a caller without that context is not fully equipped.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, so some parameters are documented only in the schema. The description adds provenance for description, fileKey and sessionId (they come from create_session), which is useful. However, the required code parameter and skillNames receive no semantic detail beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: run JavaScript against the selected local Figma document. It is clearly the code-execution entry point among siblings. The phrase 'figma-use 16 contract' is opaque without prior context, which slightly weakens clarity for a first-time caller.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent to read figma-workbench first and to include description, fileKey and sessionId from create_session, establishing prerequisites and the cross-tool workflow. It adds a page-context rule (starts at first page, switch at most once). It does not name when another sibling should be used instead, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.