# Brainstorm

Brainstorm Elixir/Phoenix features, explore ideas, compare approaches, gather...

- Repository: https://github.com/oliver-kriska/claude-elixir-phoenix (572 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add oliver-kriska/claude-elixir-phoenix --skill brainstorm -g -a claude-code -y`
Codex: `npx skills add oliver-kriska/claude-elixir-phoenix --skill brainstorm -g -a codex -y`
Cursor: `npx skills add oliver-kriska/claude-elixir-phoenix --skill brainstorm -g -a cursor -y`
Gemini CLI: `npx skills add oliver-kriska/claude-elixir-phoenix --skill brainstorm -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add oliver-kriska/claude-elixir-phoenix`

## Description

Brainstorm Elixir/Phoenix features, explore ideas, compare approaches, gather requirements. Use when vague idea, not sure how to approach, or want to discuss before plan.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Brainstorm, Adaptive Requirements Gathering

Interactive interview → research → synthesis loop. Produces structured
`interview.md` that `/phx:plan` detects and consumes (skipping clarification).

## Usage

```text
/phx:brainstorm Add some kind of notification system
/phx:brainstorm Improve authentication security
/phx:brainstorm                    # starts with open question
```

## Workflow

```
/phx:brainstorm {topic}
    |
    v
[INTERVIEW] ←──────────────────┐
    |                           |
    v (sufficient OR user exit) |
[DECISION POINT]                |
    ├─ Research ──→ [RESEARCH] ─┘
    ├─ Continue interview ──────┘
    ├─ Make a plan ──→ STOP (suggest /phx:plan {slug})
    ├─ Store & exit ──→ STOP (artifacts saved)
    └─ Discuss ──→ freeform ──→ [DECISION POINT]
```

## Phase 1: Adaptive Interview

Create `.claude/plans/{slug}/` directory. Start asking ONE question at a time.

### Coverage Dimensions

Track coverage across 6 dimensions (0=uncovered, 1=partial, 2=sufficient).
**Ask Scope early**, for "optimize X" topics, ask about boundaries (upstream
OK? Local-only? CI vs dev?) before research, not during.

| Dim | Target | Sufficient signal |
|-----|--------|-------------------|
| What | Specific behavior/features | Concrete verbs, not "some kind of" |
| Why | Problem solved, user need | Clear benefit stated |
| Scope | In/out boundaries | Explicit exclusions stated |
| Where | Modules, contexts, pages | File paths or context names mentioned |
| How | Approach, constraints | At least one concrete constraint |
| Edge | Error states, scale, auth | 2+ edge cases identified |

Interview is "sufficient" when total score >= 8 out of 12.

### Context-Aware Questioning

**Before each question**, run a brief codebase scan on topics the user mentioned:

The rest: https://github.com/oliver-kriska/claude-elixir-phoenix/blob/HEAD/plugins/elixir-phoenix/skills/brainstorm/SKILL.md
