Power-Apps-Canvas-Yaml
Power-Apps-Canvas-Yaml是一款data方向的AI技能,核心价值是Comprehensive guide for working with Power Apps Canvas Apps YAML structure based on Microsoft Power Apps YAML schema v3,可用于解决开发者在data领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。
Comprehensive guide for working with Power Apps Canvas Apps YAML structure based on Microsoft Power Apps YAML schema v3.0. Covers Power Fx formulas, control structures, data types, and source control
mkdir -p ./skills/power-apps-canvas-yaml && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/power-apps-canvas-yaml/SKILL.md -o ./skills/power-apps-canvas-yaml/SKILL.md Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).
Skill Content
# Power Apps Canvas Apps YAML Structure Guide
Overview
This document provides comprehensive instructions for working with YAML code for Power Apps canvas apps based on the official Microsoft Power Apps YAML schema (v3.0) and Power Fx documentation.
**Official Schema Source**: https://raw.githubusercontent.com/microsoft/PowerApps-Tooling/refs/heads/master/schemas/pa-yaml/v3.0/pa.schema.yaml
Power Fx Design Principles
Power Fx is the formula language used throughout Power Apps canvas apps. It follows these core principles:
Design Principles
- **Simple**: Uses familiar concepts from Excel formulas
- **Excel Consistency**: Aligns with Excel formula syntax and behavior
- **Declarative**: Describes what you want, not how to achieve it
- **Functional**: Avoids side effects; most functions are pure
- **Composition**: Complex logic built by combining simpler functions
- **Strongly Typed**: Type system ensures data integrity
- **Integrated**: Works seamlessly across the Power Platform
Language Philosophy
Power Fx promotes:
- Low-code development through familiar Excel-like formulas
- Automatic recalculation when dependencies change
- Type safety with compile-time checking
- Functional programming patterns
Root Structure
Every Power Apps YAML file follows this top-level structure:
App:
Properties:
# App-level properties and formulas
StartScreen: =Screen1
Screens:
# Screen definitions
ComponentDefinitions:
# Custom component definitions
DataSources:
# Data source configurations
EditorState:
# Editor metadata (screen order, etc.)1. App Section
The `App` section defines application-level properties and configuration.
App:
Properties:
StartScreen: =Screen1
BackEnabled: =false
# Other app properties with Power Fx formulasKey Points:
- Contains application-wide settings
- Properties use Power Fx formulas (prefixed with `=`)
- `StartScreen` property is commonly specified
2. Screens Section
Defines all screens in the application as an unordered map.
Screens:
Screen1:
Properties:
# Screen properties
Children:
- Label1:
Control: Label
Properties:
Text: ="Hello World"
X: =10
Y: =10
- Button1:
Control: Button
Properties:
Text: ="Click Me"
X: =10
Y: =100Screen Structure:
- **Properties**: Screen-level properties and formulas
- **Children**: Array of controls on the screen (ordered by z-index)
Control Definition Format:
ControlName:
Control: ControlType # Required: Control type identifier
Properties:
PropertyName: =PowerFxFormula
# Optional properties:
Group: GroupName # For organizing controls in Studio
Variant: VariantName # Control variant (affects default properties)
MetadataKey: Key # Metadata identifier for control
Layout: LayoutName # Layout configuration
IsLocked: true/false # Whether control is locked in editor
Children: [] # For container controls (ordered by z-index)Control Versioning:
You can specify control versions using the `@` operator:
MyButton:
Control: Button@2.1.0 # Specific version
Properties:
Text: ="Click Me"
MyLabel:
Control: Label # Uses latest version by default
Properties:
Text: ="Hello World"3. Control Types
Standard Controls
Common first-party controls include:
- **Basic Controls**: `Label`, `Button`, `TextInput`, `HTMLText`
- **Input Controls**: `Slider`, `Toggle`, `Checkbox`, `Radio`, `Dropdown`, `Combobox`, `DatePicker`, `ListBox`
- **Display Controls**: `Image`, `Icon`, `Video`, `Audio`, `PDF viewer`, `Barcode scanner`
- **Layout Controls**: `Container`, `Rectangle`, `Circle`, `Gallery`, `DataTable`, `Form`
- **Chart Controls**: `Column chart`, `Line chart`, `Pie chart`
- **Advanced Controls**: `Timer`, `Camera`, `M
🎯 Best For
- UI designers
- Product designers
- Claude users
- GitHub Copilot users
- Data professionals
💡 Use Cases
- Generating component mockups
- Creating design system tokens
- Data pipeline auditing
- Query optimization
📖 How to Use This Skill
- 1
Install the Skill
Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.
- 2
Load into Your AI Assistant
Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.
- 3
Apply Power-Apps-Canvas-Yaml to Your Work
Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.
- 4
Review and Refine
Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.
❓ Frequently Asked Questions
Does this work with Figma?
Some design skills integrate with Figma plugins. Check the Works With section for supported tools.
How do I install Power-Apps-Canvas-Yaml?
Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/power-apps-canvas-yaml/SKILL.md, ready to use.
Can I customize this skill for my team?
Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.
⚠️ Common Mistakes to Avoid
Skipping usability testing
AI-generated designs should be validated with real users before development.
Ignoring data quality
AI analysis inherits all data quality issues — profile your data first.