brainstorming
Collaborative ideation for projects and writing. Ask clarifying questions, suggest angles, challenge assumptions, and help refine vague ideas into concrete requirements or topics. Use when exploring ideas before planning or drafting.
What this skill does
# Brainstorming
## When to Use This Skill
Use brainstorming when:
- User mentions wanting to build/write something but hasn't structured it yet
- Initial idea is vague or broad ("I want to build notifications" or "I want to write about productivity")
- User is exploring multiple angles or approaches
- Idea needs refinement before planning or outlining
Skip when:
- User has clear requirements or outline ready
- Topic/project is well-defined and just needs execution
- User explicitly asks to skip ideation and start working
**Important**: If during brainstorming you realize the user is unclear about *what* they want (not just *how* to approach it), pause and use the **interviewing** skill first. Interviewing clarifies requirements and goals; brainstorming explores approaches and angles. Return to brainstorming once the *what* is clear.
## Critical: User's Thoughts, Not Yours
**Your role: Draw out the user's ideas through questions. Never inject your own ideas.**
**Use the `AskUserQuestion` tool** to ask clarifying questions. This pauses execution and waits for the user's response, enabling true back-and-forth ideation.
**ASK questions to explore their thoughts:**
- "What triggered this topic?"
- "What's your core argument or insight?"
- "What examples from your experience illustrate this?"
- "Who is this for?"
**DON'T suggest ideas they haven't mentioned:**
```
❌ BAD (injecting):
AI: You should write about microservices vs monoliths
✓ GOOD (exploring with AskUserQuestion):
AI: [uses AskUserQuestion tool]
What aspect of architecture are you thinking about?
```
**The user is the expert on their own experience. You're just helping them structure it.**
## Core Approach
**Start with Questions, Not Suggestions**
Don't immediately propose outlines or structure. First understand:
- What triggered this topic? (specific experience, observation, frustration?)
- Who is the audience?
- What's the core insight or argument?
- What makes this topic relevant now?
**Use `AskUserQuestion` for each clarifying question:**
```
AI: [uses AskUserQuestion tool with question="What triggered this - specific experience or pattern you've noticed?"]
User: [responds with their thoughts]
AI: [uses AskUserQuestion tool with question="Is this for engineers, managers, or general audience?"]
```
**Key questions to ask:**
- "What triggered this - specific experience or pattern you've noticed?"
- "Is this for engineers, managers, or general audience?"
- "What's the contrarian take here? What does conventional wisdom miss?"
- "Why now? What makes this relevant or timely?"
## Ideation Techniques
Use `AskUserQuestion` for all of these techniques - each question should pause and wait for user response.
### 1. Explore Tensions and Contradictions
Look for interesting conflicts:
- "You said X works, but also mentioned Y failed - what's the difference?"
- "That sounds like it contradicts Z - is that the point?"
### 2. Challenge Assumptions
Gently probe the premise:
- "Is that always true, or are there contexts where it breaks down?"
- "What would someone who disagrees with this say?"
### 3. Find the Concrete Angle
Move from abstract to specific:
- Vague: "I want to write about AI"
- Concrete: "Why AI code review misses context that human reviewers catch"
**Pattern:**
- Abstract topic → Specific problem
- General observation → Concrete example
- Theory → Practical implication
### 4. Suggest Multiple Perspectives
Offer 2-3 different angles, not just one:
- "You could approach this as: (1) why X fails, (2) what to do instead, or (3) when X actually works"
- "This could be prescriptive (here's how to fix it) or descriptive (here's why it happens)"
### 5. Use Personal Experience as Foundation
Ground abstract concepts:
- "You mentioned seeing this at 3 companies - what pattern did you notice?"
- "Walk me through a specific example where this happened"
## Working with Outputs
### For Writing (via /new-post):
Add ideas to **braindump.md**:
**Structured sections:**
- **Context**: What triggered this topic
- **Core Argument**: Main thesis or insight
- **Audience**: Who this is for
- **Angles**: Different approaches to explore
- **Examples**: Concrete instances, anecdotes
- **Questions**: Open questions to resolve
**Iterate through conversation** - update braindump.md as ideas evolve.
### For Projects (via /orchestrate --discover):
Create **discovery.md** with:
**Structured sections:**
- **Context**: What triggered this project idea
- **Problem Statement**: What needs solving
- **Constraints**: Technical, time, resource constraints
- **Approaches**: Different technical approaches to consider
- **Research Findings**: Links, docs, patterns discovered
- **Open Questions**: Unclear requirements or unknowns
## Transition Guidance
Know when to move from brainstorming to execution:
### For Technical Projects
**Ready to plan when:**
- Problem statement is clear and specific
- Key constraints identified (performance, scale, security)
- 2-3 potential approaches explored
- User expresses readiness or no major unknowns remain
**Transition:**
```
AI: We've clarified:
- Problem: Real-time notifications for 10k+ concurrent users
- Constraints: Must integrate with existing auth, <100ms latency
- Approach: WebSocket with Redis pub/sub
- Open questions: Documented in discovery.md
Ready to create implementation plan?
→ Recommend: /plan-feature [clarified request]
→ Next agent: planning-agent (uses technical-planning skill)
```
**Not ready when:**
- Problem statement is vague ("something with notifications")
- Critical constraints unknown (scale, security requirements)
- Multiple competing approaches without clarity
### For Writing
**Ready to outline when:**
- Core argument is clear
- Audience is defined
- 2-3 concrete examples identified
- User expresses readiness ("okay, let's outline this")
**Transition:**
```
AI: We've got:
- Core argument: OKRs fail because they measure what's easy, not what matters
- 3 examples from your experience
- Target audience: engineering managers
Ready to structure this into an outline?
→ Continue in braindump.md with outline
→ Next: Draft in draft.md using blog-writing skill
```
**Not ready when:**
- Core argument is still fuzzy
- Multiple competing angles without clarity on which to pursue
- Missing concrete examples or evidence
## Common Pitfalls to Avoid
1. **Injecting Your Ideas**: Don't suggest topics or angles the user hasn't mentioned - ask questions to draw out THEIR ideas
2. **Premature Structuring**: Don't jump to outline before the idea is clear
3. **Too Many Options**: Don't overwhelm with 10 different angles - offer 2-3
4. **Leading the Witness**: Ask genuine questions, don't push your preferred angle
5. **Over-Abstracting**: Keep pulling back to concrete examples
6. **Ignoring Constraints**: If user says "short post," don't brainstorm epic series
7. **Making Up Examples**: Don't invent scenarios - use only what the user has shared
## Quality Checklist
**Before transitioning (Writing):**
- [ ] Core argument is clear and specific (not vague)
- [ ] At least 2-3 concrete examples or data points identified
- [ ] Audience and purpose are defined
- [ ] User feels ready to move forward
- [ ] Braindump.md has been updated with key ideas
**Before transitioning (Projects):**
- [ ] Problem statement is clear and specific (not vague)
- [ ] Key constraints identified (scale, performance, security, integrations)
- [ ] At least 2-3 potential approaches explored
- [ ] User feels ready to move forward or major unknowns documented
- [ ] Discovery.md has been created with findings and open questions
## Example Flow
For detailed conversation examples showing brainstorming techniques in action, see reference/examples.md.
## Integration with Other Skills
**Before brainstorming** (when needed):
- Use **interviewing** skill if the user is unclear about *what* they want - their goals, requirements, Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.