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.
npx agentmods add skills/microsoft/power-platform-skills/create-webrolesnpx skills add microsoft/power-platform-skills --skill create-webrolesgit 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/skills/microsoft/power-platform-skills/create-webroles)<a href="https://agentmods.dev/skills/microsoft/power-platform-skills/create-webroles"><img src="https://agentmods.dev/badge/skills/microsoft/power-platform-skills/create-webroles.svg" alt="Measured on agentmods" 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.00054 | $0.03193 |
| Opus 5 | $0.00027 | $0.01597 |
| Sonnet 5 | $0.00011 | $0.00639 |
| Haiku 4.5 | $0.00005 | $0.00319 |
Grade A, and why
create-webroles 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 2d ago.
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 — 301 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Plugin check: Run
node "${PLUGIN_ROOT}/scripts/check-version.js"— if it outputs a message, show it to the user before proceeding.
Create Web Roles
Create web roles for a Power Pages code site. Web roles define the permissions and access levels for different types of site users.
Core Principles
- Use TaskCreate/TaskUpdate: Track all progress throughout all phases — create the todo list upfront with all phases before starting any work.
- Always use the UUID script: Never generate UUIDs manually — always use
${PLUGIN_ROOT}/scripts/generate-uuid.jsto produce valid UUID v4 values for each web role. - Preserve uniqueness constraints: Only one role can have
anonymoususersrole: trueand only one can haveauthenticatedusersrole: true. Always check existing roles before setting these flags. - Caller-suppress mode is opt-in: When invoked by another skill (e.g.
/add-ai-webapi) with the[CALLED-BY-PARENT-SKILL]sentinel in$ARGUMENTS, suppress this skill's deploy prompts (Phase 1's missing-deploy ask, Phase 6's deploy ask (step 3), and the closing reminder) and return as soon as roles are created. The caller batches the deploy at end-of-orchestration. Human invocations never trigger this mode. See Phase 0 below for parsing.
Prerequisite: The site must be deployed at least once before web roles can be created, since deployment creates the
.powerpages-sitefolder structure that stores web role definitions.
Initial request: $ARGUMENTS
Phase 0: Detect caller-suppress mode
Inspect $ARGUMENTS. If the text contains the sentinel [CALLED-BY-PARENT-SKILL], set an
internal flag caller-suppress = true that downstream phases consult. The optional token
caller=<skill-name> may follow the sentinel for diagnostic purposes (e.g.
caller=add-ai-webapi); record it for the final summary but do not branch on it.
When the flag is set, skip every deploy prompt this skill would otherwise issue:
- Phase 1 missing-deploy ask: if
.powerpages-siteis absent, do NOT ask the user to deploy now. Stop with a clear contract-violation message back to the caller — the caller was supposed to gate on this before invoking us. - Phase 6 deploy ask (step 3) and the closing "Please run
/deploy-site" reminder: skip both. The caller batches the single deploy decision at end-of-orchestration.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 301 lines · 54 tokens per session scan A 6811719b2709
create-webroles is a skill published in the GitHub repository microsoft/power-platform-skills (829 stars, last pushed today), licensed MIT. It adds 54 tokens to every session and 3,193 once invoked, about $0.0003 per session on Opus 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 skills, from other repositories
canvas-apps-ui-gen
Generates paste-ready Power Apps Canvas App YAML. Invoke when the user wants to replicate a UI mockup, improve an existing Canvas app screen, or build a new screen from a text description. Also invoke when the user asks to "improve", "redesign", or "generate YAML" for a Canvas app screen.
techdebt
Analyze Elixir/Phoenix technical debt — duplicates, refactoring opportunities, credo issues. Use when asked about code quality, cleanup, or what to improve.
cesiumjs-camera
CesiumJS camera control - Camera, flyTo, lookAt, setView, ScreenSpaceCameraController, CameraEventAggregator, flight animation. Use when positioning the camera, creating flyTo animations, constraining user navigation, tracking entities, or converting between screen and world coordinates.
cesiumjs-models-particles
CesiumJS models, glTF, and particle effects - Model, KHRmeshoptcompression, CAD glTF extensions, EdgeDisplayMode, ModelAnimation, ModelNode, ParticleSystem, emitters, GPM extensions. Use when loading compressed or CAD-style glTF/GLB models, controlling edge rendering, playing model animations, positioning particles…
cesiumjs-core-utilities
CesiumJS core utilities and networking - Resource, Color, Event, Request, RequestScheduler, error handling, helper functions, feature detection. Use when fetching remote data, managing HTTP requests, working with colors, handling events, debugging errors, or using utility functions like defined, clone, or…
cesiumjs-materials-shaders
CesiumJS materials and post-processing — Material, Fabric JSON, MaterialAppearance, ImageBasedLighting, PostProcessStage, PostProcessStageLibrary, bloom, depth of field, ambient occlusion, FXAA, tonemapping, BlendingState. Use when defining Fabric materials for entities or primitives, configuring PBR image-based…