add-data-source
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and continue. USE WHEN the user asks to…
Audits existing table permissions on a Power Pages site by analyzing them against site code and Dataverse metadata. Generates an HTML audit report with findings grouped by severity (critical, warning, info, pass) and suggests fixes for issues found. Use when the user wants to
$ npx -y skills add microsoft/power-platform-skills --skill audit-permissions --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/audit-permissionsContext preview
The summary Claude sees to decide when to auto-load this skill.
Audits existing table permissions on a Power Pages site by analyzing them against site code and Dataverse metadata. Generates an HTML audit report with findings grouped by severity (critical, warning, info, pass) and suggests fixes for issues found. Use when the user wants to
name: audit-permissions description: >- Audits existing table permissions on a Power Pages site by analyzing them against site code and Dataverse metadata. Generates an HTML audit report with findings grouped by severity (critical, warning, info, pass) and suggests fixes for issues found. Use when the user wants to review, verify, or check table permissions for security issues. user-invocable: true argument-hint: "[optional: specific table or concern]" allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, TaskCreate, TaskUpdate, TaskList, Agent model: opus
> **Plugin check**: Run `node "${PLUGIN_ROOT}/scripts/check-version.js"` — if it outputs a message, show it to the user before proceeding.
Audit existing table permissions on a Power Pages code site. Analyze permissions against the site code and Dataverse metadata, then generate a visual HTML audit report with findings, reasoning, and suggested fixes.
1. **Verify Site Deployment** — Check that `.powerpages-site` folder and table permissions exist 2. **Gather Configuration** — Read all web roles, table permissions, and site code 3. **Run Local Schema Validation** — Use the shared validator to detect invalid permission/site-setting YAML before deeper analysis 4. **Analyze & Discover** — Query Dataverse for relationships and lookup columns using deterministic scripts 5. **Run Audit Checks** — Compare permissions against code usage and best practices 6. **Generate Report** — Create the HTML audit report and display in browser 7. **Present Findings & Track** — Summarize findings, record skill usage, and ask user if they want to fix issues
**Important:** Do NOT ask the user questions during analysis. Autonomously gather all data, then present findings.
At the start of Step 1, create all tasks upfront using `TaskCreate`. Mark each task `in_progress` when starting and `completed` when done.
| Task subject | activeForm | Description | |-------------|------------|-------------| | Verify site deployment | Verifying site deployment | Check .powerpages-site folder and table permissions exist | | Gather configuration | Gathering configuration | Read web roles, table permissions, and site code | | Run local schema validation | Validating local permissions schema | Run shared validator against existing table permission and site setting YAML | | Discover relationships | Discovering relationships | Query Dataverse for lookup columns and relationships | | Run audit checks | Running audit checks | Create per-table tasks and run checklist (A–K) for each table, then cross-validate | | Generate audit report | Generating audit report | Create HTML report and display in browser | | Present findings | Presenting findings | Summarize results, record usage, and offer to fix issues |
**Note:** The "Run audit checks" phase creates **additional per-table tasks** dynamically in Step 4.2. These per-table tasks track the systematic A–K checklist for each table independently.
---
Use `Glob` to find:
If no `.powerpages-site` folder exists, stop and tell the user to deploy first using `/deploy-site`. If no table permissions exist, note this as a critical finding (the site may have no data access configured) and continue the audit — there may still be code references that need permissions.
---
Read all files matching `**/.powerpages-site/web-roles/*.yml`. Extract `id`, `name`, `anonymoususersrole`, `authenticatedusersrole` from each.
Read all files matching `**/.powerpages-site/table-permissions/*.tablepermission.yml`. For each permission, extract:
Search the site source code for:
Also check for `.datamodel-manifest.json` in the project root for the authoritative table list.
Build a map of: which tables are referenced in code, which CRUD operations are performed on each, which lookup relationships are used, and which related tables are fetched via `$expand` (these need read permissions too).
Run the shared validator against the existing site:
node "${PLUGIN_ROOT}/scripts/validate-permissions-schema.js" --projectRoot "<PROJECT_ROOT>"Parse the JSON output and carry the findings into the audit. Treat:
These findings should be included in the final audit report even if the later code/Dataverse analysis also finds additional issues.
If the validator reports wildcard field access in a `Webapi/<table>/fields` setting, add this critical finding to the report:
After Step
Official agent skills/plugins for Power Platform development by Microsoft.
Repo: microsoft/power-platform-skills
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and continue. USE WHEN the user asks to…
Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles new app generation, direct targeted edits, complex…
Configure the Canvas Authoring MCP server for the current coauthoring session. USE WHEN "configure MCP", "set up MCP server", "MCP not working", "connect…
Use this skill when the user wants to "report a bug", "file an issue", "report an issue", "submit a bug report", or report any problem with the canvas-apps…
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making ADO API calls.
Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.