powerapp-canvas-development

Author and fix canvas-app source files in pa-yaml v3.0 with Power Fx formulas.

Updated Jul 25, 2026
One-click install
npx skills add https://github.com/RorySullivan1/powerapp_taskmaster --skill powerapp-canvas-development-rorysullivan1
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: powerapp-canvas-development
Source: https://github.com/RorySullivan1/powerapp_taskmaster/tree/main/.claude/skills/powerapp-canvas-development
Command: npx skills add https://github.com/RorySullivan1/powerapp_taskmaster --skill powerapp-canvas-development-rorysullivan1

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing Power Apps canvas source as pa-yaml v3.0 files fails in non-obvious ways: the YAML parses, the schema validates, and Studio still rejects the paste because of token, typing, or quoting mistakes. This Skill encodes the file structure and the Power Fx rules that have actually caused failed pastes, so changes are authored correctly the first time. ## Core Features & Use Cases - File structure authoring: Covers the five root sections (App, Screens, ComponentDefinitions, DataSources, EditorState), the Children array z-ordering, and control mapping shape. - Power Fx correctness rules: Documents real failure modes such as SetFocus ancestry restrictions, IfError type unification, per-call-site scrap variables, identifier-based column names, and gallery OnSelect workarounds. - YAML-vs-Power-Fx quoting traps: Explains when block scalars are required, why # inside a block scalar becomes formula content, and the validator rules that catch both. - Use Case: When asked to add a screen, declare a data source, or fix a formula Studio rejects (e.g. "expecting an identifier name"), this Skill provides the exact dialect corrections and validation workflow before hand-off. ## Quick Start Ask the assistant to add a new screen with a gallery and a detail form to the canvas app source, then run the validator before pasting into Studio.

Frequently Asked Questions about powerapp-canvas-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a screen to a Power Apps canvas app in pa-yaml?▼

Add a new key under the Screens root section with Properties and a Children array of single-key control maps, then list the screen in EditorState.ScreensOrder. Children are ordered by z-index with the first item at the bottom and the last on top.

Why does Power Apps Studio reject my IfError formula?▼

IfError requires all arguments to be type-compatible, so Patch returning a record and Notify returning a boolean conflict. Make every arm a Set call, stash FirstError.Message in a variable, and check it afterwards with a separate Notify.

Why does SetFocus fail inside a component or gallery?▼

SetFocus is categorically excluded for controls inside a Gallery, Edit form, Component, or Container, and the target must be on the same screen and not disabled. The restriction is documented and cannot be worked around in Power Fx; only a PCF code component can force focus.

Can a YAML schema validation alone catch pa-yaml errors?▼

No. The official schema declares Control as anything and Variant as any non-empty string, so invented control tokens validate perfectly but fail in Studio. A second token pass checks every control, variant, and Icon value against an allow-list from real Studio output.

Why does a gallery OnSelect not fire when clicking a row?▼

A gallery's own OnSelect does not reliably fire when the click lands on a child control. Place a transparent full-template Classic/Button declared last in the row and put the action on its OnSelect instead.

What are the limitations of reusing behaviour formulas in Power Fx?▼

Power Fx cannot name or call a behaviour block, so shared logic must live on a hidden control's OnSelect invoked with Select(), which works even when Visible is false. This avoids duplicating write logic that can silently diverge across copies.