Skip to content
Back to skills

Brainstorm Plus

ASecurity

Use this skill for high-effort brainstorming sessions that spawn multiple parallel subagents — each applying a distinct ideation technique (SCAMPER, Crazy 8s, Reverse, First Principles, Analogy, Six Hats, Constraint-Based, Random Input) — then synthesizes the results into strong threads the user can drill into before crafting SPECLAN specs. Triggers when the user says "deep brainstorm", "brainstorm plus", "multi-angle brainstorm", "throw everything at this", "I want a thorough exploration", "...

  • 8 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 26, 2026
developmentgotestinggitapisecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add thlandgraf/cc-marketplace --skill brainstorm-plus --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Brainstorm Plus?

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

Security grade badge for Brainstorm Plus
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thlandgraf-brainstorm-plus/badge)](https://www.skillsdirectory.com/skills/thlandgraf-brainstorm-plus)

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: speclan-engineering:brainstorm-plus
description: Use this skill for high-effort brainstorming sessions that spawn multiple parallel subagents — each applying a distinct ideation technique (SCAMPER, Crazy 8s, Reverse, First Principles, Analogy, Six Hats, Constraint-Based, Random Input) — then synthesizes the results into strong threads the user can drill into before crafting SPECLAN specs. Triggers when the user says "deep brainstorm", "brainstorm plus", "multi-angle brainstorm", "throw everything at this", "I want a thorough exploration", "parallel brainstorm", "give me more ideas", "I'm stuck — explore harder", or invokes `/speclan-engineering:brainstorm-plus`. Use this when a rough thought deserves more effort than single-agent brainstorming — gnarly architectural decisions, ambiguous product directions, or stuck ideation. Do NOT use this skill when the user has a finished PRD (use `/speclan-engineering:hlrd`), wants a quick brainstorm (use `/speclan-engineering:brainstorm`), or is asking about existing specs (use `/speclan:ask`).
version: 0.1.0
---

# SPECLAN Brainstorm Plus Pipeline

Multi-agent brainstorming that produces sharper specs by dispatching 3–5 parallel subagents — each applying a distinct ideation technique — then synthesizing the cross-technique output into strong threads for interactive progression.

## How this differs from `/brainstorm`

| Phase | `/brainstorm` | `/brainstorm-plus` |
|-------|---------------|--------------------|
| Grounding | Main skill | **Same** (references brainstorm's procedure) |
| Divergence | Main skill produces 3–4 angles per round | **3–5 parallel subagents**, each one technique, one shot |
| Synthesis | Inline in the conversation loop | **Explicit Phase 3** with cross-technique clustering |
| Progression loop | Up to 5 rounds | Up to **3 rounds** (subagents already did the heavy lifting) |
| Spec shaping / quality / creation | Main skill | **Same** (references brainstorm's procedure) |

The delta is phases 0.5–3. Everything else is shared.

## Pipeline at a glance

```
Phase 0  → Grounding                (REUSE brainstorm Phase 0)
Phase 1  → Technique Selection      (NEW — parse flags OR auto-pick 3–5 techniques)
Phase 2  → Parallel Agent Dispatch  (NEW — spawn subagents in one turn)
Phase 3  → Synthesis & Thread Pick  (NEW — cluster, present 2–3 threads, user picks)
Phase 4  → Interactive Progression  (REUSE brainstorm Phase 1, cap 3 rounds)
Phase 5  → Spec Shaping             (REUSE brainstorm Phase 2)
Phase 6  → Quality Clarification    (REUSE brainstorm Phase 3)
Phase 7  → Creation                 (REUSE brainstorm Phase 4)
Phase 8  → Cross-Referencing        (REUSE brainstorm Phase 5)
Phase 9  → Summary                  (REUSE brainstorm Phase 6 + technique contributions)
```

## Prerequisites

1. **`speclan` plugin loaded** — `speclan-format`, `speclan-id-generator`, `speclan-query`. Same as `/brainstorm`.
2. **`Agent` tool available** — if the harness doesn't expose parallel subagent dispatch, fall back to recommending `/speclan-engineering:brainstorm` and stop.
3. **`speclan/` directory exists or will be created** — same handling as `/brainstorm`.
4. **File creation delegation** — every spec goes through `speclan-format`'s "Creating New Specifications" procedure. Shared body templates live in `${CLAUDE_PLUGIN_ROOT}/../hlrd-authoring/references/entity-content.md`.

## Phase 0 — Grounding

**Delegate to `/brainstorm` skill's Phase 0.** Load `${CLAUDE_PLUGIN_ROOT}/../brainstorm/SKILL.md` and `${CLAUDE_PLUGIN_ROOT}/../brainstorm/references/grounding.md`. Follow the procedure exactly: resolve the thought, detect speclan directory, build lightweight context, **resolve the `owner_value` from `git config user.email` and cache it** (brainstorm Phase 0 Step 2.5), anchor via explicit IDs or noun Grep, classify into one of the seven types, present the interpretation, handle `not-speclan` exit.

**One difference at argument resolution**: before treating `$ARGUMENTS` as the thought, strip the `--techniques=<csv>` flag if present. See Phase 1 Step 1 for flag parsing — it runs before grounding Step 1 so the thought passed to grounding is the pure text.

State captured from Phase 0 for downstream phases:

- `thought` — the cleaned rough idea
- `classification` — one of the seven classes from `grounding.md`
- `anchor` — the anchor entity details or `null`
- `project_summary` — 1-sentence description of the project's vision/mission
- `owner_value` — the resolved git user email used as the `owner` field on every spec this pipeline creates or modifies

If classification is `not-speclan`, exit the pipeline (same as `/brainstorm`).

## Phase 1 — Technique Selection

**Goal:** Decide which 3–5 brainstorming techniques to dispatch as parallel subagents.

### Step 1 — Parse the flag (if present)

Before handing the thought to Phase 0, scan `$ARGUMENTS` for `--techniques=<csv>`:

- **Pattern**: `--techniques=<comma-separated-names>` at the start, end, or middle of `$ARGUMENTS`.
- **Valid names**: `scamper`, `crazy-8s`, `reverse`, `constraint`, `first-principles`, `analogy`, `six-hats`, `random-input`. See `references/techniques.md` for the canonical list.
- **Strip the flag** from `$ARGUMENTS` before passing the remaining text as the thought.
- **Validate** each name. If any is invalid (typo, unknown), use `AskUserQuestion` to show the valid list and ask the user to fix. Don't silently drop invalid names.
- **Count check**: the user may specify 1–8 techniques. If they specify more than 5, warn via `AskUserQuestion` that synthesis works best with ≤5 and let them confirm or trim.

If the flag was present and valid, skip to Step 3 (user-picked, no auto-selection).

### Step 2 — Auto-selection (no flag)

Read `references/technique-selection.md` now — it contains the decision matrix that maps `(classification, anchor, thought_shape)` to 3–5 techniques.

Apply the matrix:

1. **Mandatory techniques** per classification (e.g., SCAMPER is mandatory for `feature-extension`).
2. **Skip rules** based on preconditions (e.g., SCAMPER requires an anchor; skip if `anchor == null`).
3. **Boost rules** based on thought shape (e.g., include `six-hats` when the thought is multi-stakeholder, `random-input` when the thought is vague/short, `analogy` when the thought has a clear domain).
4. **Cap at 5** — never dispatch more than 5 subagents in one session. If more techniques qualify, drop the lowest-priority ones per the matrix's tie-breaker.

Record the selection as `selected_techniques: [<name>, ...]` with a 1-line reason per technique.

### Step 3 — Present for confirmation

Show the user the selected techniques in plain text:

> **For this brainstorm I'm dispatching these techniques in parallel:**
>
> 1. **SCAMPER** — the thought targets an existing feature, so mutation lenses apply
> 2. **Reverse Brainstorming** — the thought touches risk/security
> 3. **Constraint-Based** — stress-testing surfaces constraints you may not have considered
> 4. **First Principles** — the thought has buried assumptions worth exposing
>
> Spawning 4 parallel subagents. This will take longer than a regular brainstorm but produces a richer starting point.

Then `AskUserQuestion`:

> Dispatch these techniques?

Options:

1. `Dispatch as planned` → advance to Phase 2
2. `Adjust selection — let me pick` → drop into a sub-loop: show the 8 canonical techniques via `AskUserQuestion` (may need pagination since `AskUserQuestion` supports ≤4 options per question — split into two pages of 4), let the user toggle selections, then confirm the final list
3. `Cancel` → exit the pipeline

## Phase 2 — Parallel Agent Dispatch

**Goal:** Spawn one `general-purpose` subagent per selected technique, **in a single turn** for true parallelism.

### Step 1 — Build prompts

For each technique in `selected_techniques`, read its agent prompt template from `references/techniques.md` and fill in the placeholders:

- `{THOUGHT}` — the cleaned thought from Phase 0
- `{CLASSIFICATION}` — the grounding classification
- `{ANCHOR}` — the anchor entity details, or "free-range (no anchor)"
- `{PROJECT_SUMMARY}` — the 1-sentence project summary

Each prompt is self-contained — subagents start fresh with no conversation context, so the prompt must carry every fact the subagent needs.

### Step 2 — Dispatch in one turn

**CRITICAL**: spawn all subagents in a **single message** with multiple `Agent` tool calls. Do not spawn them sequentially — parallel dispatch is the whole point of this skill.

Each call uses:
- `subagent_type: "general-purpose"`
- `description`: "<technique-name> brainstorm"
- `prompt`: the filled prompt template

### Step 3 — Collect outputs

Each subagent returns a markdown document. Tag the output with its technique name and store under `agent_outputs[<technique>] = <markdown>`.

Agents are instructed to follow a conventional structure (per-idea headers, commentary section), but they may drift. Phase 3's parsing is robust to reasonable variation.

### Step 4 — Handle failures

- **Empty or clearly off-task output** (subagent ignored the technique, produced a summary of the thought, hallucinated implementation details) → drop the agent, continue with the remaining.
- **Timeout or hard error** → drop, continue.
- **Floor check**: if fewer than **2 agents** return usable output, stop and `AskUserQuestion`:
  - `Retry the failed agents once`
  - `Fall back to /speclan-engineering:brainstorm` (which doesn't need parallel agents)
  - `Cancel`

Failures below the floor are rare but the floor prevents a thin synthesis from being presented as rich.

## Phase 3 — Synthesis & Thread Pick

**Goal:** Cluster ideas across agents, identify the 2–3 strongest threads, and let the user pick one (or a hybrid) to drill into during Phase 4.

Read `references/synthesis.md` now — it contains the parsing strategy for free-form agent markdown, the clustering rules, and the thread-strength heuristic.

### Step 1 — Parse agent outputs

For each `agent_outputs[<technique>]`:

1. Extract ideas by scanning for heading patterns (`## Idea N:`, `## <lens> — <label>`, numbered lists). `synthesis.md` has the robust pattern list.
2. Capture per idea: technique name, label (3–6 words), description (1–2 sentences).
3. Capture the technique's commentary section as context (not a cluster candidate — used when picking threads).

### Step 2 — Cluster across techniques

Apply the similarity rules in `synthesis.md`:

- Keyword overlap in labels (domain nouns)
- Shared anchor entities mentioned in descriptions
- Conceptual overlap even with different wording (use judgment, not string match)

Each cluster is `{ label, member_ideas: [...], contributing_techniques: [...] }`.

### Step 3 — Identify strong threads

Rank clusters by strength using the heuristic:

> `strength = corroboration_count × (1 + orthogonal_novelty_score)`

- **corroboration_count**: distinct techniques that contributed a member idea. 2+ techniques agreeing = strong.
- **orthogonal_novelty_score**: 0.5 bonus if a single-technique cluster surfaces an angle no other technique mentioned but which aligns with the grounding classification.

Pick the top **3** clusters. If fewer than 3 distinct clusters exist (i.e., all agents converged on 1–2 ideas), pick all of them — don't pad with weak clusters.

### Step 4 — Present threads

Synthesize each thread into a 3–6 word label + 2–3 sentence summary listing contributing techniques. Example:

> **Thread A: Role-scoped approval workflows** *(SCAMPER · Reverse · Six Hats)*
> Multiple agents converged on the idea that team roles should gate approval workflows rather than read access. SCAMPER surfaced the "Substitute" lens (replace ACL with role-approval), Reverse pointed out that read-gating leaks draft content, Six Hats' black-hat flagged the audit risk of unscoped approvals.

Then `AskUserQuestion`:

> Which thread do you want to drill into?

Options:

1. `Thread A: <label>` → set `current_focus = thread A`, advance to Phase 4
2. `Thread B: <label>` → set `current_focus = thread B`
3. `Thread C: <label>` → set `current_focus = thread C`
4. `Hybrid — combine multiple` → free-text follow-up asking which threads to merge and how; set `current_focus` to the merged description
5. `Cancel` → exit the pipeline

(If you have only 2 threads, reduce options to 1–2 + Hybrid + Cancel. If only 1 thread, skip the question and advance with it as the focus.)

## Phase 4 — Interactive Progression

**Delegate to `/brainstorm` skill's Phase 1 (Exploration Loop)** with two modifications:

1. **Seed `synthesis`** with the `current_focus` from Phase 3 (instead of the raw thought).
2. **Reduce the round cap from 5 to 3.** The subagents already did most of the divergence work — the interactive loop is for sharpening, not re-exploring. After 3 rounds, insist on Phase 5 per the `/brainstorm` cap-enforcement rules.

Everything else in the loop is unchanged: `AskUserQuestion` commitment gate, free-form drill-down, synthesis updates between rounds.

## Phase 5 — Spec Shaping

**Delegate to `/brainstorm` skill's Phase 2 verbatim.** Enumerate entities, apply edit-vs-CR rule, present plan, refine sub-loop.

## Phase 6 — Quality Clarification

**Delegate to `/brainstorm` skill's Phase 3 verbatim.** ≤1 question per entity, hard cap 3 total. This includes the silent user-centricity reframe — brainstorm-plus sessions are especially prone to implementation-language drift because the subagent techniques (First Principles, Constraint-Based) naturally surface architectural ideas. The spec must still land in user-centric language.

## Phase 7 — Creation

**Delegate to `/brainstorm` skill's Phase 4 verbatim.** File creation goes through `speclan-format`'s creation procedure; body templates from the shared `hlrd-authoring/references/entity-content.md`; CRs follow `brainstorm/references/change-request-workflow.md`.

## Phase 8 — Cross-Referencing

**Delegate to `/brainstorm` skill's Phase 5 verbatim.** Every entity touched in Phase 7 gets inline markdown cross-references woven into its existing prose, features get bidirectional goal contributions, and the post-creation validation step enforces the inline-only rule by scanning for forbidden `## Related` / `## References` / `## See Also` / `## Links` sections.

This phase is mandatory and applies the **same canonical contract** as `/hlrd` and `/brainstorm` — see `../hlrd-authoring/references/cross-referencing.md`.

## Phase 9 — Summary

**Delegate to `/brainstorm` skill's Phase 6** with one addition: include a line listing which techniques contributed to the final spec content, so the user can see which subagent shaped the outcome:

> **Techniques that shaped this output:** SCAMPER, Reverse Brainstorming, First Principles (3 of 4 dispatched — Constraint-Based was dispatched but did not contribute to the selected thread)

This closes the loop on "which technique actually helped" and informs future flag decisions.

## Error handling and cancellation

Inherits all error-handling rules from `/brainstorm`. Additional rules specific to the agent-dispatch phase:

- **Dispatch failure** (harness rejects `Agent` tool calls) — stop, report, suggest `/speclan-engineering:brainstorm` as fallback.
- **Partial dispatch** (some agents spawn, others fail immediately) — proceed with what succeeded as long as the floor of 2 is met.
- **User cancels during the dispatch wait** — agents in flight cannot be cleanly aborted; report that agents may have completed and the result is being discarded.

## References

- `references/technique-selection.md` — Decision matrix: `(classification, anchor, thought_shape) → 3–5 techniques`.
- `references/techniques.md` — Per-technique agent prompt templates, expected output structure, failure modes.
- `references/synthesis.md` — Parsing strategy for free-form agent markdown, clustering rules, thread-strength heuristic.
- `../brainstorm/SKILL.md` — Phases 0 (Grounding), 1 (Exploration Loop, used as Phase 4), 2 (Spec Shaping), 3 (Quality Clarification), 4 (Creation), 5 (Cross-Referencing), 6 (Summary).
- `../brainstorm/references/grounding.md` — Classification taxonomy used by Phase 0.
- `../brainstorm/references/change-request-workflow.md` — CR creation for locked entities.
- `../hlrd-authoring/references/entity-content.md` — Shared body templates and merge rules.
- `../hlrd-authoring/references/cross-referencing.md` — **Shared** canonical cross-referencing contract used by Phase 8 (inline-only rule, validation, relative paths, goal contributions).

## Related skills

Same as `/brainstorm`:

- `speclan-format` — creation procedure, canonical structure.
- `speclan-id-generator` — ID generation.
- `speclan-query` — entity enumeration and filtering.

Never duplicate logic from those skills — always delegate.

Files in this skill

  • SKILL.md16.6 KB
  • references/synthesis.md9 KB
  • references/technique-selection.md8.3 KB
  • references/techniques.md18.3 KB

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.