Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles new app generation from requirements, simple inline edits, and complex multi-screen changes with parallel screen builders. Triggers on requests to create, build, generate, modify, update, change, or edit a Canvas App or .pa.yaml files.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "canvas-app" skill from askskill: 1. Download https://raw.githubusercontent.com/microsoft/power-platform-skills/main/plugins/canvas-apps/skills/canvas-app/SKILL.md 2. Save it as ~/.claude/skills/canvas-app/SKILL.md 3. Reload skills and tell me it's ready
Create or edit a Power Apps canvas app for the following requirements:
$ARGUMENTS
This skill handles both creating and editing canvas apps through a unified workflow. It syncs the current app state to detect whether the app has existing content, then routes accordingly:
Two specialist agents are used for planned work:
canvas-app-planner — discovers available controls, APIs, and data sources; gathers
control property definitions; and writes the shared plan document (canvas-app-plan.md)
and App.pa.yaml. Receives the approved plan from the skill.canvas-screen-builder — writes or modifies exactly one screen's YAML; multiple
builders run in parallel after the plan is approvedYou (the skill) coordinate the agents, detect mode, design and present the plan for user approval, and own the compilation + error-fixing loop after all screens are written.
Before syncing or editing, create a subfolder to contain the app's YAML files:
$ARGUMENTSexpense-tracker, "my travel planner" →
my-travel-planner)Bash: mkdir -p <folder-name>Pass this absolute path as the working directory in every agent prompt below.
Call the sync_canvas MCP tool targeting the working directory. This pulls the current app
state from the coauthoring session into local .pa.yaml files. Only proceed after
sync_canvas completes successfully.
After sync_canvas completes, read the synced .pa.yaml files and check whether the app
has meaningful content. An app is considered empty if:
.pa.yaml files were written, orGroupContainer) with no
leaf controls inside themIf the app is empty → CREATE mode. Proceed to Phase 3.
If the app has meaningful content → EDIT mode. Skip Phase 3 and proceed to Phase 4.
Use AskUserQuestion to collect design preferences that cannot be reliably inferred from
$ARGUMENTS. Parse $ARGUMENTS first to determine which questions to skip — but a
short request like "visitor check-in app" or "expense tracker" leaves most preferences
unspecified and you MUST ask.
Call AskUserQuestion with the applicable questions from the table below (include only the
ones that need answers):
| Question | Header | When to Ask | Options |
|---|---|---|---|
| Who will primarily use this app, and on what device? | Target Users & Device | Only if not clear from $ARGUMENTS | (3–4 dynamically inferred options that combine the user role with their likely device, e.g., for "visitor check-in": Front desk staff on desktop/tablet, Security team on tablet, Self-service kiosk on tablet, Visitors on their phone) |
…
Review and fix Power Pages security headers, CSP, CORS, cookies, and embedding settings.
Run an end-to-end Power Pages security review with a consolidated HTML report.
Test deployed Power Pages sites with browsing, crawling, and API verification.
Add a data source or connector to a Power Apps code app.
Add Azure DevOps to Power Apps for work items, bugs, pipelines, and API calls.
Set up Power Platform Pipelines for automated Power Pages deployments.