Claude Code plugin · v0.3.0

From a one-line idea to a published Power Apps app.

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.

10 guided stages 8 specialist subagents 59 ready-made components In en-US and pt-BR MIT license
12/pp-en:* commands
10agents (2 talk with you)
25Canvas components
34Power Automate blocks
4brainstorm modes

How it works

You don't need to know the method.

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.

1

One command per stage

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.

2

A fresh session per stage

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.

3

You only stop where a person is needed

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.

4

Who thinks is not who executes

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

Ten stages, four blocks.

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.

Start

Orchestrator
1
/pp-en:newNew projectOrchestrator
Tell the idea however you have it (a sentence, a list, a screenshot); pick folder, commits and models in one round.
power-platform.config.json raw-idea.md STATE.md, git repository

1 · Product definition

talks with you
2
/pp-en:brainstormBrainstorm and requirementsBrainstorm Agent
Pick one of the four modes, answer the questions and decide what goes into the MVP.
brainstorm.md prd.md with the MVP scope

2 · Identity and experience

loops until approved
3
/pp-en:designVisual identityBranding Designer Agent
Pick colors, style, font and the way to navigate (side menu, top bar or home screen with cards); approve a visual sample with checked contrast.
ux-design-system.md identity.html
4
/pp-en:mockupsImage mockupspp-en:mockups-agent + script
Check the screen list (navigation, loading, errors, empty states); authorize the images or skip them.
screen-inventory.md mockups/*.png
5
/pp-en:prototypeClickable prototypepp-en:prototype-agent
Click through the HTML prototype; approve it or ask for adjustments.
prototype/index.html, checked by verificar-prototipo.py

3 · Build on the Power Platform

Canvas ∥ Automate ∥ SQL
6
/pp-en:architectureArchitecturepp-en:architecture-agent + pp-en:sql-agent ∥🔴 person
Choose SQL Server or Dataverse with the decision matrix; create the tables in the environment.
architecture.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
7
/pp-en:buildBuild, one wave per sessionpp-en:canvas-agent ∥ pp-en:automate-agent, per group🔴 person
Paste the generated screens and flows into Power Apps Studio and Power Automate.
.pa.yaml screens, flow JSON, both validated

4 · Validation and delivery

loops until green
8
/pp-en:testTesting and qualitypp-en:qa-agent🔴 person
Run the test script in the environment and report what failed.
docs/qa/QA-<date>.md
9
/pp-en:uatUser acceptanceOrchestrator, with you🔴 person
Run user acceptance with real users and collect the sign-off.
docs/qa/UAT-<date>.md
10
/pp-en:publishPublishing and documentationOrchestrator🔴 person
Publish to production and run the smoke test.
user manual, technical guide, go-live checklist, tag v1.0.0

Prototype not approved

The adjustment requests go to prototype-adjustments.md and the next step is /pp-en:design again. Mockups and prototype redo only what changed.

Test or acceptance failed

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.

Stopped midway?

Run the same command again. The stage resumes from what's on disk, and /pp-en:progress always knows where you are.

After publishing

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

Four ways to think, one PRD at the end.

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.

🧠
Facilitator

Guided interview

Pick it when you already know what you want and need help to close it.

one question at a timeroles × actions
🎨
Experience designer

People first

Pick it when the app changes the day-to-day of many people, in different roles.

empathy mapa day in the lifeHow might we…?
🔬
Investigator

Problem first

Pick it when something is broken (rework, errors, delays) and you want the cause.

5 whysfishbonebottleneckreverse brainstorm
🗣️
Facilitator moderates

Round table

Pick it when the idea is still vague and you want to hear several points of view.

2–3 personas per roundone question for you
🧠
Facilitatorkeeps the session moving
🎨
Experience designerthe people who will use it
🔬
Investigatorthe root cause
💼
Business strategistthe value and the metric
👤
Front-line userclicks, phone, no signal
🛠️
Power Platform architectvolumes, licenses, limits
🛡️
Security and compliancedata, access, approvals
😈
Devil's advocatewhat can go wrong

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

Specialists with the fewest tools.

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.

AgentStageRuns asTools
Brainstorm/pp-en:brainstormyour sessiontalks with you, in the persona of the chosen mode
Branding Designer/pp-en:designyour sessiontalks with you; builds a visual sample
pp-en:mockups-agent/pp-en:mockupssubagentreads and writes; no shell, so it can't call the image API
pp-en:prototype-agent/pp-en:prototypesubagentreads, writes, shell (prototype checker)
pp-en:architecture-agent/pp-en:architecturesubagentreads, writes, shell; writes the procedures' spec, not their body
pp-en:sql-agent/pp-en:architecturesubagent ∥reads, writes, shell (lint-procedure.py); one per group of procedures
pp-en:canvas-agent/pp-en:buildsubagent ∥reads, writes, shell (validar-telas.py)
pp-en:automate-agent/pp-en:buildsubagent ∥reads, writes, shell (verificar-fluxo.py)
pp-en:qa-agent/pp-en:testsubagentread-only, plus shell for the validators
pp-en:research-agentwhen a fact is missingsubagentread-only, plus search in the official documentation; nothing from the project goes to the web

Who thinks and who executes

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.

ProfileEach stage's sessionArchitecture and QAScreens, flows, SQL, prototypeResearch
Balanced recommendedOpusOpusSonnetSonnet
MaximumFable, if the account has it (otherwise Opus)OpusOpusSonnet
EconomySonnetSonnetSonnetHaiku
Inheritthe model the session opens withsamesamesame

Existing app

Already have an app? Just describe the problem.

Outside the pipeline, the power-platform orchestrator routes a plain-language request to the right mode.

You sayWhat 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

Ready-to-paste pieces and validators that run.

Five domain skills behind the stage commands: power-platform, powerapps-canvas, power-automate, sql-procedures and dataverse.

25

Canvas components

Ready-to-paste YAML, with the variables each one expects in OnStart.

  • side menu (fixed, collapsible or drawer), top menu, home screen with cards
  • table gallery, sorting, cursor pagination, KPI card
  • modals, loading overlay, toast, empty state, no-access panel
34

Power Automate blocks

Clipboard JSON plus notes, with the assembly order for each kind of flow.

  • identify and authorize the caller, scope by unit
  • write via stored procedure, translate code and respond
  • $batch upsert on Dataverse, CSV export, run log
✓

Runnable validators

Python, standard library only. ✅ requires evidence: command, output and date.

  • validar-telas.py for screens
  • verificar-fluxo.py for flows
  • lint-procedure.py for procedures
  • verificar-prototipo.py for the prototype
One data track per project: SQL Server or Dataverse.
The real name wins. Formulas and flows use the names read from the environment, never the ones from the plan.
Writes always go through a flow, with a 4-field response and .Run() inside IfError.
The flow reads the caller's identity from its own context and authorizes each action.
No environment literals in deliverables: environment variables and connection references instead.
A generator never overwrites what was pasted. What's generated goes to dist/.

Install

Two commands, then /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.

Inside Claude Code
/plugin marketplace add <owner>/power-platform-skills
/plugin install pp-en@power-platform-kit
Or from the terminal
claude plugin marketplace add <owner>/power-platform-skills
claude plugin install pp-en@power-platform-kit
Your first app
/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.

  • ⌘
    Claude Codewith plugin support
  • 🐍
    Python 3.10+project state and validators; pip install pyyaml to validate the screens
  • ⚡
    A Power Platform environmentPower Apps Studio and Power Automate, to paste, test and publish
  • 🖼️
    OpenAI API key optionalonly for the image mockups in stage 4, generated after you authorize them. Set it outside the chat; without it, the stage goes on without images.