From dev-workflow
Use when the user has a design prototype (from Stitch, Figma, or any tool) and wants AI to analyze it. Works standalone for daily development or in pipeline mode with a design doc. Handles images, HTML/CSS, or both.
npx claudepluginhub n0rvyn/indie-toolkit --plugin dev-workflowThis skill uses the workspace's default tool permissions.
This skill dispatches the `dev-workflow:design-analyzer` agent to perform multi-modal analysis of design prototypes. It handles input acquisition (MCP tools or manual file paths), detects the run mode (pipeline vs standalone), and presents structured results.
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.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
This skill dispatches the dev-workflow:design-analyzer agent to perform multi-modal analysis of design prototypes. It handles input acquisition (MCP tools or manual file paths), detects the run mode (pipeline vs standalone), and presents structured results.
brainstorm. The analysis validates the prototype against the design doc, maps UX assertions, and produces structured output for write-plan.Mode is auto-detected but user can override.
docs/06-plans/*-design.md for design documents in the current project## UX Assertions section with at least one assertion rowIf multiple design docs exist, present the list and ask the user which one to validate against.
Determine the design source. If the user provided file paths or MCP identifiers in the invocation, use those directly. Otherwise, ask.
Path A — Stitch MCP
Check if get_screen_code and get_screen_image tools are available.
If available:
get_screen_image → if it returns base64 data, write to a temporary file (/tmp/design-screenshot-{timestamp}.png) to avoid prompt bloatget_screen_code → save HTML content to a temporary file (/tmp/design-code-{timestamp}.html)dualPath B — Figma MCP
Check if get_design_context and get_variable_defs tools are available.
If available:
get_design_context → save structured output to a temporary fileget_variable_defs (if available) → save token definitions to a temporary filecode-only (Figma MCP returns structured descriptions, not screenshots)dualPath C — Manual file paths
If no MCP tools are available, or the user prefers manual input:
Channel determination summary:
dualimage-onlycode-onlyCollect context for the agent regardless of mode:
Tech stack detection:
CLAUDE.md or docs/00-AI-CONTEXT.md for explicit tech stack declarations.swift files → SwiftUI; package.json → React/Web; pubspec.yaml → FlutterExisting token system:
**/DesignSystem*.swift, **/AppSpacing*, **/DesignTokens*, **/AppCornerRadius***/design-tokens.*, **/theme.*, tailwind.config.*Token strategy:
proposeDesign doc path (pipeline mode): from Step 0
Use the Task tool to launch the dev-workflow:design-analyzer agent with model: "opus".
Dispatch prompt structure:
Analyze this design prototype.
Mode: {pipeline / standalone}
Design doc: {path or "none"}
Project root: {path}
Tech stack: {detected stack}
Existing tokens file: {path or "none"}
Token strategy: {match / propose}
Channel availability: {dual / image-only / code-only}
Image: {file path or "none"}
Code: {file path or "none"}
Add for pipeline mode:
UX Assertions from design doc:
{paste the full UX Assertions table from the design doc}
Add any additional context:
Additional context:
{user-specified focus areas, specific screens to analyze, known constraints}
When the agent completes:
docs/06-plans/*-design-analysis.md): read that filedocs/06-plans/*-design-analysis.md for the most recent file. If found with **Status:** in-progress, the agent was truncated — use the partial results.Pipeline mode presentation:
/write-planStandalone mode presentation:
/brainstorm or /write-plan."Decision Points: After presenting the summary, check the agent's return for Decisions: count.
## Decisions section from the analysis fileblocking decision: present to user via AskUserQuestion with options from the decision pointrecommended decisions: present as a group via a single AskUserQuestion. Critical: all DP content must be inside the question field — text printed before AskUserQuestion gets visually covered by the question widget. Read each recommended DP's full block (heading + Context + Options + Recommendation) from the analysis file and concatenate them verbatim in the question field, separated by \n---\n. End with: \n\n全部接受推荐,还是逐个审查?**Recommendation:** or **Recommendation (unverified):** line with **Chosen:** {user's choice}docs/06-plans/YYYY-MM-DD-<topic>-design-analysis.md/write-plan; standalone: guidance provided)