How this skill is triggered — by the user, by Claude, or both
Slash command
/designer:figma-craftThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build Figma files that humans, Figma AI, and the MCP server can all understand. The discipline below — auto layout, variants, variables, and semantic naming — is what makes a design legible to a code generator and frictionless at developer handoff.
Build Figma files that humans, Figma AI, and the MCP server can all understand. The discipline below — auto layout, variants, variables, and semantic naming — is what makes a design legible to a code generator and frictionless at developer handoff.
Structure the file so intent is obvious before anything is opened:
Cover, Components, WIP, and Archive. Production-ready work lives apart from exploration.Auto layout encodes intent: it tells a reader (and a code generator) how a frame is meant to respond, not just how it looks at one size.
| Sizing | Meaning | Use for |
|---|---|---|
| Fill | Grow/shrink to the parent's available space | Flexible columns, stretched buttons, responsive content |
| Hug | Shrink to fit children | Labels, chips, icon buttons, anything sized by content |
| Fixed | Locked width/height | Avatars, icons, fixed-width sidebars |
light / dark (and density or brand) modes inside a collection so one variable resolves per context.color/bg/surface, color/text/muted, space/md. Semantic names survive a value change; literal ones (blue-500) do not.Semantic names are what let Figma AI, the MCP, and developers reason about the design.
Button/Primary/Large, Input/Text/Error. Slashes build the assets-panel hierarchy and read as a path.icon-leading, label, badge-count; never leave Frame 427 or Rectangle 12.Two MCP servers are wired in this plugin:
| Server | Endpoint | Requires |
|---|---|---|
| figma-desktop | http://127.0.0.1:3845/mcp | Figma desktop app open with Dev Mode MCP enabled |
| figma-remote | https://mcp.figma.com/mcp | OAuth on first use; Figma Professional+ plan |
Key tools to use when present:
| Tool | Purpose |
|---|---|
get_design_context | Structured React + Tailwind for the current selection |
get_variable_defs | Color, spacing, and type variables in scope |
get_metadata | Node structure of the selection |
get_screenshot | Visual reference image of the selection |
get_code_connect_map | Existing Figma-node → code-component mappings |
get_code_connect_suggestions | Proposed mappings to review |
add_code_connect_map | Persist a node → component mapping |
search_design_system / get_libraries | Find existing components and tokens before creating |
create_new_file / generate_figma_design / upload_assets | Write operations — remote-only |
Read before you generate. Pull get_design_context + get_variable_defs + get_screenshot before producing any code, and respect existing components and variables — search the design system and reuse over reinventing.
Detect, then degrade gracefully. If neither MCP server is connected, say so plainly and proceed from the shared file links or screenshots the user provides — do not block on the MCP.
Setup is out of scope. Installing or configuring the MCP servers is deferred — route the user to the core:mcp skill (Skill({ skill: "core:mcp" })). This skill documents how to USE the servers once they exist.
Keep names, variables, and Code Connect mappings clean so the design hands off without translation:
design-handoff skill and the design-engineer pickup with no rework.| Pitfall | Do instead |
|---|---|
| Absolute positioning | Use auto layout so intent and responsiveness are explicit |
Ungrouped / unnamed layers (Frame 427) | Name every layer descriptively |
Raw hex (#3B82F6) | Bind to a semantic variable |
| Variant explosion | Use boolean / instance-swap properties for toggles and swaps |
| Detached instances | Keep instances linked to the master component |
npx claudepluginhub shoto290/shoto --plugin designerProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.