blueprint:onboard-design
Opt-in. Add design intent capture to a Blueprint repo. Scaffolds design/ux-decisions/, offers to scaffold a minimal community-format DESIGN.md if absent, and can optionally surface a small number of candidate UX decisions found in existing UI/code for the user, developer, or designer to confirm.
What this skill does
# Onboard Design Tree
**OPT-IN:** This skill is the only way the `design/` tree gets created. Other Blueprint skills do not auto-scaffold it. Run this when the repo has UX/design artifacts worth capturing.
**COMMAND:** Scaffold `design/ux-decisions/` and optionally surface a small number of candidate UX decisions found in existing UI/code for the user, developer, or designer to confirm. Capture only the ones they confirm as deliberate. Skipping candidate triage is always fine.
**Capture intent, not inferred structure.** The point of a UX decision is to record a *conscious* choice the user, developer, or designer can explain. Existing code can prompt the conversation because the developer or designer may know the why behind it — but only capture the choice if a human articulates that why. If the rationale is "the code happens to look like that," the decision isn't ready and the agent should not invent one.
## DO NOT ASK FOR SCOPE
**DO NOT** ask "Would you like me to..." or offer numbered scope options for the design-tree setup. **DO** scaffold the design tree and walk the DESIGN.md interview.
The user is allowed to skip any individual interview question. Candidate triage from existing UI is optional content capture, not required onboarding scope.
The user may copy-paste from external tools (Figma, Storybook, etc.) during the interview to help articulate decisions — that is fine. But Blueprint does NOT store persistent links to external tools. After onboarding, the repo is the complete source of truth.
---
## Process
**FIRST ACTION: Enter plan mode by calling `EnterPlanMode`.**
### Step 1: Detect existing UI signals
Read in parallel (Glob/Grep):
- `package.json` / `pyproject.toml` / `Cargo.toml` — frontend frameworks (React, Vue, Svelte, SwiftUI, etc.)
- `src/components/`, `src/ui/`, `app/components/`, `packages/ui/`, `apps/*/src/components/` — component directories
- `**/*.{tsx,jsx,vue,svelte}` — UI source files (count, top dirs)
- `**/tailwind.config.*`, `**/theme.*`, `**/tokens.*`, `**/design-system*` — design system signals
- `**/.storybook/`, `**/storybook/` — Storybook setup
- `DESIGN.md` at repo root — top-level design context (Google Stitch / awesome-design-md style)
If no UI signals at all and the user hasn't insisted, ask once: *"This repo doesn't look like it has UI code. Set up the design tree anyway?"* (Skip if user invoked this skill explicitly with awareness — assume yes.)
### Step 2: Detect existing design tree
Check for:
- `design/ux-decisions/`
If any of these already exist, the skill is in **refine mode** — don't recreate, just fill gaps and add seeds based on the interview.
### Step 3: Show the plan
```
I will set up the design tree:
Scaffolding:
- design/ux-decisions/ (NNN-[slug].md, populated by /blueprint:decide)
Detected UI signals:
- Frontend: [framework]
- Component dirs: [paths]
- Design system: [tailwind | tokens | none]
- Storybook: [yes/no]
- DESIGN.md at repo root: [yes/no]
After scaffolding I will interview you about:
- Whether to scaffold a minimal `DESIGN.md` at the repo root for cross-cutting design context (skipped if it already exists)
- Whether to review a small number of existing UI patterns now, so you can tell me which were deliberate choices (with a short reason) and which were coincidental
You can copy-paste from external tools (Figma, Storybook, etc.) during
the interview to help articulate decisions. After onboarding, the repo
is the complete source of truth — no external references are stored.
The goal is to capture *conscious* design decisions — the why behind the
choice. If a pattern is in the code but you don't have a clear reason for
it, that's fine: we leave it as implementation, not as a UX decision.
Skip any question with "skip" — TBD markers are fine.
[Call ExitPlanMode to proceed]
```
### Step 4: Exit plan mode and scaffold
Create directories and base files:
- `design/ux-decisions/.gitkeep`
### Step 5: Top-level `DESIGN.md`
`DESIGN.md` is a community convention (Google Stitch / awesome-design-md), not a Blueprint-owned format and not part of the Blueprint structure. Blueprint stays compatible with it: respects existing files, can scaffold a minimal stub, and avoids duplicating information that belongs there.
If `DESIGN.md` already exists at the repo root: do NOT modify it. Ensure the agent-instructions update in Step 6 includes "read DESIGN.md on UI work."
If `DESIGN.md` does not exist, ask once via `AskUserQuestion`:
```
Scaffold a minimal DESIGN.md at the repo root?
DESIGN.md is a community convention (Google Stitch / awesome-design-md)
for cross-cutting design context — visual rules, voice/tone, prohibitions
("never use more than 3 colours on a screen"). Agents read it on every UI
generation task. Blueprint just stays compatible with it; you own the
file's contents.
I'd write a small stub following the community format. Rules are added
later, conversationally, as decisions accumulate — never hand-filled.
Options: Scaffold / Skip
```
If the user accepts, write a minimal stub that follows the community format:
```markdown
# Design
Top-level design context for this project. Agents read this on every UI generation task. Keep it short; cross-cutting rules and prohibitions only.
## Visual rules
<!-- e.g. token usage, colour limits, type scale. Empty until rules accumulate. -->
## Voice and tone
<!-- e.g. imperative CTAs, no jargon. Empty until rules accumulate. -->
## Prohibitions
<!-- e.g. "Never use more than 3 colours on a screen." Empty until rules accumulate. -->
```
**Do not interview the user to fill these sections.** Leave the placeholders empty. Rules are added later, conversationally, when actual decisions are made.
**Delineation reminder for the agent:** cross-cutting rules go in `DESIGN.md`; per-decision rationale (one choice + alternatives) goes in `design/ux-decisions/`. UX decisions reference `DESIGN.md` rules rather than restating them.
### Step 6: Optional Existing-UI Design Intent Triage (candidate-driven)
This step is optional. It exists because the developer or designer may already know the why behind important UI choices. Do not treat existing code as rationale by itself.
Ask once via `AskUserQuestion`:
```
Review existing UI for candidate design decisions now?
This can help capture whys that a developer or designer already knows.
I will only create UX decisions for choices you mark as deliberate with a
short reason. Otherwise, existing UI remains implementation state.
Options: Review up to 5 candidates / Skip for now
```
If the user skips, do not scan for candidates and continue to Step 7.
Scan the detected UI for **a small number** of high-confidence candidate UX choices the agent can point to in code. Cap the candidate list at five — fewer is fine. Look for evidence-bearing patterns such as:
- Confirmation / destructive-action treatment (modal vs inline, copy patterns)
- Empty / error / loading state shape (consistent across screens?)
- Repeated card or list layout used in core flows
- Navigation model (tabs vs stack vs drawer)
- Copy/voice conventions (e.g. all CTAs use imperative verbs)
For each candidate, prepare a one-line description that names the file or component the agent observed it in.
Then ask the user/designer once, batched via `AskUserQuestion`:
```
I found these candidate UX choices in the existing UI. For each one:
mark it as deliberate (with the reason you know) or skip.
1. [observed pattern] — seen in [file:line or component]
2. ...
```
For each item the user marks deliberate **with a short rationale**:
- Create a Draft UX decision in `design/ux-decisions/` (Draft because the rationale will usually be terse on day one)
- Title from the user's framing, not the agent's
- Reference the observed file or component in the decision's `Context` or `Related` section
For each item the user skips, marks "not deliberate", or provides no rationale for: create nothing. Coincidental UI is the default; UXRelated 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.