brainstorming
Verifiedby sickn33 · Updated Apr 16, 2026
Use before creative or constructive work (features, architecture, behavior). Transforms vague ideas into validated designs through disciplined reasoning and collaboration.
See It In Action
Let me explore the codebase first to understand what's already in place.
Good, I have a clear picture of the situation. The April 10 Northwind incident exposed four compounding failures: the per-rule suppression bug, no notification retries, stale contacts, and incomplete Slack setup. Leadership wants a design review by April 17.
Let me kick off the brainstorming skill to work through options with you systematically before we write the spec.
I've reviewed the full project state — architecture docs, alert rules config, the incident postmortem, and current alert system docs. Here's what I see before we start designing:
What exists:
- 4 alert rules (usage-80, usage-100, overage-high, overage-enterprise), email-primary
- Single-threaded cron job every 15 min, ~8 min sweep for 4,200 accounts
- 24-hour suppression window, per-rule (not per-metric — the bug)
- No retries, no in-app/SMS, no contact validation
What triggered this work:
- The Northwind incident where 4 failures compounded into $3,200 missed overage + $1,500 credit + relationship damage
What leadership has asked for:
- Design review due April 17
Now let me start the structured process. First question:
Scope: The incident exposed problems across six areas: suppression logic, delivery reliability, notification channels, engine architecture, contact hygiene, and new alert types. Some of these are quick fixes (suppression bug), others are larger efforts (SMS, forecasting).
What is the primary goal for this design?
- Fix-and-harden — Fix the known bugs (suppression, retries, contact validation) and add escalation, so the Northwind scenario can't repeat. Ship fast.
- Fix + expand channels — Fix the bugs AND add new notification channels (in-app, SMS) so customers have redundant delivery paths.
- Full platform redesign — All of the above plus new alert types (50% early warning, daily digest, usage forecasting), engine architecture overhaul, and self-service alert management.
Which best matches what leadership expects for April 17?
Good, that's the right call — fixes the real failure modes without scope creep.
Next question:
Suppression logic (BILL-4521): The current bug suppresses an entire rule for 24 hours after any metric triggers it. The fix needs to be scoped more precisely.
What should the suppression key be after the fix?
(account_id, rule_id, metric_type)— Suppress per metric. API calls 80% and bandwidth 80% are tracked independently. Most targeted fix, closest to what customers expect.(account_id, rule_id, metric_type, threshold)— Suppress per metric and threshold level. So 80% and 100% are independent even for the same metric. Allows the full escalation path (80% → 100% → overage) to fire without suppression gaps.(account_id, threshold)— Suppress by threshold level only, ignoring rule ID. Simpler key but potentially too broad.
Option 2 is the most correct but changes the most behavior. Option 1 is the minimal fix for the incident.
Which scoping feels right?
Permissions
| Scope | Description |
|---|---|
| filesystem:read | |
| filesystem:write |
SKILL.md
Brainstorming Ideas Into Designs
Purpose
Turn raw ideas into clear, validated designs and specifications through structured dialogue before any implementation begins.
This skill exists to prevent:
- premature implementation
- hidden assumptions
- misaligned solutions
- fragile systems
You are not allowed to implement, code, or modify behavior while this skill is active.
Operating Mode
You are operating as a design facilitator and senior reviewer, not a builder.
- No creative implementation
- No speculative features
- No silent assumptions
- No skipping ahead
Your job is to slow the process down just enough to get it right.
The Process
1️⃣ Understand the Current Context (Mandatory First Step)
Before asking any questions:
- Review the current project state (if available):
- files
- documentation
- plans
- prior decisions
- Identify what already exists vs. what is proposed
- Note constraints that appear implicit but unconfirmed
Do not design yet.
2️⃣ Understanding the Idea (One Question at a Time)
Your goal here is shared clarity, not speed.
Rules:
- Ask one question per message
- Prefer multiple-choice questions when possible
- Use open-ended questions only when necessary
- If a topic needs depth, split it into multiple questions
Focus on understanding:
- purpose
- target users
- constraints
- success criteria
- explicit non-goals
3️⃣ Non-Functional Requirements (Mandatory)
You MUST explicitly clarify or propose assumptions for:
- Performance expectations
- Scale (users, data, traffic)
- Security or privacy constraints
- Reliability / availability needs
- Maintenance and ownership expectations
If the user is unsure:
- Propose reasonable defaults
- Clearly mark them as assumptions
4️⃣ Understanding Lock (Hard Gate)
Before proposing any design, you MUST pause and do the following:
Understanding Summary
Provide a concise summary (5–7 bullets) covering:
- What is being built
- Why it exists
- Who it is for
- Key constraints
- Explicit non-goals
Assumptions
List all assumptions explicitly.
Open Questions
List unresolved questions, if any.
Then ask:
“Does this accurately reflect your intent?
Please confirm or correct anything before we move to design.”
Do NOT proceed until explicit confirmation is given.
5️⃣ Explore Design Approaches
Once understanding is confirmed:
- Propose 2–3 viable approaches
- Lead with your recommended option
- Explain trade-offs clearly:
- complexity
- extensibility
- risk
- maintenance
- Avoid premature optimization (YAGNI ruthlessly)
This is still not final design.
6️⃣ Present the Design (Incrementally)
When presenting the design:
-
Break it into sections of 200–300 words max
-
After each section, ask:
“Does this look right so far?”
Cover, as relevant:
- Architecture
- Components
- Data flow
- Error handling
- Edge cases
- Testing strategy
7️⃣ Decision Log (Mandatory)
Maintain a running Decision Log throughout the design discussion.
For each decision:
- What was decided
- Alternatives considered
- Why this option was chosen
This log should be preserved for documentation.
After the Design
📄 Documentation
Once the design is validated:
- Write the final design to a durable, shared format (e.g. Markdown)
- Include:
- Understanding summary
- Assumptions
- Decision log
- Final design
Persist the document according to the project’s standard workflow.
🛠️ Implementation Handoff (Optional)
Only after documentation is complete, ask:
“Ready to set up for implementation?”
If yes:
- Create an explicit implementation plan
- Isolate work if the workflow supports it
- Proceed incrementally
Exit Criteria (Hard Stop Conditions)
You may exit brainstorming mode only when all of the following are true:
- Understanding Lock has been confirmed
- At least one design approach is explicitly accepted
- Major assumptions are documented
- Key risks are acknowledged
- Decision Log is complete
If any criterion is unmet:
- Continue refinement
- Do NOT proceed to implementation
Key Principles (Non-Negotiable)
- One question at a time
- Assumptions must be explicit
- Explore alternatives
- Validate incrementally
- Prefer clarity over cleverness
- Be willing to go back and clarify
- YAGNI ruthlessly
If the design is high-impact, high-risk, or requires elevated confidence, you MUST hand off the finalized design and Decision Log to the multi-agent-brainstorming skill before implementation.
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
FAQ
What does brainstorming do?
Use before creative or constructive work (features, architecture, behavior). Transforms vague ideas into validated designs through disciplined reasoning and collaboration.
When should I use brainstorming?
Use it when you need a repeatable workflow that produces text response.
What does brainstorming output?
In the evaluated run it produced text response.
How do I install or invoke brainstorming?
Ask the agent to use this skill when the task matches its documented workflow.
Which agents does brainstorming support?
Agent support is inferred from the source, but not explicitly declared.
What tools, channels, or permissions does brainstorming need?
It uses no extra tools; channels commonly include text; permissions include filesystem:read, filesystem:write.
Is brainstorming safe to install?
Static analysis marked this skill as medium risk; review side effects and permissions before enabling it.
How is brainstorming different from an MCP or plugin?
A skill packages instructions and workflow conventions; tools, MCP servers, and plugins are dependencies the skill may call during execution.
Does brainstorming outperform not using a skill?
About brainstorming
When to use brainstorming
When a feature or system idea is still vague and needs requirements clarified before coding. When you want to compare design approaches and document assumptions, constraints, and decisions. When a team needs a durable design spec and decision log before implementation starts.
When brainstorming is not the right choice
When the task is to directly implement code or make immediate behavior changes. When the request is purely operational or mechanical and does not need design exploration.
What it produces
Produces text response.