canvas-app-yaml skillA
canvas-app-yaml is agent-read markdown (skill) from jnpiyush/agentx: Author Microsoft Power Apps canvas app source as unpacked *.fx.yaml + CanvasManifest.json so an agent can generate Power Fx screens that pac canvas pack and pac solution pack will accept. Covers the Src/ YAML control tree, Power Fx formula syntax, App OnStart, screens, data sources, components, and the round-trip with pac canvas unpack/pack..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# Power Apps Canvas App YAML
> Purpose: emit canvas app source that round-trips through `pac canvas unpack` / `pac canvas pack` and packs into a solution under `CanvasApps/`.
## When to Use
- Generating a canvas app (forms, galleries, screens over Dataverse or other data) from a PRD-LOWCODE
- Editing screen logic or controls in an existing unpacked app
- Reviewing Power Fx before packaging
## On-Disk Layout (after `pac canvas unpack`)
```
CanvasApps/
<prefix>_<appname>_<DocumentUri>/
CanvasManifest.json # app metadata, dependencies, data sources, app-level Power Fx
Src/
App.fx.yaml # App.OnStart, App.Formulas, named formulas
<ScreenName>.fx.yaml # one file per screen, control tree + Power Fx
Component/ # reusable canvas components
Assets/ # images, media
Connections/ # data source connection metadata
DataSources/ # *.json per data source (table, connector)
```
`pac canvas pack --sources ./Src --msapp build/app.msapp` rebuilds the `.msapp`, which `pac solution pack` then embeds.
## The Src YAML Control Tree
…Read the whole file at its exact version.
How to install
mdr add jnpiyush/agentx/canvas-app-yaml@v1.0.0mdr add jnpiyush/agentx/canvas-app-yaml@sha256:e9b2d87c6fd7f088Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_trkh3cbqvrdgjftw)
1 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| v1.0.0 latest | 2026-09-15 | f17c505 | 5,133 B | A | view · diff |
| v1.0.0 | 2026-08-08 | 80072b8 | 5,131 B | A | view · diff |
| v1.0.0 | 2026-05-30 | 0022792 | 5,105 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (5133 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
jnpiyush/agentx · 16 stars · license Apache-2.0 · pushed 2026-09-21 · branch master
API
GET https://markdownregistry.com/api/v1/artifacts/art_trkh3cbqvrdgjftw GET https://markdownregistry.com/api/v1/resolve?ref=jnpiyush/agentx/canvas-app-yaml GET https://markdownregistry.com/api/v1/blob/e9b2d87c6fd7f0888d7ce337f5760b3e9976c957aaa96b2374bb5aa897ca2022
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.