From canvas-apps
Generates complete Power Apps canvas apps in YAML (pa.yaml) format. Coordinates planner agent for design approval and parallel screen builders; use for creating apps from requirements.
npx claudepluginhub microsoft/power-platform-skills --plugin canvas-appsThis skill is limited to using the following tools:
Generate a complete Power Apps canvas app for the following requirements:
Acquire memory dumps from live systems/VMs and analyze with Volatility 3 for processes, networks, DLLs, injections in incident response or malware hunts.
Provides x86-64/ARM disassembly patterns, calling conventions, control flow recognition for static analysis of executables and compiled binaries.
Identifies anti-debugging checks like IsDebuggerPresent, NtQueryInformationProcess in Windows binaries; suggests bypasses via patches/hooks/scripts for malware analysis, CTFs, authorized RE.
Generate a complete Power Apps canvas app for the following requirements:
$ARGUMENTS
This skill orchestrates two specialist agents:
canvas-app-planner — discovers available controls and data sources, designs the app,
presents a screen plan for your approval, then writes a shared plan documentcanvas-screen-builder — writes exactly one screen's YAML; multiple builders run in
parallel after the plan is approvedYou (the skill) coordinate the agents and own the compilation + error-fixing loop after all screens are written.
Before planning, derive a short folder name from the user's requirements:
$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.
Invoke the canvas-app-planner agent using the Task tool.
Pass a prompt that includes:
$ARGUMENTS${CLAUDE_PLUGIN_ROOT}Example prompt:
You are the canvas-app-planner agent. Plan a Canvas App for the following requirements:
[paste $ARGUMENTS here]
Working directory: [absolute path from Phase 0] Plugin root: ${CLAUDE_PLUGIN_ROOT}
Follow the instructions in your agent file. Write canvas-app-plan.md and App.pa.yaml to the working directory. Return the screen list and plan document path when complete.
Wait for the planner to finish. The planner will present the screen plan to the user via plan mode and wait for approval before returning. Do not proceed to Phase 2 until the planner task completes successfully.
After the planner completes, read canvas-app-plan.md from the working directory.
Extract the screen list from the ## Screens table — collect each screen name and its
target file name.
Invoke one canvas-screen-builder agent per screen. Fire all invocations in a single
message (parallel execution) — do not wait for one screen to finish before starting the next.
For each screen, pass a prompt that includes:
canvas-app-plan.mdExample prompt per screen:
You are the canvas-screen-builder agent. Implement the [Screen Name] screen.
- Target file: [ScreenName].pa.yaml
- Plan document: [absolute path to canvas-app-plan.md]
- Working directory: [absolute path from Phase 0]
Follow the instructions in your agent file. Write [ScreenName].pa.yaml and return your result when done. Do not call compile_canvas — validation is handled by the skill.
Wait for all screen-builder tasks to complete before proceeding.
After all screen-builders have finished writing their files, call compile_canvas on the
working directory.
On success: Proceed to Phase 4.
On failure: Read every error in the output. Errors will reference specific files and line numbers. For each error:
Read the referenced .pa.yaml fileEditcompile_canvas againRepeat until compile_canvas reports no errors. Do not give up after a single fix attempt —
iterate until the entire directory compiles clean.
Track how many compile_canvas passes were needed.
Present a final summary:
App generation complete.
Screen File Status [Screen Name] [filename].pa.yaml Written Compiled clean after [N] pass(es). | Screens: [N] | Data: [source or collections]
If any errors remain after exhausting fixes, report them explicitly so the user knows what needs manual attention.