One guided /pp-en:* command per stage. Every stage ends by telling you exactly what to run next, in a fresh session. Power Apps Canvas + Power Automate, on SQL Server (stored procedures) or Dataverse.
> /pp-en:brainstorm ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PP ► BRAINSTORM AND REQUIREMENTS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ … People-first mode · 22 ideas · MVP approved … ✓ Brainstorm and requirements complete progress ██░░░░░░░░ 20% (2 of 10 stages) ## ▶ Next step Stage 3 of 10 · Visual identity Branding Designer Agent: colors, fonts, components and visual identity /pp-en:design Open a fresh session first: type /clear. Each stage starts clean and reads everything from disk.
How it works
The kit carries the method for you. Four ideas make the path easy, even for someone who has never gathered requirements or built a Power App.
Ten stages, from /pp-en:new to /pp-en:publish. Each one checks that the previous one is done. Ran one out of order? It tells you which one to run instead.
Everything a stage produces is saved to disk, so the next one starts with a clean context. Every stage ends with the Next step block: the command and a reminder to type /clear first.
Approving the MVP, the identity and the prototype; creating tables, pasting screens and flows, running user acceptance and publishing. Everything else is produced and validated for you.
The session defines the request and judges; the agents write and prove what they did. Every delivery gets a verdict (accepted, revision or escalated to you) before it reaches you.
Lost the thread? /pp-en:progress shows at any time where the project stands and the next command. The state lives in STATE.md, at the project root.
The stages
Open Claude Code in an empty folder and type /pp-en:new followed by your idea. Then follow the Next step block at the end of each stage. 🔴 person marks what only someone in the environment can do; Claude shows a numbered walkthrough and waits.
power-platform.config.json raw-idea.md STATE.md, git repositorybrainstorm.md prd.md with the MVP scopeux-design-system.md identity.htmlscreen-inventory.md mockups/*.pngprototype/index.html, checked by verificar-prototipo.pyarchitecture.md ADR, DDL and procedures (or Dataverse model), mockup load .xlsx (and .sql; on Dataverse, the builder flow that creates everything through the Web API), waves in GOAL.md.pa.yaml screens, flow JSON, both validateddocs/qa/QA-<date>.mddocs/qa/UAT-<date>.mdv1.0.0The adjustment requests go to prototype-adjustments.md and the next step is /pp-en:design again. Mockups and prototype redo only what changed.
Each failure goes to fixes.md, tagged as app or flows. The next step is /pp-en:build app or /pp-en:build flows, and then the test again.
Run the same command again. The stage resumes from what's on disk, and /pp-en:progress always knows where you are.
Send the list of changes with /pp-en:change. Each request becomes a spec, the agents work in parallel, QA runs and user acceptance reopens for a new version.
Brainstorm
Stage 2 starts by asking how you want to think. Each mode is led by a persona and only changes how the conversation starts. All four close the same way: MVP cut, business rules, blockers, volumes and prd.md.
Pick it when you already know what you want and need help to close it.
Pick it when the app changes the day-to-day of many people, in different roles.
Pick it when something is broken (rework, errors, delays) and you want the cause.
Pick it when the idea is still vague and you want to hear several points of view.
The personas ask and propose; you decide. You can switch modes midway without losing anything. Inspired by the creative module and the party mode of the BMAD Method.
The agents
A subagent can't ask you questions, so the two agents that talk with you run in the stage's own session. The stage that calls a subagent judges its work before moving on.
| Agent | Stage | Runs as | Tools |
|---|---|---|---|
| Brainstorm | /pp-en:brainstorm | your session | talks with you, in the persona of the chosen mode |
| Branding Designer | /pp-en:design | your session | talks with you; builds a visual sample |
pp-en:mockups-agent | /pp-en:mockups | subagent | reads and writes; no shell, so it can't call the image API |
pp-en:prototype-agent | /pp-en:prototype | subagent | reads, writes, shell (prototype checker) |
pp-en:architecture-agent | /pp-en:architecture | subagent | reads, writes, shell; writes the procedures' spec, not their body |
pp-en:sql-agent | /pp-en:architecture | subagent ∥ | reads, writes, shell (lint-procedure.py); one per group of procedures |
pp-en:canvas-agent | /pp-en:build | subagent ∥ | reads, writes, shell (validar-telas.py) |
pp-en:automate-agent | /pp-en:build | subagent ∥ | reads, writes, shell (verificar-fluxo.py) |
pp-en:qa-agent | /pp-en:test | subagent | read-only, plus shell for the validators |
pp-en:research-agent | when a fact is missing | subagent | read-only, plus search in the official documentation; nothing from the project goes to the web |
Each stage's session is the head: it writes each agent's request, runs the validator again and gives a verdict per delivery: accepted, revision (the same agent, with a sharper request, two at most) or escalated (comes to you). Before showing the design sample or the prototype, Claude takes screenshots of the screens and looks at them. Since thinking and judging is the small part of the work, the head can use a stronger model and the hands a faster one. You pick the profile in /pp-en:new.
| Profile | Each stage's session | Architecture and QA | Screens, flows, SQL, prototype | Research |
|---|---|---|---|---|
| Balanced recommended | Opus | Opus | Sonnet | Sonnet |
| Maximum | Fable, if the account has it (otherwise Opus) | Opus | Opus | Sonnet |
| Economy | Sonnet | Sonnet | Sonnet | Haiku |
| Inherit | the model the session opens with | same | same | same |
Existing app
Outside the pipeline, the power-platform orchestrator routes a plain-language request to the right mode.
| You say | What Claude does |
|---|---|
| “The KPI doesn't match the gallery” | Investigate mode. Walks screen → formula → source → flow → procedure → data, one hypothesis at a time, and proves the root cause before proposing code. |
| “A user sees another unit's data” | Checks the layer that actually blocks access: flow + procedure on SQL, security roles on Dataverse. The screen only filters. |
| “Audit the whole app” | Reviewers in parallel by discipline (UX, development, performance, data, flows, SQL) and a second check of the strongest findings. |
| “Add a status filter here” | Goes straight to powerapps-canvas, without the full protocol. |
| A list of changes to an app published by the kit | /pp-en:change: one spec per request, agents in parallel, judgment, the change's QA and user acceptance reopened. |
| “Promote to UAT/PROD” | Solutions, environment variables, connection references and the pac CLI; what goes by pasting and what goes by solution. |
| “Is it ready?” | Runs the final gate: every validator that applies, plus the checklist. |
What's included
Five domain skills behind the stage commands: power-platform, powerapps-canvas, power-automate, sql-procedures and dataverse.
Ready-to-paste YAML, with the variables each one expects in OnStart.
Clipboard JSON plus notes, with the assembly order for each kind of flow.
$batch upsert on Dataverse, CSV export, run logPython, standard library only. ✅ requires evidence: command, output and date.
validar-telas.py for screensverificar-fluxo.py for flowslint-procedure.py for proceduresverificar-prototipo.py for the prototype.Run() inside IfError.dist/.Install
/pp-en:new.Inside Claude Code, add the marketplace and install the plugin. Type /pp-en: to see the stage commands; if they don't show up in a session that was already open, restart Claude Code.
/plugin marketplace add <owner>/power-platform-skills /plugin install pp-en@power-platform-kit
claude plugin marketplace add <owner>/power-platform-skills claude plugin install pp-en@power-platform-kit
/pp-en:new an app to track orders across units
To update later: claude plugin marketplace update power-platform-kit and then claude plugin update pp-en.
pip install pyyaml to validate the screens