From cascade-mcp
Generates frame-specific clarifying questions about ambiguous UI behaviors from Jira epics and linked Figma designs, Confluence pages, Google Docs, organized by Figma frame for feature reviews.
npx claudepluginhub bitovi/cascade-mcp --plugin cascade-mcpThis skill uses the workspace's default tool permissions.
Generate frame-specific clarifying questions for a feature by gathering all context (Jira, Confluence, Google Docs, Figma designs) and analyzing them comprehensively.
Conducts interactive one-at-a-time Q&A on Figma frame-specific design behavior questions, collects answers, and incrementally builds/updates a Q&A comment on a Jira issue.
Generates structured project plans, feature PRDs, and data-driven retrospectives via researched interactive Q&A. Includes repo scaffolding for new projects and prioritized issue creation.
Converts Confluence spec pages into Jira backlogs with Epics and linked tickets. Use for generating backlogs from specs, breaking down requirements, or creating issues from Confluence.
Share bugs, ideas, or general feedback.
Generate frame-specific clarifying questions for a feature by gathering all context (Jira, Confluence, Google Docs, Figma designs) and analyzing them comprehensively.
Use when the user wants to:
Typical trigger: "Generate questions for PROJ-123" or "What questions do we have about this feature?"
PROJ-123) — the epic or story to analyzeCall MCP tool extract-linked-resources with the Jira issue URL (e.g., https://myco.atlassian.net/browse/PROJ-123).
This returns the issue content as markdown with YAML frontmatter — save it directly to .temp/cascade/context/jira-PROJ-123.md.
The frontmatter contains discoveredLinks grouped by type (figma, confluence, jira, googleDocs) with relationship info (parent, blocks, etc.). Parse these to build your initial .temp/cascade/context/to-load.md.
If hasMoreComments: true, call again with commentsStartAt to get additional comment pages.
For each non-Figma URL in to-load.md (prioritize parent and blocks relationships first):
extract-linked-resources with the URL.temp/cascade/context/{type}-{identifier}.mddiscoveredLinks from frontmatter — add any new URLs to to-load.mdImportant: Figma URLs are collected but NOT loaded here — they go in the ## Figma section of to-load.md for Phase 3.
For each Figma URL collected:
figma-batch-load with the Figma file URL
curl -o .temp/cascade/figma/{fileKey}/batch.zip "{downloadUrl}"
cd .temp/cascade/figma/{fileKey} && unzip -o batch.zip
.temp/cascade/figma/{fileKey}/
├── manifest.json ← frame list with metadata
├── prompts/
│ └── frame-analysis.md ← analysis prompt for frames
└── frames/
├── {nodeId}-{name}/
│ ├── image.png ← frame screenshot
│ ├── structure.xml ← semantic component tree
│ └── context.md ← annotations/connections
└── ...
For each frame listed in manifest.json:
analyze-figma-frame sub-skill.temp/cascade/figma/{fileKey}/frames/{dirName}/) — the subagent reads the files itselfanalysis.md to their frame directoryDo NOT read context.md, structure.xml, or image.png yourself. The subagent handles all file reading. You only pass the path.
Run all frame subagents in parallel — they are independent of each other.
Wait for all subagents to complete before proceeding.
Use sub-skill analyze-feature-scope to produce the scope analysis. This:
This produces .temp/cascade/scope-analysis.md.
Self-healing check: If the analyze-feature-scope sub-skill recommends CLARIFY (>5 unanswered ❓), present the scope analysis to the user and ask them to answer questions before generating behavior questions. Only proceed to Phase 6 if the user confirms or if ≤5 ❓ remain.
Using the scope analysis and all frame analyses, generate frame-specific clarifying questions.
context.md files)Present questions to the user in this format:
# Behavior Questions
## [Frame: Screen Name (nodeId: 123:456)](https://www.figma.com/design/{fileKey}?node-id=123-456)
1. ❓ What is the expected behavior when the user clicks the "Submit" button with invalid data?
2. ❓ Should the filter panel persist its state across page navigation?
## [Frame: Another Screen (nodeId: 789:012)](https://www.figma.com/design/{fileKey}?node-id=789-012)
1. ❓ Is the data table sortable by all columns or only specific ones?
Important formatting:
123:456 → node-id=123-456) but colons in heading textPresent the generated questions to the user.
After presenting, ask the user what they'd like to do next. Present these options clearly (use structured question UI if available — e.g., askQuestions in Copilot, AskUserQuestion in Claude Code):
post-design-questions-to-figma sub-skill)post-design-questions-to-jira sub-skill)answer-design-questions-post-to-figma sub-skill)answer-design-questions-post-to-jira sub-skill)Do NOT offer "modify questions" as an option — if the user wants to modify, they'll say so naturally.
.temp/cascade/figma/{fileKey}/ already has valid data, figma-batch-load may return cached data — don't re-download unnecessarilyfigma-batch-load — it always fetches fresh annotation data per frame