Use when exploring technical solutions, comparing approaches, or generating alternatives for a validated problem. Triggers on "brainstorm solutions", "explore approaches", "compare options", "trade-off analysis", "how should we build". Do NOT use for product validation ("is this worth building?" → use mk:office-hours instead). Do NOT use when a plan already exists (→ use mk:plan-ceo-review instead).
Scanned 5/29/2026
Install via CLI
openskills install ngocsangyem/MeowKit---
name: mk:brainstorming
preamble-tier: 3
version: 2.0.0
description: |
Use when exploring technical solutions, comparing approaches, or generating
alternatives for a validated problem. Triggers on "brainstorm solutions",
"explore approaches", "compare options", "trade-off analysis", "how should
we build". Do NOT use for product validation ("is this worth building?" →
use mk:office-hours instead). Do NOT use when a plan already exists
(→ use mk:plan-ceo-review instead).
allowed-tools:
- Read
- Grep
- Glob
- AskUserQuestion
- WebSearch
source: local
keywords: [brainstorm, explore-solutions, compare-approaches, trade-off-analysis, alternatives]
when_to_use: "Use when exploring technical solutions or comparing approaches for a validated problem. NOT for product validation (see mk:office-hours) or after a plan exists (see mk:plan-ceo-review)."
user-invocable: true
---
# Brainstorming
Explore technical solutions with structured ideation, scoring, and plan-creator handoff.
**Differentiator:** office-hours = "should we build this?", brainstorming = "how should we build this?"
## When to Use
- Multiple architecturally-distinct approaches exist for a known requirement
- Trade-off analysis between candidate solutions is needed
- Novel problem with no obvious pattern in the codebase
- Pre-mortem / failure-mode exploration before committing to a design
- Constraint-rich problem (budget, time, stack) where the solution space is narrow
**NOT this skill if:** you are stuck on a specific existing approach with forced assumptions — use `mk:problem-solving`. **NOT this skill if:** you want to deepen an existing verdict or plan — use `mk:elicit`.
## When NOT to Use
| Situation | Use instead |
| ----------------------------------------------------- | -------------------------------- |
| "Is this worth building?" — product validation | `mk:office-hours` |
| Plan already exists, want to challenge scope | `mk:plan-ceo-review` |
| Bug investigation / root cause | `mk:investigate` |
| Implementation detail (which library, which API call) | `mk:docs-finder` + just decide |
## Plan-First Gate
Brainstorming precedes planning — it produces input FOR plans.
Always skips Gate 1 (same as `mk:investigate` and `mk:office-hours`).
## Arguments
- `--depth quick` — 3-8 ideas, no scoring (default)
- `--depth deep` — scored ideas + top 3 + optional plan-creator handoff
- `--technique [name]` — force a specific technique (default: auto-select)
## Process (outcome-oriented; not a script)
The skill is done when:
1. **Problem is confirmed** — the user has explicitly agreed on what is being solved and the binding constraint. Use `AskUserQuestion` if needed, capped at 3 questions per batch (see Discovery Protocol).
2. **Scope is right-sized** — if the request bundles 3+ independently-shippable concerns (heuristic: would each be its own GitHub issue or PR?), the user has agreed to either decompose into sub-projects or pick one to brainstorm now. Do not proceed on a bundled request.
3. **A technique is selected** — match problem type to one file in `references/techniques/`. When multiple match, prefer in this order: `multi-alternative` → `first-principles` → `reverse` → `constraint-mapping` → `scamper` → `analogical-thinking` → `perspective-shift`.
- "How to build X" → `multi-alternative.md`
- Novel problem, no existing pattern → `first-principles.md`
- Debugging / preventing failures → `reverse.md`
- Many constraints, narrow space → `constraint-mapping.md`
- Improving / iterating an existing thing → `scamper.md`
- Cross-domain transfer → `analogical-thinking.md`
- Stakeholder / persona angles → `perspective-shift.md`
4. **Ideas are generated, then evaluated separately** — cap at 8 ideas per run. Do not score or compare while generating; the full set must exist before any ranking.
5. **Anti-bias pivot is applied once** — after idea #4 (midpoint), pause and ask: "what orthogonal category have I not touched yet?" Generate the rest from that angle. One pivot per session.
6. **Output uses the right template** —
- `--depth quick` → `assets/output-ideas.md`
- `--depth deep` → `assets/output-scored.md` (score via `references/scoring-criteria.md`)
7. **Handoff is offered** (`--depth deep` only) — ask: "Create plan from top idea?" If yes → invoke `mk:plan-creator` with `{ idea, problem, constraints, scores, rationale }`.
**Behavioral hard rule (not hook-enforced — see `gate-rules.md` for actual gates):** brainstorming MUST NOT write code, create files outside `plans/reports/`, or invoke implementation skills. Output is _ideas_, never _code_.
## Idea Format Template
Capture every idea with this shape — not bare table rows:
```
[#N] [Mnemonic Title]
Concept: [2-3 sentence mechanism — what it is and how it works]
Novelty: [What makes this non-obvious; why a senior eng wouldn't dismiss it]
```
The Novelty line is mandatory. If you cannot write one, the idea is a duplicate of a more obvious option — drop it and try another orthogonal angle.
## Anti-Rationalization
When tempted to skip discovery, scope, or the pivot — read `references/anti-rationalization.md`. It catalogs the common excuses and their counter-arguments.
## Discovery Protocol
Use `AskUserQuestion` to clarify, but cap at **3 questions per batch**. Avoid question fatigue.
Good clarifying questions target:
- The actual constraint that bounds the solution (budget, latency, team size, deadline)
- The success criteria (what does "good" look like once we ship?)
- What the user has already ruled out and why
Bad clarifying questions:
- Asking the user to design the solution ("would you prefer X or Y?")
- Asking for information already in the request
- Asking 5+ questions before generating any ideas
## Gotchas (top 3)
- **Premature solutioning** — jumping to "how" before confirming "what". Force problem restatement first.
- **Anchoring on first idea** — generate ALL ideas before evaluating any. Score in a separate pass.
- **Context flooding** — max 8 ideas per run. If the problem needs more, run multiple focused sessions on sub-problems.
Full list: `references/gotchas.md`
Edge cases (where the obvious approach is wrong): `references/edge-cases.md`
## Workflow Integration
Phase 1 (Plan) — pre-planning. Runs after problem validation, before plan creation.
```
mk:office-hours (validate)
↓
mk:brainstorming (explore)
↓
mk:plan-creator (plan)
```
## Handoff Protocol
On completion:
- Output saved to `plans/reports/`
- If `--depth deep` and user opts in: invoke `mk:plan-creator` with `{ idea, problem, constraints, scores, rationale }`
- `plan-creator` receives this as pre-research input and may skip its own discovery step
No comments yet. Be the first to comment!