Skip to content
Back to skills

Brainstorming 38

ASecurity

Explores requirements, searches past decisions, creates design documents, and sets up feature branches. Use before any feature work or when starting a new feature.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
developmentgobashgit

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill brainstorming-38 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Brainstorming 38?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Brainstorming 38
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-brainstorming-38/badge)](https://www.skillsdirectory.com/skills/david-li0406-brainstorming-38)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: brainstorming
description: Explores requirements, searches past decisions, creates design documents, and sets up feature branches. Use before any feature work or when starting a new feature.
---

# Brainstorming

Turn ideas into designs through collaborative dialogue.

**Announce:** "I'm using the brainstorming skill to explore this feature."

## The Flow

```
EC Search → Branch Setup → Q&A → Approaches → Design → Save
```

## Step 1: Search Memory

Before designing, check what we've done before:

```
ec_search:
  query: [feature area]
  type: decision

ec_search:
  query: [related patterns]
  type: pattern

ec_search:
  query: [similar features]
```

Note relevant past decisions that might inform or constrain the design.

## Step 2: Branch Setup

Check current state:

```bash
git branch --show-current
git status
```

Load branch convention from config:

```
ec_search:
  query: project config
  type: config
```

**REQUIRED: Use the AskUserQuestion tool** to determine branching:

**If on main:**
```json
{
  "questions": [{
    "question": "Create a feature branch for this work?",
    "header": "Branch",
    "options": [
      { "label": "Yes", "description": "Create {convention}/<name> branch" },
      { "label": "No", "description": "Stay on main" }
    ],
    "multiSelect": false
  }]
}
```

**If on feature branch:**
```json
{
  "questions": [{
    "question": "Where should this new work branch from?",
    "header": "Branch",
    "options": [
      { "label": "Current branch", "description": "Nested feature off current work" },
      { "label": "Main", "description": "Fresh start from main" }
    ],
    "multiSelect": false
  }]
}
```

This enables branching cycles - features can spawn sub-features.

## Step 3: Understand the Idea

**REQUIRED: Use the AskUserQuestion tool** for all clarifying questions.

- 1-4 questions per tool call
- 2-4 options per question
- Users can always type free text (implicit "Other" option)
- Use `multiSelect: true` when multiple options can apply

Focus on:
- What problem are we solving?
- What are the constraints?
- What does success look like?

Example:
```json
{
  "questions": [{
    "question": "Who should have access to this feature?",
    "header": "Access",
    "options": [
      { "label": "All users", "description": "Any authenticated user" },
      { "label": "Admins only", "description": "Requires admin role" },
      { "label": "Role-based", "description": "Configurable per role" }
    ],
    "multiSelect": false
  }]
}
```

## Step 4: Explore Approaches

Propose 2-3 approaches with trade-offs. Lead with your recommendation and why.

Search EC for relevant prior decisions:

```
ec_search:
  query: [technology or pattern being considered]
  type: decision
```

Keep it conversational:
> "I'd go with Option A because [reason]. Option B would work if [condition]. Option C is overkill unless [edge case]."

## Step 5: Present Design

Once you understand what we're building, present the design in chunks (200-300 words each). Check after each section if it looks right.

Cover:
- Architecture / component structure
- Data flow
- Key implementation details
- Edge cases / error handling

Be ready to backtrack if something doesn't fit.

## Step 6: Save Design

Write to `docs/designs/YYYY-MM-DD-<topic>.md`

Include:
- Summary of what we're building
- Key decisions and rationale
- Reference to any EC memories consulted
- Placeholder for implementation plan: `See: docs/plans/YYYY-MM-DD-<topic>.md`

## Step 7: Store Decisions

For each significant architectural decision made:

```
ec_add:
  type: decision
  area: [component]
  content: [What was decided and why]
  rationale: [Trade-offs considered]
```

## Handoff

After saving:
> "Design saved to `docs/designs/YYYY-MM-DD-<topic>.md`. Ready to create the implementation plan?"

If yes → **Use @writing-plans**

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…