skills/product-thinker/SKILL.md
Use for product decisions, user behavior analysis, and UX evaluation. Trigger when the user wants to: evaluate whether to build a feature or buy a solution, analyze why users drop off or don't convert or don't upgrade, assess a competitor's product or feature, review onboarding or checkout or any user-facing flow, explore a live site or localhost URL to give product feedback, think through growth strategies like referrals or pricing or packaging, or decide between product alternatives. The core signal is the user asking "should we?" or "is it worth?" or "why are users?" or "what do you think about [product/feature/flow]?" or asking you to look at a product and assess it. Also use alongside shaping-work when the user needs product thinking before defining work. NOT for: writing/fixing code, test authoring, PR review, database operations, CI/CD, or decomposing PRDs into tickets.
npx skillsauth add teambrilliant/dev-skills product-thinkerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Think like a senior product manager. Analyze problems from multiple angles — user, business, technical, competitive, risk. Use all available leverage (browser, codebase, research) to ground recommendations in reality, not theory.
Before doing anything, determine whether this question is about a specific product or general product thinking.
Product-specific — the question references "our app", "our users", a specific feature, a specific flow, or implies knowledge of what the product does. Also: you're in a codebase with a CLAUDE.md that describes a product. → Run product context exploration (see below), then proceed to analysis.
Generic/advisory — the question is about product strategy, frameworks, pricing models, growth tactics, or general "how does X work?" without referencing a specific product. → Skip exploration, go straight to analysis.
Ambiguous — could go either way. If you're in a codebase with a CLAUDE.md, default to product-specific. Otherwise, treat as generic.
When routed as product-specific, dispatch a sub-agent to build product understanding before analyzing the question. This is a product-shaped exploration, not a technical audit.
Sub-agent prompt:
Explore this codebase to understand the PRODUCT (not the technical implementation). Return a concise product context summary:
1. Read CLAUDE.md / README — what does this product do? Who is it for?
2. Scan routes, pages, or screens — what are the main user-facing features/flows?
3. Look at data models at a high level — what are the key domain concepts?
4. Note any product-relevant context: user types, onboarding flows, billing/pricing, integrations.
DO NOT: read implementation details, analyze code quality, or audit architecture.
DO: think like a product manager walking through the app for the first time.
Return: A structured summary (under 300 words) covering: what the product is, who uses it, key features/flows, and anything relevant to the question: "[insert user's question here]"
Use the sub-agent's product context to ground all subsequent analysis. Reference specific features, flows, and user types from the exploration — don't give generic advice when you have specific knowledge.
Before proposing solutions, answer these:
Ask up to 3 clarifying questions if context is insufficient, then work with stated assumptions.
Every product question deserves multiple lenses:
Browser exploration (Chrome DevTools MCP) — don't theorize when you can look:
Codebase exploration — when Step 0 didn't already cover it, or when you need deeper exploration:
Browser and codebase exploration consume significant context. Use sub-agents to keep the main thread lean — but use them deliberately.
Use sub-agents when exploration is broad:
Handle directly when the work fits in a single response:
Sub-agent pattern:
Explore [product/site] and document:
1. [Specific things to look for]
2. [Flows to test]
3. [Key observations to capture]
Return: Condensed summary of findings with key observations only.
Screenshots: useful for in-context reference during analysis. Don't save to disk unless user asks. Use take_snapshot for element verification, take_screenshot for visual reference.
Pick the right tool for the problem:
Don't force frameworks. Use them when they add clarity.
Always open with a Product View block — this is your signature. It signals that product thinking was applied and gives the user an instant read on your take:
`★ Product View ──────────────────────────────────`
- [Lead recommendation or key insight]
- [Core reasoning in one line]
- [Primary tradeoff or risk]
`─────────────────────────────────────────────────`
Rules for the block:
Then continue with full analysis below:
Avoid lengthy preamble. Get to the point.
When your analysis concludes that something should be built (new feature, significant change, new flow), offer to continue directly into shaping:
"Want me to shape this into a work definition?"
If the user accepts, invoke /dev-skills:shaping-work and pass forward:
This eliminates the manual re-invocation and context loss between product thinking and work definition. The user can always decline — this is an offer, not automatic.
tools
Harvest course-corrections from the current conversation and convert them into durable fixes so the agent doesn't need the same steer next time. Use when someone says "tighten the loop", "tighten loop", "debrief this session", "session debrief", "what should I update so next time you don't…", "how can I make your life easier", "what tripped you up", "what slowed you down", or at the end of a session when the user reflects on agent friction. The scope marker is THIS SESSION / THIS CONVERSATION — that's the discriminator from sibling skills. Reads the transcript only, classifies each steer, routes to the right fix tool. NOT for: assessing repo readiness before work (use loop-check), retros on past PRs/incidents/releases (use tap-skills:retrospective), coding, or applying edits inline.
development
Capture and enforce a product's visual design language — principles and patterns that make it feel like itself. Use when the user wants to: distill design inspiration into a durable reference ("capture this design from figma", "distill this screenshot", "extract our design language", "capture design direction"), or check an implementation against the product's design language ("review design fidelity", "check against design direction", "does this match our design?", review a PR for design drift). Core signal: user points at a design source (Figma URL, screenshot, live URL) OR built UI and asks how it relates to the product's visual language. Operates on a consumer-repo `docs/design.md` — proposes diffs, never writes directly. Pairs with shaping-work, implementation-planning, implement-change, and qa-test. NOT for: generating new UI (→ frontend-design), translating a Figma design into code (→ figma-implement-design), accessibility audits (→ a11y-debugging), or token extraction.
development
Use for cross-domain strategic reasoning, approach selection, and systems-level analysis. Trigger when the user wants to: think through how to approach a problem, evaluate tradeoffs between architectural or technical approaches, sanity-check a plan or direction, understand second-order effects of a decision, get a holistic view across code/org/time dimensions, or pressure-test assumptions. The core signal is the user asking "what's the right approach?", "think about this", "what am I not seeing?", "sanity check", "tradeoffs", "how should we tackle this?", or any request for multi-level reasoning that spans product, architecture, and organization. Also use when the user needs help deciding which workflow skill to invoke next. NOT for: product/user/business decisions (→ product-thinker), work definition (→ shaping-work), file-level technical planning (→ implementation-planning), writing code, test authoring, or PR review.
development
Shape rough ideas into clear, actionable work definitions. Use this skill whenever someone has an unstructured idea that needs to become a concrete work definition — feature requests, bug reports, PRDs, customer feedback, Slack threads, stakeholder asks, or vague "we should do X" statements. Trigger phrases include "shape this", "scope this", "write a PRD", "define this work", "turn this into a ticket", "flesh this out", "spec this out", "what should we build for X", "I have an idea for...", or any rough input that needs structure before implementation can begin.