REQUIRED Phase 1 of /ds workflow. Uses Socratic questioning to clarify goals, data sources, and constraints.
Clarifies vague analysis requests through Socratic questioning before any data exploration. Triggers when users request data analysis, asking about objectives, data sources, constraints, and replication requirements to create a spec document for Phase 2.
/plugin marketplace add edwinhu/workflows/plugin install workflows@edwinhu-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Announce: "I'm using ds-brainstorm (Phase 1) to gather analysis requirements."
Refine vague analysis requests into clear objectives through Socratic questioning. NO data exploration, NO coding - just questions and objectives.
<EXTREMELY-IMPORTANT> ## The Iron Law of DS BrainstormingASK QUESTIONS BEFORE ANYTHING ELSE. This is not negotiable.
Before loading data, before exploring, before proposing approaches, you MUST:
If you catch yourself about to load data or explore before asking questions, STOP. </EXTREMELY-IMPORTANT>
| DO | DON'T |
|---|---|
| Ask clarifying questions | Load or explore data |
| Understand analysis objectives | Run queries |
| Identify data sources | Profile data (that's /ds-plan) |
| Define success criteria | Create visualizations |
| Ask about constraints | Write analysis code |
| Check if replicating existing analysis | Propose specific methodology |
Brainstorm answers: WHAT and WHY Plan answers: HOW (data profile + tasks) (separate skill)
Use AskUserQuestion immediately:
CRITICAL: Ask early if replicating existing work:
AskUserQuestion:
question: "Are you replicating or extending existing analysis?"
options:
- label: "Replicating existing"
description: "Must match specific methodology/results"
- label: "Extending existing"
description: "Building on prior work with modifications"
- label: "New analysis"
description: "Fresh analysis, methodology flexible"
If replicating:
Once objectives are clear:
AskUserQuestion for user to pickAfter approach is chosen:
.claude/SPEC.md# Spec: [Analysis Name]
> **For Claude:** After writing this spec, use `Skill(skill="workflows:ds-plan")` for Phase 2.
## Objective
[What question this analysis answers]
## Data Sources
- [Source 1]: [location, format, time period]
- [Source 2]: [location, format, time period]
## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2
## Constraints
- Replication: [yes/no - if yes, reference source]
- Timeline: [deadline]
- Methodology: [required approaches]
## Chosen Approach
[Description of selected approach]
## Rejected Alternatives
- Option B: [why rejected]
- Option C: [why rejected]
| Action | Why It's Wrong | Do Instead |
|---|---|---|
| Load data | Exploring before understanding goals | Ask what user wants to learn |
| Run describe() | Data profiling is for /ds-plan | Finish objectives first |
| Propose specific model | Jumping to HOW before WHAT | Define success criteria first |
| Create task list | Planning before objectives clear | Complete brainstorm first |
| Skip replication question | Methodology may be constrained | Always ask about replication |
Brainstorm complete when:
.claude/SPEC.md writtenREQUIRED SUB-SKILL: After completing brainstorm, IMMEDIATELY invoke:
Skill(skill="workflows:ds-plan")
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.