framework_eng/skills/framework-meta/brainstorm/SKILL.md
Structured brainstorming with the user via the slash-command /brainstorm. Helps expand the hypothesis space for any task (product, technical, architectural), combat LLM mode collapse, and reduce the result to 3 distinct viable options. Use when the user wants to discuss solution options, choose an approach, find alternatives, or explicitly invokes /brainstorm.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework brainstormInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The goal is to expand the full solution space for the task, not to give the first plausible idea. The skill fights the typical LLM failure mode: producing a "smooth answer from the distribution mode" and losing alternatives that might turn out better.
| Trigger | Action |
|---------|--------|
| User invoked /brainstorm <topic> | Go through phases 0–5, optionally 6 |
| Request like "what's the best way to do X", "what options are there", "let's think about Y" | Offer to start /brainstorm; if agreed, go through the phases |
| Before writing a specification when the approach is not chosen | Use as preparation for Considered Options/ADR |
| In phase 1 of a full cycle (Analyst), the task allows multiple approaches | Run as an internal analysis step |
Six phases moving from expansion to narrowing, plus an optional seventh (external red team). This is a guide, not a rigid protocol: a phase can be shortened or skipped if it is redundant. The main thing is to keep the order and not jump from framing to generation.
0. FRAME — what task are we actually solving?
1. AXES — along which axes can the solution differ?
2. SAMPLE — which points in this space will we examine?
3. GENERATE — formulate a hypothesis for each point
4. STRESS — what breaks it?
5. CONVERGE — three finalists, maximally different
6. EXT-RED — (optional) red team from another model family
Flexible: the choice of techniques within each phase (5 Whys vs JTBD in FRAME, SCAMPER vs analogies in GENERATE, extremes vs Latin square in SAMPLE). This is a guide, not dogma.
Rigid: the order of the phases and the gates between them (see the next section). Skipping them is forbidden.
Brainstorm is collaborative work with the user, not an agent monologue. If the agent goes through all phases on its own and outputs the final result, that is not brainstorming, it is a presentation in disguise. The purpose of the skill is lost at that exact moment: the user does not have time to adjust the axes before hypotheses are already generated along them.
| Requirement | Description |
|-----------|-------------|
| Do not dump everything in one message | It is forbidden to go through 2+ phases in a row without user feedback |
| Stop after each mandatory phase | Output the result → ask a concrete question → wait for an answer before the next phase |
| Minimum 4 STOPs per session | Phase 0, Phase 1, Phase 3+4, Phase 5 are mandatory gates |
| Use AskUserQuestion for discrete gates | Choosing a finalist, adding axes from a predefined set, and choosing a sampling strategy are closed questions. Open responses are ordinary text questions |
| Ask a question, then stop | A text question without a stop is rhetorical. Do not use it as monologue decoration |
| After phase | What to show | What to ask | STOP | |-----------|--------------|-------------|------| | 0 FRAME | Rephrased task + success criteria + constraints | "Is the framing correct? What should be adjusted?" | ✓ required | | 1 AXES | List of axes and values | "Are all important axes present? What is missing?" | ✓ required | | 2 SAMPLE | Sampling strategy + list of points | (optional) "Add a wild point from a specific domain?" | can continue | | 3+4 GENERATE+STRESS | Hypotheses with stress tests | "Which should be developed further? What should be cut?" | ✓ required | | 5 CONVERGE | 3 finalists + recommendation | "Which one do you choose?" | ✓ required |
Phase 2 is the only optional stop: if the user has already confirmed the axes, point sampling is the agent's technical work, and it can be shown together with the start of Phase 3+4 in one block. Phases 0, 1, 3+4, 5 - STOP required.
Before sending a message to the user, the agent checks:
If at least one item is "no", rewrite the message and trim it to the current phase.
Before generating anything, make sure we are solving the right problem.
Signal to skip the phase: the task is clear, the criteria are explicit, and the constraints are known.
Anti-pattern: jumping into idea generation without confirming that we are solving the right thing. This is the most common reason for a useless brainstorm.
[STOP] After Phase 0. Output: rephrasing + criteria + constraints. Question: "Is the framing correct? What should be adjusted?" Do not move to Phase 1 without the user's answer.
Extract 3–6 axes along which solutions can differ in principle. This is Zwicky's morphological analysis.
Anti-pattern: marketing axes ("simple vs complex", "better vs faster"). These are not axes, they are judgments.
[STOP] After Phase 1. Output: list of axes and their values. Question: "Are all important axes present? What is missing?" Do not move to Phase 2 without an answer. Generating hypotheses along unconfirmed axes means burning a round for nothing.
A full grid is rarely needed (5 axes × 3 values = 243 combinations). Choose a coverage strategy:
Default budget: 6–9 points. Fewer than 5 means we lose coverage; more than 10 means we lose attention.
It is useful to add to the selected points:
references/prompt-techniques.md → Provocation)Optional stop after Phase 2. If the user is engaged and it makes sense, ask: "Add a wild point from a specific domain?" If not, move to Phase 3 without a separate message and combine the sampling output with the hypotheses in Phase 3+4.
For each point, formulate a solution hypothesis. The main risks here are anchoring and diversity theater.
See references/prompt-techniques.md for specific generation techniques (SCAMPER, analogies, reversal, first principles).
A short pass over all hypotheses.
Anti-pattern: doing the stress test in the same role/context as the generation. The internal critic is lazy. Better to shift the frame explicitly ("now I am a skeptical investor").
[STOP] After Phase 3+4. Output: hypotheses with stress tests (can be combined with the sampling from Phase 2). Question: "Which hypotheses should be developed further? What should be cut right away?" Do not move to Phase 5 without an answer. Converging on an unfiltered list chosen by the user means the choice is left to the user, which breaks the purpose of the skill.
The final output is three options. Not five, not one.
The final output MUST match the template in references/output-template.md - it is compatible with the Considered Options section in specs according to spec-standard.
[STOP] After Phase 5. Output: 3 finalists + recommendation + rejected branches. Question: "Which one do you choose?" - via
AskUserQuestionwith three options. Do not act on your own recommendation until the user has chosen.
For hard tasks (architectural choices, product strategy, expensive mistakes) - finalists go through cross-provider-review in advisory mode as a criticism prompt.
When to apply:
When not to apply:
What to send:
output-template.md formatThe red team result is a separate section in the final output, and does not automatically change the recommendation. The decision based on the results remains with the user.
Brainstorming on one task often takes multiple passes. To avoid repeating rejected branches and losing axes, the skill keeps lightweight context.
| Context | Path |
|---------|------|
| Brainstorm is tied to a task in tasks/<id>/ | tasks/<id>/.context/brainstorm.md |
| Brainstorm without a task (free discussion) | .context/brainstorm-<topic-slug>.md in the current working directory |
| Universal brainstorm patterns for the project | MEMORY.md through the standard memory mechanism (if present) |
output-template format/brainstorm, check whether there is a relevant file for the task contextbrainstorm.<date>.md for archiving, do not delete itSee references/output-template.md - it is used both as the final output format and as the memory file format. Add this at the top of the file:
# Brainstorm: <topic>
**Task:** <ID or slug>
**Iteration:** <N>
**Date:** <ISO>
**Status:** in_progress | finalized | archived
| Signal | Action | |--------|--------| | All three finalists are similar | The axes were not orthogonal - go back to Phase 1 | | Cannot extract 3 axes | The task is either trivial (no brainstorm needed) or poorly framed (go back to Phase 0) | | Hypotheses come out "correct and boring" | Add an analogy from another domain or a provocation in Phase 3 | | The user says "but I meant something else" | Phase 0 was skipped or done poorly - redo the framing | | The finalists are all variants of the same thing | Convergence was done by total score instead of a diversity-aware rule | | The decision is hard and long-term | Enable Phase 6 (external red team) | | The brainstorm resumes on the same topic | Read the memory file first, then expand; do not repeat | | The agent went through 2+ mandatory phases in one message | The principle of dialogue was violated. Roll back to the point of the last real check-in with the user, apologize, and continue with gates | | The agent asked a question but in the same message already gave the answer for the next phase | The question is rhetorical - it does not count. Rewrite the message, cut it off at the question, wait for the answer | | The final result of 3 finalists was obtained without user participation at gates 0/1/3+4 | This is not brainstorming, it is a presentation. Admit the mistake, ask at which gate to roll back, and replay |
The basic dialogue rule is described above in the "Principle of dialogue" section (gate table + self-check). Here are the format additions:
AskUserQuestion instead of a text questionreferences/output-template.md), rejected branches as a list, recommendation with justificationFor hard tasks, you can delegate phases to different agents:
This is more expensive, but results in less "diversity theater". For lightweight tasks, one agent goes through all phases on its own.
| Skill/rule | Relationship |
|------------|--------------|
| spec-standard | The brainstorm final output maps to the Considered Options/ADR section of the specification in output-template.md format |
| cross-provider-review | Used in Phase 6 (optionally) for an external red team of finalists |
| framework/workflows/full-cycle.md | In phase 1 (Analyst), brainstorm is an internal analysis step |
| agent-context-protocol | The brainstorm.md memory file lives next to {role}-context.md in .context/ |
depends_on:
tools
Diagnostics for Vanessa Automation runs. Use when a feature scenario failed, artifacts were not created, or you need to classify a failure after launch.
tools
Creating and refining Vanessa Automation feature scenarios based on real project requirements. Use when you need to write or update a scenario test, not just run it.
tools
--- name: v8-session-manager description: Use when working with the 1С session manager (v8-session-manager) - launch, configuration, connecting 1С clients, reading session_list, calling proxied MCP-tools from 1С extensions, diagnostics. Triggers: mention of `v8-session-manager`, `session_list`, 1С extension MCP showcase, error “no active sessions” / “session_id required”, connecting a client to the manager via `mcpMode=ws`. provides_capabilities: # Built-in manager tools — always available whi
tools
Use when Codex needs to manage v8-runner on local 1C projects through the CLI: configure v8project.yaml, initialize infobases or EDT workspaces, build sources from Designer or EDT, run syntax checks and tests, dump infobase changes, convert source formats, load or export artifacts, launch 1C clients, or choose safe 1C automation command sequences.