analysis-screenshot
This skill MUST be invoked when the user says "analyze screenshot", "extract design tokens", "pull colors from screenshot", "component inventory", "break down this UI", or "design extraction". SHOULD also invoke when user mentions "screenshot", "color palette", "typography", "spacing", or "component catalog".
What this skill does
# Screenshot Analysis ## Overview Extract precise, implementation-ready design tokens, components, and layout structure from screenshot images through a systematic eight-phase process. Every extraction must trace back to something observed in the screenshot, and every gap must be explicitly acknowledged. ## When to Use - Analyzing a screenshot image to extract a design system - Building a color palette from an existing interface - Cataloging components visible in a UI screenshot - Identifying typography scale and hierarchy from a reference app - Measuring spacing patterns and grid structure from a screenshot - Producing implementation-ready tokens from visual inspiration ## When NOT to Use - Designing from scratch without reference screenshots - Working from design files (Figma, Sketch) where tokens are already exported - Pure interaction design without visual analysis - When the user provides a design system spec and needs implementation only ## Phase 1: Initial Assessment Before extracting any tokens, establish the context of the interface. **Identify and document:** | Attribute | What to Determine | |-----------|-------------------| | Platform | Mobile (iOS/Android), web (desktop/responsive), desktop app | | Design language | Material, iOS HIG, custom, hybrid | | Layout approach | Single column, multi-column, sidebar+content, dashboard grid | | Density | Compact (data-heavy), comfortable (standard), spacious (marketing) | | Color mode | Light, dark, or mixed | | Apparent era | Current design trends vs. dated patterns | **Output format:** ``` PLATFORM: [platform] DESIGN LANGUAGE: [language] LAYOUT: [approach] DENSITY: [level] COLOR MODE: [mode] NOTES: [anything notable about the overall approach] ``` ## Phase 2: Color Extraction Extract every distinguishable color. Organize by role, not by where it appears. ### Extraction Process 1. **Backgrounds first** -- Identify every distinct background color. Number them from darkest to lightest (or lightest to darkest in dark mode). 2. **Text colors** -- Identify primary text, secondary text, muted/placeholder text, and any colored text. 3. **Interactive elements** -- Buttons, links, toggles, active states. Separate primary actions from secondary. 4. **Semantic colors** -- Success (green), warning (amber/yellow), error/destructive (red), info (blue). Note which are present and which are absent. 5. **Accent and brand** -- The dominant brand color. Any secondary accent. 6. **Borders and dividers** -- Often subtle. Zoom in mentally. Note opacity if borders appear semi-transparent. ### Output Format ``` PRIMARY PALETTE: Brand Primary: #XXXXXX (observed in: [element]) Brand Secondary: #XXXXXX (observed in: [element]) NEUTRAL PALETTE: Background Base: #XXXXXX (observed in: [element]) Background Elevated: #XXXXXX (observed in: [element]) Surface: #XXXXXX (observed in: [element]) Border Default: #XXXXXX (observed in: [element]) Text Primary: #XXXXXX (observed in: [element]) Text Secondary: #XXXXXX (observed in: [element]) Text Muted: #XXXXXX (observed in: [element]) SEMANTIC PALETTE: Success: #XXXXXX (observed in: [element]) Warning: #XXXXXX (observed in: [element]) Error: #XXXXXX (observed in: [element]) Info: #XXXXXX (observed in: [element]) ACCENT PALETTE: [role]: #XXXXXX (observed in: [element]) ``` Every color entry MUST include the `(observed in: ...)` attribution. If a semantic color is not visible in the screenshot, omit it and note its absence in the gaps section. ## Phase 3: Typography Identification Identify every distinct typographic treatment visible in the screenshot. ### Extraction Process 1. **Scan top to bottom** -- Note every text element, grouping by apparent visual hierarchy level. 2. **Font family** -- Identify the typeface. If uncertain, provide the closest match (e.g., "appears to be Inter or similar geometric sans-serif"). 3. **Size scale** -- Measure relative sizes. Anchor to body text and express other sizes as ratios or estimated pixel values. 4. **Weight scale** -- Note distinct weights visible (regular, medium, semibold, bold). 5. **Line height** -- Estimate for body text and headings. Note whether headings use tighter line height than body. 6. **Letter spacing** -- Note any visible tracking differences (tight headings, wider labels, uppercase with extra tracking). 7. **Special treatments** -- Monospace for code, tabular numbers for data, italic for emphasis. ### Output Format ``` FONT FAMILIES: Primary: [family] (confidence: high/medium/low) Secondary: [family] (confidence: high/medium/low) Monospace: [family] (if present) TYPE SCALE: Display: ~[size]px / weight [N] / leading [N] (observed in: [element]) Heading 1: ~[size]px / weight [N] / leading [N] (observed in: [element]) Heading 2: ~[size]px / weight [N] / leading [N] (observed in: [element]) Heading 3: ~[size]px / weight [N] / leading [N] (observed in: [element]) Body: ~[size]px / weight [N] / leading [N] (observed in: [element]) Caption: ~[size]px / weight [N] / leading [N] (observed in: [element]) Label: ~[size]px / weight [N] / leading [N] (observed in: [element]) Overline: ~[size]px / weight [N] / leading [N] (observed in: [element]) LETTER SPACING: Headings: [value or "normal"] Labels: [value or "normal"] Overline: [value or "normal"] ``` Mark all pixel values with `~` (approximate) unless the screenshot provides enough context for exact measurement. Note confidence level for font family identification. ## Phase 4: Spacing Measurement Extract the spacing system by identifying the base unit and its multipliers. ### Extraction Process 1. **Find the base unit** -- Examine the smallest repeated spacing value. Common bases: 4px, 8px. Look at icon-to-text gaps, input padding, and tight element pairs. 2. **Internal component spacing** -- Padding inside buttons, cards, inputs, list items. 3. **Between-element spacing** -- Gaps between sibling elements (button groups, form fields, list items). 4. **Section spacing** -- Distance between major content sections. 5. **Page margins** -- Outer padding of the main content area. 6. **Consistent vs. inconsistent** -- Note whether spacing follows a strict scale or varies. ### Output Format ``` BASE UNIT: [N]px SPACING SCALE: 2xs: [N]px ([base] x [multiplier]) — used for: [context] xs: [N]px ([base] x [multiplier]) — used for: [context] sm: [N]px ([base] x [multiplier]) — used for: [context] md: [N]px ([base] x [multiplier]) — used for: [context] lg: [N]px ([base] x [multiplier]) — used for: [context] xl: [N]px ([base] x [multiplier]) — used for: [context] 2xl: [N]px ([base] x [multiplier]) — used for: [context] COMPONENT PADDING PATTERNS: Buttons: [top] [right] [bottom] [left] Cards: [top] [right] [bottom] [left] Inputs: [top] [right] [bottom] [left] List items: [top] [right] [bottom] [left] GAP PATTERNS: Form fields: [N]px between fields Button groups: [N]px between buttons Section gap: [N]px between major sections ``` ## Phase 5: Component Cataloging Identify and document every distinct UI component visible in the screenshot. ### Extraction Process For each component: 1. **Name it** -- Use standard terminology (button, input, card, badge, avatar, tab, etc.). 2. **Count variants** -- How many visual variants are visible? (primary/secondary/ghost button, filled/outlined input). 3. **Identify states** -- Which states are visible? (default, hover, active, disabled, focused, selected, error). 4. **Measure it** -- Height, padding, border-radius, font size, icon size. 5. **Note composition** -- What sub-elements does it contain? (icon + label, avatar + name + subtitle). ### Output Format For each component: ``` COMPONENT: [Name] Variants observed: [list] States visible: [list] States NOT visible: [lis
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.