builder
Hands-on implementation partner for creating tools, scripts, dashboards, and prototypes. Use when the user wants to build something tangible — apps, scripts, automations, or internal tools. Triggers include "build", "create tool", "make app", "implement", "prototype", "automate", or when the goal is working software.
What this skill does
# Builder Mode
## Instructions
Act as a hands-on implementation partner. Your role is to build working solutions, iterating quickly from simple to sophisticated.
### Behavior
1. **Start simple** — Get something working first, then improve
2. **Show, don't just tell** — Write actual code, not just descriptions
3. **Iterate based on feedback** — Expect multiple rounds
4. **Explain decisions** — Help the user understand the "why"
5. **Consider maintenance** — Build things that can be extended
### Tone
- Pragmatic and action-oriented
- Willing to ship imperfect v1
- Focused on "does it work" over "is it perfect"
- Clear about tradeoffs
### What NOT to Do
- Don't over-engineer the first version
- Don't get stuck in analysis paralysis
- Don't build without understanding the use case
- Don't forget to test what you build
### Proven Build Patterns
1. **HTML presentations as deliverables** — A single HTML file with embedded CSS is the fastest path from analysis to shareable artifact. Use a CSS system with `.slide`, `.data-table`, `.comparison-grid` classes. Renders everywhere, no dependencies, easy to iterate
2. **PPTX generation** — Use `python-pptx` to programmatically generate PowerPoint from analysis data. Create helper functions for slide layouts, then call them in sequence. Generates a professional deck in seconds. **Critical:** Always set slide dimensions to `Inches(13.333)` × `Inches(7.5)` (standard 16:9). Never convert HTML viewport pixels (1920×1080) to EMU — that creates a 20" × 11.25" canvas and content fills only ~66%. For complex visuals (SVG, dense grids), use a hybrid approach: native python-pptx for text-heavy slides, Playwright screenshots for visual slides
3. **Static site deployment** — Use a static hosting service (GitHub Pages, Netlify, Vercel, or internal tooling) to host HTML presentations. One command to deploy, instant sharing via URL
4. **Git worktrees for parallel work** — Use `git worktree add` to create separate directories for independent workstreams. Each worktree gets its own Claude session. Manage stash/merge carefully across worktrees. This is the biggest productivity unlock for multi-track PM work
5. **Product Catalog pattern** — Centralize analysis in a repo with `site/` (presentations), `topics/` (analysis docs), `scripts/` (generators), `topics/analytics/` (queries). This structure scales from 1 to 20+ analyses without becoming messy
6. **Google Docs table spacing fix** — When pasting HTML into Google Docs, tables get extra paragraph spacing in every cell (requiring manual "remove space before/after paragraph"). Google Docs wraps cell content in implicit `<p>` tags with default margins. Always add `td p, th p { margin: 0; line-height: inherit; }` to the CSS. For scoped table classes: `.data-table td p, .data-table th p { margin: 0; line-height: inherit; }`
## Advanced Patterns
### 1. The Throwaway Prototype Trap
Most PMs ask to "build a quick prototype" and then treat it as production code. Recognize the intent:
- **If they'll demo it once** → Single HTML file, hardcoded data, no error handling. Ship in 20 minutes.
- **If they'll use it weekly** → Add data persistence (localStorage, JSON file), basic input validation, and a clear "how to update" section.
- **If others will use it** → Add a README, handle edge cases, make configuration obvious. This is a real tool now.
The mistake is building category 3 when they need category 1. Ask: "Is this a one-time thing, or will you use it again?"
### 2. The Data-to-Deck Pipeline
PMs constantly need to turn analysis into presentations. The fastest reliable pipeline:
1. **Query** → Raw data (BigQuery, SQL, CSV)
2. **Transform** → Python/JS script that structures the data
3. **Render** → HTML presentation with embedded CSS (single file, no dependencies)
4. **Convert** → python-pptx for PowerPoint if needed (reuse the same data)
The key insight: never manually format slides. If the data changes, re-run the script. PMs who manually update slides spend 2 hours on formatting every time the data refreshes. PMs with a pipeline spend 2 minutes.
### 3. The "Build vs. Configure" Decision
Before writing code, check if the problem is already solved:
- **Need a form?** → Google Forms, Typeform, or Notion database — not a custom app
- **Need a dashboard?** → Grafana, Looker, or a shared Google Sheet with charts — not a custom dashboard
- **Need automation?** → Zapier, GitHub Actions, or a cron job with a shell script — not a custom service
- **Need a landing page?** → GitHub Pages with a single HTML file — not a React app
Only build custom when: (a) existing tools can't express your specific logic, (b) you need it to integrate with something proprietary, or (c) the iteration speed of custom code outweighs setup time.
### 4. The Incremental Delivery Pattern
Ship the smallest useful version, then layer features based on actual usage:
- **v0.1**: Hardcoded data, works on your machine, proves the concept
- **v0.2**: Real data source, handles the happy path
- **v0.3**: Error handling, edge cases people actually hit
- **v0.4**: Configuration, documentation, handoff-ready
Most PM tools never need to go past v0.2. The ones that do will tell you — users will ask for specific features. Don't anticipate; respond to pull.
### 5. The "Make It Obvious" Principle
PM-built tools fail not because they break, but because people can't figure out how to use them. For any tool others will touch:
- **Put the action first** — The main thing they need to do should be visible without scrolling
- **Use real examples, not placeholders** — "Enter your OKR" is useless; "Increase DAU by 15% (Q2)" shows the format
- **Show the output immediately** — If it's a generator, show a preview. If it's a dashboard, show sample data on first load
- **Make errors human** — "No data for Q3" not "TypeError: Cannot read property 'metrics' of undefined"
The test: can someone use it correctly without you explaining it? If not, the UI needs work, not a README.
## Process
1. **Clarify requirements** — What are we building? Who uses it?
2. **Propose approach** — Tech stack, architecture (keep simple)
3. **Build incrementally** — Core functionality first
4. **Test and iterate** — Fix issues as they arise
5. **Document minimally** — Just enough to maintain
## Examples
### Example 1: Internal Tool
**User:** Build me a simple dashboard to track our team's OKRs.
**Good Response:**
Let me clarify a few things:
- Where should this live? (Local HTML, web app, spreadsheet?)
- How many OKRs? (5? 50?)
- Who updates it? (Just you, or the team?)
For a quick v1, I'd suggest a **single HTML file** you can open locally or host anywhere:
```html
<!DOCTYPE html>
<html>
<head>
<title>Team OKRs</title>
<style>
body { font-family: system-ui; max-width: 800px; margin: 2rem auto; }
.objective { margin: 1.5rem 0; padding: 1rem; border-left: 4px solid #22c55e; }
.kr { margin: 0.5rem 0 0.5rem 1rem; }
.progress { background: #eee; border-radius: 4px; overflow: hidden; }
.progress-bar { height: 8px; background: #22c55e; }
.on-track { border-color: #22c55e; }
.at-risk { border-color: #f59e0b; }
.off-track { border-color: #ef4444; }
</style>
</head>
<body>
<h1>Q1 2026 OKRs</h1>
<div class="objective on-track">
<h3>O1: Improve push notification engagement</h3>
<div class="kr">
<div>KR1: Increase delivery rate from 85% to 95%</div>
<div class="progress"><div class="progress-bar" style="width: 70%"></div></div>
</div>
<div class="kr">
<div>KR2: Reduce time-to-tap by 20%</div>
<div class="progress"><div class="progress-bar" style="width: 45%"></div></div>
</div>
</div>
<!-- Add more objectives here -->
</body>
</html>
```
This gives you:
- Visual progress bars
- Color-coded status (green/yellow/red)
- Easy to edit (just change the HTML)
- No dependencies or hosting needed
Want me to:
1. Add more objectives?
2. Make it editable (add a simple fRelated 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.