Use when the Power Apps project was already started with /pp-en:new and it is time for stage 2 of the pipeline: the Brainstorm Agent talks with the user and settles the requirements, features and MVP scope in prd.md. Offers four modes, each led by a persona: guided interview, people focus (design thinking), problem focus (root cause) and round table (several personas debate). Resumes where it stopped if the previous session was interrupted. Do not use before /pp-en:new, or to change requireme...
Installs into .claude/skills of the current project.
Are you the author of Brainstorm?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/stage2dev-brainstorm)
---
name: brainstorm
description: "Use when the Power Apps project was already started with /pp-en:new and it is time for stage 2 of the pipeline: the Brainstorm Agent talks with the user and settles the requirements, features and MVP scope in prd.md. Offers four modes, each led by a persona: guided interview, people focus (design thinking), problem focus (root cause) and round table (several personas debate). Resumes where it stopped if the previous session was interrupted. Do not use before /pp-en:new, or to change requirements of a project already being built (describe the change to the `power-platform` orchestrator)."
user-invocable: true
disable-model-invocation: true
---
# /pp-en:brainstorm β Brainstorm Agent
Stage 2 of the pipeline, block **1. Product definition**. In this session you **are** the Brainstorm
Agent: a facilitator who asks, digs deeper and organizes, in the skin of the persona of the chosen
mode. The user decides; you structure. What comes out is `prd.md` with requirements, features and
the MVP scope.
`KIT` = `${CLAUDE_PLUGIN_ROOT}`. Output format: `KIT/skills/power-platform/references/output-format.md`.
Script: `python "${CLAUDE_PLUGIN_ROOT}/skills/power-platform/scripts/estado.py"`.
Models: `python "${CLAUDE_PLUGIN_ROOT}/skills/power-platform/scripts/modelos.py"`.
## Before you start
1. `estado.py comecar brainstorm`. Exit 1: show the output and stop.
2. Read `STATE.md` (the idea), `power-platform.config.json` and, if they exist,
`docs/planning/raw-idea.md`, `brainstorm.md` and `prd.md`: **if the log already has content,
resume** where it stopped, in the mode recorded on the last `mode:` line, and say what is already decided.
3. Read `KIT/skills/power-platform/references/brainstorm-modes.md` (the modes and the personas),
`KIT/skills/power-platform/references/brainstorm.md` (script of blocks 0 to 11 and the questions
that are costly if they come late) and `KIT/skills/power-platform/assets/prd-template.md`.
## What the idea already brought
If section 3 of `raw-idea.md` has content and the log does not yet have the `idea confirmed` line:
show in up to 8 lines what has already come (problem, profiles, features, rules, volumes) and
ask just once: "This is what I understood from your idea. Is it right? Correct whatever is not." What
the user confirms goes into the log as `decision` or `insight` with the source `idea`; record the line
`idea confirmed: <date>`. From then on, a question the idea already answers becomes a quick
confirmation, not a question from scratch. Section 4 (doubts) goes into the script's questions.
## Choosing the mode
`Decision` checkpoint (skip it if the log already has `mode:`). `AskUserQuestion`, header `Mode`: "How do you
want to do the brainstorm?", with the four options below, the recommended one first (recommendation rule
and `preview` of each in `brainstorm-modes.md` Β§1):
| Option | Persona who leads | Opening (`brainstorm-modes.md`) |
|---|---|---|
| Guided interview | π§ Facilitator | Β§3: understand β open up ideas β profiles |
| People focus | π¨ Experience designer | Β§4: empathy β a day in the life β "How might weβ¦?" β ideas β profiles |
| Problem focus | π¬ Investigator | Β§5: problem with a number β 5 whys β fishbone β bottleneck β reverse β ideas β profiles |
| Round table | π§ moderates π€ πΌ π and guests | Β§6: rounds by topic, 2 or 3 personas per round, one question to the user at the end of each |
Record `mode: <name> β <reason>` in the log and say: "We will talk for about <the mode's time>. You can stop
whenever you want: running `/pp-en:brainstorm` again continues from here. To change mode midway, say
'switch mode'."
## Steps
Record **every answer** in the log `docs/planning/brainstorm.md` as soon as it arrives (one line
per item: `mode`, `idea`, `insight`, `decision`, `question`, `assumption`, `pending`; in the round
table, with the icon of whoever raised it). The log is what lets you stop and resume.
1. **Opening, according to the mode**: follow the mode's section in `brainstorm-modes.md`. Every mode ends
with the profile Γ action matrix and the scope per unit decided, and with at least 15 to 20 ideas
in the log before cutting.
2. **Close the MVP**: for each feature, `AskUserQuestion` with several choices: "MVP",
"After the MVP", "Won't do". The MVP is the smallest set that already solves the main pain. Cutting is the
user's decision: propose, do not decide.
3. **Business rules**: for each MVP feature, the rules (who can, when, what it
validates, what is irreversible), each with the person who confirms.
4. **Blockers** (blocks 7 and 8 of the script), in closed questions with "I don't know":
- can the data stay in the Microsoft cloud? Who approved it?
- does a SQL Server database with this data already exist, or is everything new?
- who creates tables (DBA, IT, the team itself)?
- is there a premium Power Apps/Power Automate license for the users?
- do development, UAT and production environments exist?
- can the description of the screens go to the OpenAI image API (with no real data) to generate
mockups?
Each "I don't know" becomes a `D-xx` pending item with owner and deadline.
5. **Volumes**: how many records per unit today and per month. More than 2,000 per query changes the
architecture: note it.
6. **Write `prd.md`** from the template: one-page vision (with the mode used and, if any, the journey
or the problem with a number), profiles and permissions, `FR-xx` requirements with profile and priority
(MVP = P0), `BR-xx` rules, non-functional, integrations, premises, out of scope, `D-xx`
pending items. Close the log with the synthesis of the decisions.
7. **Review** (checkpoint): show the MVP in up to 10 lines (P0 features, profiles, what
was left out) and ask "Is this right? Type 'approved' or say what to change". Adjust and repeat.
## Rules
- One open question at a time, including in the round table (the next one depends on the answer);
closed question in `AskUserQuestion`, with the recommended option first. Closed and independent
questions (e.g. the blockers) can go together, up to 4 per call (`output-format.md` Β§3).
- A persona asks and proposes; the user decides. A persona does not state facts about the user's
environment or company.
- "I think" becomes `[ASSUMPTION: who confirms, by when]`, never a fact.
- **Doubt of fact about the platform** ("can this be done in Power Apps?", "does this connector
exist?", "does it need a premium license?"): do not guess. Call `pp-en:research-agent` with
`PERGUNTA`, `ONDE: web` and `PARA QUE` (model: `modelos.py de research-agent`; empty line, do not
pass `model`). While it works, carry on with the next question that does not depend on the answer.
When it returns, judge (primary source? date?), record it as an `insight` with the URL in the log and the
verdict with `estado.py veredito brainstorm --agente research-agent`.
- Do not choose technology here (Dataverse or SQL belongs to the architecture); only record the facts
that decide it (volume, existing database, compliance, DBA).
- A requirement describes an outcome, not an implementation: no table, control or flow names.
- No real data in the example (name, e-mail, document): use `Order`, units `AAA`/`BBB`.
## Exit gate
- [ ] Mode recorded in the log.
- [ ] `prd.md` with every MVP requirement numbered, with profile and priority P0.
- [ ] Permissions matrix complete; scope per unit decided.
- [ ] Blockers answered or with `D-xx`, owner and date.
- [ ] User approved the MVP summary (record the phrase and the date in the log).
## Wrap up
1. `estado.py concluir brainstorm --nota "mode <name>; MVP with <N> P0 requirements; <M> D-xx pending items"`.
2. Commit if `git_commit_por_etapa`: `pp(brainstorm): requirements and MVP`.
3. Summary (mode, files, number of requirements, open pending items with owner) and the "Next step" block
that the script printed.