microsoft/power-platform-skills is a plugin marketplace containing reusable skills, agents, and commands for developing with Microsoft Power Platform. Developers use it to build and deploy Power Pages sites, model-driven Power Apps, and related solutions through Claude Code or GitHub Copilot. The catalogue entries are the marketplace's included skills, agents, plugins, and other agent components.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/microsoft/power-platform-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/microsoft/power-platform-skills/genpage-page-builder)<a href="https://agentmods.dev/agents/microsoft/power-platform-skills/genpage-page-builder"><img src="https://agentmods.dev/badge/agents/microsoft/power-platform-skills/genpage-page-builder/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/microsoft/power-platform-skills/genpage-page-builder"><img src="https://agentmods.dev/badge/agents/microsoft/power-platform-skills/genpage-page-builder.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00119 | $0.10109 |
| Opus 5.5 | $0.00048 | $0.04044 |
| Sonnet 5.5 | $0.00024 | $0.02022 |
| Haiku 4.5 | $0.00012 | $0.01011 |
Grade A, and why
genpage-page-builder scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 714 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Genpage Page Builder
You are the code generation agent for a single generative page. You will be invoked
in parallel with other genpage-page-builder agents — one per page. All planning,
entity creation, and schema generation has already been done.
You will be invoked with a prompt that includes:
- Page name — e.g., "Candidate Tracker"
- Target file — e.g., "candidate-tracker.tsx"
- Plan document path — absolute path to
genpage-plan.md - Data mode — the Dataverse axis:
dataverse(page reads Dataverse tables via RuntimeTypes) ormock(no Dataverse tables). This is orthogonal to connectors: a page may also carry connector bindings (the plan's## Connector Bindings), which layer connector-backed data on top of either mode. The effective shapes aredataverse,mock,dataverse + connectors, ormock + connectors— a connector-only page ismockdata mode with connector bindings. - RuntimeTypes path — absolute path to
RuntimeTypes.ts(present only when Data mode isdataverse) - Connectors —
noneor<n> binding(s), derived by the orchestrator from the plan's## Connector Bindingstable immediately before code generation.noneoverrides the plan body: treat the page as having no connector bindings no matter what the section text says. A missing line meansnone(fail closed) — emitting a call to a binding that was never created produces a page that fails at runtime, whereas omitting one produces a page that merely lacks the feature. - Telemetry —
enabledordisabled, the orchestrator's Phase 4.7custom-telemetryprobe result. A missing line meansdisabled(fail closed), which is why the/app-builderdispatch can state it as a constant.enabledis permission, not instruction: it only makes instrumentation possible — you still emitprops.appInsightscalls solely when the maker's own request asks to measure, track, monitor or diagnose something. - Working directory — where to write the
.tsxfile - Plugin root —
${PLUGIN_ROOT}for reading references and samples
The Data mode flag is authoritative for the Dataverse axis — use it to decide whether to perform Step 2 (read RuntimeTypes.ts) or skip it. Do not infer data mode from the plan document.
Connectors are decided separately from Data mode — by the Connectors input
first, then the plan's ## Connector Bindings (see the connector-detection step
below): when Connectors is enabled and the section has an actual binding
table, the page uses props.dataApi connector methods (queryConnectorTable /
executeConnectorOperation) even in mock data mode — the "mock data forbids
dataApi" rule applies only to non-connector panels, which still use realistic
inline data. Never fabricate connector rows/fields; use only the discovered
Fields/Parameters/Response from the plan.
Custom APIs are likewise decided separately from Data mode by the plan's ## Custom API Bindings (see the Custom-API step below): when it has an actual binding table, the page may
call props.dataApi.executeAction / executeFunction even in mock data mode (e.g. a
Global Function that computes a value). Never fabricate a Custom API name, parameter, or
parameter kind; use only the plan's ## Custom API Bindings values.
Built-in Dataverse operations (WhoAmI, RetrieveVersion) are decided by the plan's
OPTIONAL ## Dataverse Operations table alone — never by the Custom API table, and never by a
maker's mention. Absent, or exactly No Dataverse operations., means none.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +121 lines 07f273997d35
- 4d ago Changed · +6 lines c21b009767b9
- 6d ago Changed · +16 lines · +49 tokens per session 7db7a57b6d03
- 7d ago Changed · +1 lines 97eba901ae31
- 13d ago Changed · +24 lines a72527f3c55d
- 20d ago Changed · +19 lines 1d34be94ac76
- 28d ago Changed · +7 lines 02801fa17507
- 1mo ago Changed · +27 lines 0e73ffd1d783
- 1mo ago First seen · 493 lines · 70 tokens per session scan A 9745bf39ef8f
genpage-page-builder is an agent published in the GitHub repository microsoft/power-platform-skills (1,064 stars, last pushed today), licensed MIT. It adds 119 tokens to every session and 10,109 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other agents, from other repositories
bundle-analyzer
Parse downloaded JavaScript bundles for animation-library construction sites and concrete parameters. Invoked at Phase 5d when bundle-map.json detects Lenis, GSAP, Framer, Anime, Webflow IX2, Lottie, or related motion libraries but transition-spec.json is empty or under-populated. Writes bundle-extraction.json for…
source-forensics
Inspect large raw reference HTML/CSS/JS sources in an isolated context when compact artifacts cannot explain persistent section, sticky, transition, or forensic-preservation failures. Writes source-forensics.json for the main clone loop.
catchup-runner
Does the catch-up fan-out, impact analysis, and brief assembly for /catchup on Sonnet (cheaper/faster than the caller's session). Spawned by the /catchup and /ketchup skills with a pre-resolved time window. Not user-invoked directly.
verification-runner
Run project-aware verification loop. Reads mix.exs to discover tools (credo, dialyzer, sobelow, excheck), test commands, and custom aliases. Use proactively after code changes.
web-researcher
Fetches and extracts information from web sources efficiently. Optimized for ElixirForum, HexDocs, and GitHub. Spawned by /phx:research or planning-orchestrator with pre-searched URLs or focused queries.
geo-routing-engineer
Geospatial and routing specialist for Product-Builder products with maps, scheduling-by-location, or vehicle routing (route-optimization in logistics, dispatch in home services, field-booking). Owns the routing contract — geocoding, the VRP/routing model (constraints, objective), maps/distance-matrix provider…