.claude/skills/pm-brainstorm/SKILL.md
Interactive feature brainstorming through guided discovery, web research, and codebase analysis. Helps users who have a vague idea ("I want to improve X", "what if we added something for Y") explore possibilities through Socratic dialogue before creating well-formed feature requests. Use this skill whenever the user wants to brainstorm, explore ideas, think through a feature concept, or says things like "brainstorm", "what could we do about...", "I have an idea", "let's think about...", "explore options for...", or "help me figure out what feature to build". Also use when the user has a rough concept but needs help shaping it into something concrete — this is the skill for turning fuzzy thinking into sharp feature requests.
npx skillsauth add pinkroosterai/PinkRoosterMcp pm-brainstormInstall 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.
Guide the user from a rough idea to well-formed feature requests through conversation,
research, and codebase understanding. Unlike /pm-explore (which autonomously generates
suggestions) or /pm-plan (which takes a clear description and creates entities), this
skill is for the messy early stage — when the user knows something could be better but
hasn't crystallized what "better" looks like yet.
The core loop: Ask → Research → Ground → Refine → Create.
Parse $ARGUMENTS for the brainstorming topic. This might be:
Start with a warm, exploratory question. The goal is to understand the user's mental model — what they care about, what's frustrating them, what opportunity they see. Don't jump to solutions yet.
If arguments were provided, acknowledge the topic and ask a focusing question:
Use AskUserQuestion:
If no arguments, use AskUserQuestion to discover the topic:
While engaging in dialogue, gather the project context you'll need:
pwdmcp__pinkrooster__get_project_status with projectPath set to the directory aboveprojectIdIn parallel, load existing items to understand what's already tracked:
mcp__pinkrooster__get_feature_requests with projectId and stateFilter: "Active"mcp__pinkrooster__get_feature_requests with projectId and stateFilter: "Inactive"mcp__pinkrooster__get_issue_overview with projectId and stateFilter: "Active"mcp__pinkrooster__get_issue_overview with projectId and stateFilter: "Inactive"Compile a mental deduplication list. You'll use this throughout to avoid suggesting things that are already tracked.
Based on the user's initial direction, do two things in parallel:
Use WebSearch to understand the broader problem space. The goal is to bring
external perspective — what do other products do? What are established patterns?
What do users of similar tools typically want?
Research queries should be targeted to the user's area of interest:
Synthesize 3-5 key insights from the research. These aren't suggestions yet — they're perspective that will inform the brainstorming conversation.
Use Glob, Grep, and Read to understand the current state of the area being discussed. Focus on:
The codebase analysis grounds the brainstorming in reality — every idea should be something the existing architecture can support or be reasonably extended to support.
This is the heart of the skill. Run 2-3 rounds of guided conversation, each building on the previous one. The goal is progressive refinement: broad → focused → specific.
Share what you've learned from research and code analysis, framed as provocations
rather than suggestions. Use AskUserQuestion to explore:
Based on what the user selected and said, go deeper on the chosen direction(s). This is where you transition from "what area?" to "what specifically?". You should do additional targeted research and code analysis based on the narrowed focus.
Use AskUserQuestion to refine:
If the ideas are clear enough after Round 2, skip this. Otherwise, use one more round to nail down specifics:
Use AskUserQuestion:
[{label: "Looks good", description: "Ready to create feature requests"}, {label: "Adjust", description: "I want to change something"}, {label: "Add more", description: "I have additional ideas to include"}]After the brainstorming rounds, synthesize the conversation into concrete FR candidates. For each idea that emerged:
{Feature}: {brief qualifier}Feature, Enhancement, or ImprovementPresent the synthesized FRs in a table:
## Brainstorm Results — {N} Feature Request(s)
| # | Name | Category | Priority | Business Value |
|---|------|----------|----------|----------------|
| 1 | {name} | {category} | {priority} | {one-line value} |
| ... |
### Details
**1. {name}**
- Category: {category} | Priority: {priority}
- Description: {2-3 sentence summary}
- Business Value: {why it matters}
- User Stories:
- As a {role}, I want {goal}, so that {benefit}
- Acceptance Criteria:
- {criterion 1}
- {criterion 2}
- Research backing: {key insight from web research that supports this}
**2. {name}**
...
Use AskUserQuestion to confirm:
For each selected FR, call mcp__pinkrooster__create_or_update_feature_request with:
projectIdname: from synthesisdescription: full description from synthesiscategory: mapped categorypriority: mapped prioritybusinessValue: from synthesisacceptanceSummary: from synthesisuserStories: array of [{"role": "...", "goal": "...", "benefit": "..."}]requester: "pm-brainstorm"Before each creation, check the deduplication list. If overlap exists with an
existing FR, use AskUserQuestion to ask whether to update the existing item
or create a new one.
## Created {count} Feature Request(s) from Brainstorm
| # | FR ID | Name | Priority |
|---|-------|------|----------|
| 1 | {frId} | {name} | {priority} |
| ... |
### Research Insights Applied
- {key finding 1 that influenced the FRs}
- {key finding 2}
### Next Steps
- Refine details: `/pm-refine-fr {frId}`
- Plan implementation: `/pm-scaffold {frId}`
- Continue brainstorming: `/pm-brainstorm {different-topic}`
- View project status: `/pm-status`
Use AskUserQuestion for follow-up:
Proposed — no auto-state propagation./pm-plan instead?"tools
Verify acceptance criteria for a phase or entire work package. Runs verification based on each criterion's method (AutomatedTest, Manual, AgentReview) and records results via the MCP tool.
development
Diagnose the root cause of a bug, error, crash, or unexpected behavior. Traces through code, logs, services, database state, and git history to find why something is broken. Researches error messages online for known issues. Produces a diagnosis with evidence and suggested fix. Use when the user reports a problem, error message, stack trace, test failure, or says things like "why is this happening", "this is broken", "I'm getting an error", "something's wrong with...", "debug this", or "figure out why...".
development
Review and prioritize open issues and feature requests. Analyzes severity, age, and codebase impact to recommend priority adjustments and next steps.
tools
Show project status dashboard with issue/FR/WP counts, active items, blocked items, and priority next actions. Use when the user asks about project status, progress, what's happening, what needs attention, or what to work on.