From cascade-mcp
Interactively walks through frame-specific design behavior questions, collects user answers one-by-one, and posts Q&A pairs as pinned Figma comments with vertical spacing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cascade-mcp:cascade-answer-design-questions-post-to-figmaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Walk through design behavior questions one at a time, collecting answers from the user and posting Q&A pairs as Figma comments pinned to the correct frame.
Walk through design behavior questions one at a time, collecting answers from the user and posting Q&A pairs as Figma comments pinned to the correct frame.
Use after generate-behavior-questions has produced frame-specific questions and the user chooses to answer questions here and post Q&A to Figma.
generate-behavior-questions)manifest.json (needed for comment positioning)Read manifest.json from .temp/cascade/figma/{fileKey}/ to get width and height for each frame.
From the frame-organized questions, build a flat list preserving frame context:
Frame: Login Screen (nodeId: 1:234, fileKey: abc123, height: 1200)
Q1: Should the "Remember me" checkbox be checked by default?
Q2: What error message appears for invalid credentials?
Frame: Dashboard (nodeId: 5:678, fileKey: abc123, height: 1800)
Q3: Is the widget layout user-configurable?
Count total questions per frame — this is needed for comment spacing.
For each question, use the structured question UI (askQuestions in Copilot, AskUserQuestion in Claude Code) with suggested answer options.
Generate 2-4 suggested answers based on context from:
analysis.md and context.md (Figma annotations, designer notes)Always include a "Skip" option.
Example:
header: "Question 1 of 5 — Frame: Case Details"
question: "The designer note says 'show 4 voters before +X others,' but the Text-Listing component only has 3 entry slots. Should the tooltip show a max of 3 or 4 voter names before truncating?"
options:
- label: "Show 4 names (match designer note)"
description: "Add a 4th entry slot to the component"
- label: "Show 3 names (match current component)"
description: "Update the designer note to match the XML structure"
- label: "Skip"
allowFreeformInput: true
Ask one question at a time. Wait for the user's response before proceeding.
The user can select a suggested answer, type a custom response, or skip. All are valid.
Post a Q&A comment pinned to the correct frame using figma-post-comment:
fileKey: from the frame contextmessage: Cascade🤖 💬 {question}\n\n→ {answer}nodeId: from the frame contextnodeOffset: Calculate position for even spacing along the left edge of the frame:
x: -50 (left edge, slightly outside the frame)y: Distribute between y=50 and y=(frameHeight - 50). For question index i out of n questions on this frame:
n = 1: y = frameHeight / 2n > 1: y = 50 + i * ((frameHeight - 100) / (n - 1))i is 0-indexed within that frame's questions, and frameHeight comes from manifest.jsonframeHeight is not available, omit nodeOffset (defaults to top-left)For skipped questions, post: Cascade🤖 ❓ {question}\n\n→ Skipped
After all questions are answered (or skipped), report:
figma-post-comment has Figma API rate limits. The agent posts one comment per answer (human typing speed), so rate limits are unlikely to be hit.💬 for answered questions, ❓ for skipped/unanswered. Always prefix with Cascade🤖 so comments are identifiable as bot-generatednpx claudepluginhub bitovi/cascade-mcp --plugin cascade-mcpPosts generated design behavior questions as pinned comments on Figma frames using node IDs, file keys, and positioning from manifest.json. Used after generate-behavior-questions when user confirms posting.
Generates Figma components or screens by compiling a CSpec into a scene graph and executing it via MCP. Use when the user asks to make, design, or build new UI in Figma.
Teaches Claude Code how to use `use_figma` tool correctly, including prerequisite rules, API reference loading, and co-loading companion skills.