[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699TC2VCJ35KB5XEN0MQBWE":3,"skill-same:01M699TC2VCJ35KB5XEN0MQBWE":78},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":60,"ownerHtmlUrl":61,"ownerBlogUrl":62,"ownerDescription":63,"updatedAt":64,"install":65,"resources":77},"01M699TC2VCJ35KB5XEN0MQBWE","diagnose-deployment",null,"Surfaces PAC CLI upload errors and Dataverse async operation errors, pattern-matches against a known failure catalog, and optionally auto-fixes identified issues. Use when asked to: \"diagnose deployment\", \"debug deployment\", \"deployment failed\", \"show deployment errors\", \"fix deployment issues\", \"show upload logs\", \"why did my deploy fail\", or \"troubleshoot upload\".","microsoft\u002Fpower-platform-skills","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M699JVYJFB75D9JM70BN4H0Q",1132,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fpower-pages\u002Fskills\u002Fdiagnose-deployment\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,9,44,45,46],"diagnose deployment","diagnose","deployment","search","when","errors","debug deployment","show","power","auto","fix","fetch","Bash","why","logs","MCP","issues","learn","deploy","dataverse","troubleshoot","docs","cli","2026-11-10 10:12:30",false,"---\nname: diagnose-deployment\ndescription: >-\n  Surfaces PAC CLI upload errors and Dataverse async operation errors, pattern-matches\n  against a known failure catalog, and optionally auto-fixes identified issues. Use when\n  asked to: \"diagnose deployment\", \"debug deployment\", \"deployment failed\", \"show\n  deployment errors\", \"fix deployment issues\", \"show upload logs\", \"why did my deploy fail\",\n  or \"troubleshoot upload\".\nuser-invocable: true\nallowed-tools: Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskUpdate, TaskList, AskUserQuestion, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_search, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_fetch\nmodel: opus\n---\n\n> **Plugin check**: Run `node \"${PLUGIN_ROOT}\u002Fscripts\u002Fcheck-version.js\"` — if it outputs a message, show it to the user before proceeding.\n\n# diagnose-deployment\n\nSurfaces and pattern-matches deployment errors against a known failure catalog. For each identified error with an available auto-fix, asks explicit user permission before applying any changes. Never auto-applies fixes without confirmation.\n\n## Prerequisites\n\n- Project root with `powerpages.config.json`\n- PAC CLI installed (will report if missing)\n\n## Phases\n\n### Phase 1 — Verify Prerequisites and Locate Project\n\n**Create all tasks upfront at the start of this phase.**\n\nTasks to create:\n1. \"Verify prerequisites and locate project\"\n2. \"Collect deployment artifacts\"\n3. \"Surface upload errors\"\n4. \"Query solution import status\"\n5. \"Diagnose and categorize findings\"\n6. \"Offer auto-fixes\"\n7. \"Present findings summary\"\n\nSteps:\n1. Locate project root: search for `powerpages.config.json` in cwd and parent directories\n2. Check PAC CLI: `pac --version` (report version or \"not installed\")\n3. Check PAC CLI auth: `pac env who` (report environment URL or \"not authenticated\")\n4. Check Azure CLI: `az account show` (report subscription or \"not logged in\")\n\nAuth failures are non-blocking — report them as findings, continue collecting other artifacts.\n\n### Phase 1.5 — Ground in current ALM documentation\n\n> Reference: `${PLUGIN_ROOT}\u002Freferences\u002Falm-docs-grounding.md`\n\nCap this step at ~30 seconds. If MCP search \u002F fetch errors out, log a one-line note and continue — this skill must remain runnable offline.\n\n1. Run `microsoft_docs_search` with the query: `Power Pages deployment errors solution import troubleshooting`.\n2. Fetch `https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fpower-platform\u002Falm\u002Fsolution-concepts-alm` (and at most one sister page on troubleshooting or known import errors) in parallel via `microsoft_docs_fetch`.\n3. Extract a one-paragraph summary of what Microsoft Learn currently says about common deployment failures and their resolution. Compare against `${PLUGIN_ROOT}\u002Freferences\u002Fdeployment-error-catalog.md` and flag any new error patterns not yet captured in the catalog.\n4. Use the summary to inform pattern-matching in Phase 5. If a new pattern is documented on Learn that isn't in the catalog, surface it to the user as a candidate addition rather than silently extending the catalog.\n\n### Phase 2 — Collect Deployment Artifacts\n\nGather all available context:\n\n1. Read `powerpages.config.json` — extract `siteName`, `websiteRecordId`, `compiledPath`\n2. Check `.powerpages-site\u002F` folder exists\n3. Glob for manifest files: `.powerpages-site\u002F*-manifest.yml` — list all found, note their environment hostnames\n4. Check if `.solution-manifest.json` exists (for solution-related diagnostics)\n5. Check if `docs\u002Falm\u002Flast-import.json` exists (for recent import failures)\n6. Check build output: confirm `{compiledPath}\u002F` exists and is non-empty\n\nReport: \"Found project: `{siteName}`. Artifacts collected.\"\n\n### Phase 3 — Surface Upload Errors\n\nRe-run `pac pages upload-code-site` in capture mode to get fresh error output:\n\n```bash\npac pages upload-code-site --rootPath \".\" 2>&1\n```\n\n> **Note**: This intentionally triggers the upload to capture any errors. If the upload succeeds cleanly, that is also a valid diagnostic result (\"no errors found\").\n\nCapture stdout+stderr as a single string. Pass to `scripts\u002Fparse-deployment-errors.js`:\n\n```bash\necho \"{escaped-output}\" | node \"${PLUGIN_ROOT}\u002Fscripts\u002Fparse-deployment-errors.js\"\n```\n\nParse the JSON findings array. If the upload succeeded with no errors, note this and skip to Phase 5 with an empty findings list.\n\n### Phase 4 — Query Solution Import Status\n\nOnly run if `.solution-manifest.json` exists.\n\n1. Acquire Azure CLI token for environment URL\n2. Check recent async operations (last 24 hours):\n   ```\n   GET {envUrl}\u002Fapi\u002Fdata\u002Fv9.2\u002Fasyncoperations?$filter=statecode eq 3 and statuscode eq 31 and createdon gt {yesterday}&$select=asyncoperationid,name,message,friendlymessage,statuscode,completedon&$orderby=completedon desc&$top=5\n   ```\n3. Check recent import jobs:\n   ```\n   GET {envUrl}\u002Fapi\u002Fdata\u002Fv9.2\u002Fimportjobs?$select=solutionname,completedon,progress&$orderby=completedon desc&$top=3\n   ```\n4. If failed operations found, pass each `message` field through `parse-deployment-errors.js`\n\nSkip gracefully if auth is not available (auth failure in Phase 1).\n\n### Phase 5 — Auto-Diagnose Known Issues\n\nConsolidate all findings from Phases 3 and 4. For each finding, categorize:\n\n- **Error**: Blocks deployment\n- **Warning**: May cause issues\n- **Info**: Informational\n\nAlso add findings for missing artifacts discovered in Phase 2:\n- Missing `websiteRecordId` → Error (patternId: `missing-website-record-id`)\n- Empty build output → Error (patternId: `empty-build`)\n- Multiple environment manifests → Warning (may indicate environment confusion)\n\nPresent all findings in a table:\n\n| # | Severity | Type | Issue | Auto-fix? |\n|---|---|---|---|---|\n| 1 | Error | upload | JavaScript uploads blocked | Yes |\n| 2 | Warning | config | Multiple manifest files found | No |\n\n### Phase 6 — Offer Auto-Fixes\n\nFor each Error finding with `autoFixAvailable: true`, in order:\n\n\u003C!-- gate: diagnose-deployment:6.auto-fix | category=consent | cancel-leaves=nothing -->\n> ? **Gate (consent · diagnose-deployment:6.auto-fix):** Per-finding consent before applying any auto-fix. **Loops once per Error finding with `autoFixAvailable: true`** — each finding gets its own Yes \u002F No \u002F Skip-all `AskUserQuestion`. The pattern ID surfaces in the prompt. **Never batch fixes** — three findings = three separate consent prompts (unless the user picks \"Skip all\" on the first, which short-circuits the loop). The Yes from finding 1 does NOT cover finding 2; each fix has its own blast radius (different files, different settings, different reversibility).\n\n1. Explain the issue and proposed fix\n2. Ask explicit permission via `AskUserQuestion`:\n   > \"Issue: {message}\n   > Proposed fix: {suggestedFix}\n   > Apply this fix? Yes \u002F No \u002F Skip all auto-fixes\"\n\n3. If approved, execute the fix:\n\n   **`stale-manifest`**: Delete `*-manifest.yml` file(s) in `.powerpages-site\u002F`\n   ```bash\n   # Ask which manifest to delete if multiple found, then:\n   rm \".powerpages-site\u002F{manifestFile}\"\n   ```\n\n   **`blocked-js`**: Update `blockedattachments` setting\n   ```bash\n   # Get current setting first\n   pac env list-settings | grep -i blocked\n   # Remove .js from the blocked list (preserve other blocked types)\n   pac env update-settings --name blockedattachments --value \"{updated-value}\"\n   ```\n\n   **`missing-website-record-id`**: Retrieve and update record ID\n   ```bash\n   pac pages list\n   # Parse output, find matching site by name, then update powerpages.config.json\n   ```\n\n   **`auth-expired`**: Guide re-authentication\n   ```bash\n   pac auth create --environment \"{envUrl}\"\n   az login\n   ```\n\n   **`empty-build`**: Run build\n   ```bash\n   npm run build\n   ```\n\n4. After each fix, re-run the relevant check to verify it resolved the issue. Update finding status to \"Fixed\" or \"Manual required\".\n\n> **Key Constraint**: Never apply any fix without explicit user permission. Each fix requires a separate confirmation.\n\n### Phase 7 — Present Findings Summary\n\nDisplay a final summary table of all findings:\n\n| # | Severity | Type | Issue | Status |\n|---|---|---|---|---|\n| 1 | Error | upload | JS uploads blocked | Fixed |\n| 2 | Error | config | Missing websiteRecordId | Manual required |\n| 3 | Warning | config | Multiple manifest files | Informational |\n\n**Status values**:\n- **Fixed**: Auto-fix was applied and verified\n- **Manual required**: No auto-fix available — show manual steps\n- **Skipped**: User declined the fix\n- **Informational**: Warning\u002FInfo, no action needed\n\nIf all errors are resolved: suggest retrying deployment with `\u002Fpower-pages:deploy-site`.\n\nIf manual steps remain: list them explicitly with commands or links.\n\n### Record Skill Usage\n\n> Reference: `${PLUGIN_ROOT}\u002Freferences\u002Fskill-tracking-reference.md`\n\nFollow the skill tracking instructions in the reference to record this skill's usage. Use `--skillName \"DiagnoseDeployment\"`.\n\n## Key Decision Points (Wait for User)\n\n1. **Phase 6**: Each individual auto-fix requires explicit confirmation before applying\n2. **Phase 6**: If user says \"Skip all auto-fixes\", stop offering fixes and go to summary\n\n## Error Handling\n\n- If `pac pages upload-code-site` produces no output: report \"No upload errors detected in current state\"\n- If Azure CLI token unavailable: skip Phase 4, note in summary\n- If `parse-deployment-errors.js` returns no findings: report \"No known error patterns detected\" and show raw output for manual review\n\n## Progress Tracking Table\n\n| Task subject | activeForm | Description |\n|---|---|---|\n| Verify prerequisites and locate project | Verifying prerequisites | Check PAC CLI, Azure CLI, locate project root and powerpages.config.json |\n| Collect deployment artifacts | Collecting deployment artifacts | Read config, list manifests, check build output, check solution manifest |\n| Surface upload errors | Surfacing upload errors | Re-run pac pages upload-code-site in capture mode, parse stdout\u002Fstderr |\n| Query solution import status | Querying solution import status | Check recent failed async operations and import jobs in Dataverse |\n| Diagnose and categorize findings | Diagnosing findings | Pattern-match all errors against deployment-error-catalog, assign severity |\n| Offer auto-fixes | Applying auto-fixes | For each fixable error, ask permission and execute fix, verify result |\n| Present findings summary | Presenting summary | Show all findings table with severity and fix status, list manual steps |\n","> **Plugin check**: Run `node \"${PLUGIN_ROOT}\u002Fscripts\u002Fcheck-version.js\"` — if it outputs a message, show it to the user before proceeding.\n\n# diagnose-deployment\n\nSurfaces and pattern-matches deployment errors against a known failure catalog. For each identified error with an available auto-fix, asks explicit user permission before applying any changes. Never auto-applies fixes without confirmation.\n\n## Prerequisites\n\n- Project root with `powerpages.config.json`\n- PAC CLI installed (will report if missing)\n\n## Phases\n\n### Phase 1 — Verify Prerequisites and Locate Project\n\n**Create all tasks upfront at the start of this phase.**\n\nTasks to create:\n1. \"Verify prerequisites and locate project\"\n2. \"Collect deployment artifacts\"\n3. \"Surface upload errors\"\n4. \"Query solution import status\"\n5. \"Diagnose and categorize findings\"\n6. \"Offer auto-fixes\"\n7. \"Present findings summary\"\n\nSteps:\n1. Locate project root: search for `powerpages.config.json` in cwd and parent directories\n2. Check PAC CLI: `pac --version` (report version or \"not installed\")\n3. Check PAC CLI auth: `pac env who` (report environment URL or \"not authenticated\")\n4. Check Azure CLI: `az account show` (report subscription or \"not logged in\")\n\nAuth failures are non-blocking — report them as findings, continue collecting other artifacts.\n\n### Phase 1.5 — Ground in current ALM documentation\n\n> Reference: `${PLUGIN_ROOT}\u002Freferences\u002Falm-docs-grounding.md`\n\nCap this step at ~30 seconds. If MCP search \u002F fetch errors out, log a one-line note and continue — this skill must remain runnable offline.\n\n1. Run `microsoft_docs_search` with the query: `Power Pages deployment errors solution import troubleshooting`.\n2. Fetch `https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fpower-platform\u002Falm\u002Fsolution-concepts-alm` (and at most one sister page on troubleshooting or known import errors) in parallel via `microsoft_docs_fetch`.\n3. Extract a one-paragraph summary of what Microsoft Learn currently says about common deployment failures and their resolution. Compare against `${PLUGIN_ROOT}\u002Freferences\u002Fdeployment-error-catalog.md` and flag any new error patterns not yet captured in the catalog.\n4. Use the summary to inform pattern-matching in Phase 5. If a new pattern is documented on Learn that isn't in the catalog, surface it to the user as a candidate addition rather than silently extending the catalog.\n\n### Phase 2 — Collect Deployment Artifacts\n\nGather all available context:\n\n1. Read `powerpages.config.json` — extract `siteName`, `websiteRecordId`, `compiledPath`\n2. Check `.powerpages-site\u002F` folder exists\n3. Glob for manifest files: `.powerpages-site\u002F*-manifest.yml` — list all found, note their environment hostnames\n4. Check if `.solution-manifest.json` exists (for solution-related diagnostics)\n5. Check if `docs\u002Falm\u002Flast-import.json` exists (for recent import failures)\n6. Check build output: confirm `{compiledPath}\u002F` exists and is non-empty\n\nReport: \"Found project: `{siteName}`. Artifacts collected.\"\n\n### Phase 3 — Surface Upload Errors\n\nRe-run `pac pages upload-code-site` in capture mode to get fresh error output:\n\n```bash\npac pages upload-code-site --rootPath \".\" 2>&1\n```\n\n> **Note**: This intentionally triggers the upload to capture any errors. If the upload succeeds cleanly, that is also a valid diagnostic result (\"no errors found\").\n\nCapture stdout+stderr as a single string. Pass to `scripts\u002Fparse-deployment-errors.js`:\n\n```bash\necho \"{escaped-output}\" | node \"${PLUGIN_ROOT}\u002Fscripts\u002Fparse-deployment-errors.js\"\n```\n\nParse the JSON findings array. If the upload succeeded with no errors, note this and skip to Phase 5 with an empty findings list.\n\n### Phase 4 — Query Solution Import Status\n\nOnly run if `.solution-manifest.json` exists.\n\n1. Acquire Azure CLI token for environment URL\n2. Check recent async operations (last 24 hours):\n   ```\n   GET {envUrl}\u002Fapi\u002Fdata\u002Fv9.2\u002Fasyncoperations?$filter=statecode eq 3 and statuscode eq 31 and createdon gt {yesterday}&$select=asyncoperationid,name,message,friendlymessage,statuscode,completedon&$orderby=completedon desc&$top=5\n   ```\n3. Check recent import jobs:\n   ```\n   GET {envUrl}\u002Fapi\u002Fdata\u002Fv9.2\u002Fimportjobs?$select=solutionname,completedon,progress&$orderby=completedon desc&$top=3\n   ```\n4. If failed operations found, pass each `message` field through `parse-deployment-errors.js`\n\nSkip gracefully if auth is not available (auth failure in Phase 1).\n\n### Phase 5 — Auto-Diagnose Known Issues\n\nConsolidate all findings from Phases 3 and 4. For each finding, categorize:\n\n- **Error**: Blocks deployment\n- **Warning**: May cause issues\n- **Info**: Informational\n\nAlso add findings for missing artifacts discovered in Phase 2:\n- Missing `websiteRecordId` → Error (patternId: `missing-website-record-id`)\n- Empty build output → Error (patternId: `empty-build`)\n- Multiple environment manifests → Warning (may indicate environment confusion)\n\nPresent all findings in a table:\n\n| # | Severity | Type | Issue | Auto-fix? |\n|---|---|---|---|---|\n| 1 | Error | upload | JavaScript uploads blocked | Yes |\n| 2 | Warning | config | Multiple manifest files found | No |\n\n### Phase 6 — Offer Auto-Fixes\n\nFor each Error finding with `autoFixAvailable: true`, in order:\n\n\u003C!-- gate: diagnose-deployment:6.auto-fix | category=consent | cancel-leaves=nothing -->\n> ? **Gate (consent · diagnose-deployment:6.auto-fix):** Per-finding consent before applying any auto-fix. **Loops once per Error finding with `autoFixAvailable: true`** — each finding gets its own Yes \u002F No \u002F Skip-all `AskUserQuestion`. The pattern ID surfaces in the prompt. **Never batch fixes** — three findings = three separate consent prompts (unless the user picks \"Skip all\" on the first, which short-circuits the loop). The Yes from finding 1 does NOT cover finding 2; each fix has its own blast radius (different files, different settings, different reversibility).\n\n1. Explain the issue and proposed fix\n2. Ask explicit permission via `AskUserQuestion`:\n   > \"Issue: {message}\n   > Proposed fix: {suggestedFix}\n   > Apply this fix? Yes \u002F No \u002F Skip all auto-fixes\"\n\n3. If approved, execute the fix:\n\n   **`stale-manifest`**: Delete `*-manifest.yml` file(s) in `.powerpages-site\u002F`\n   ```bash\n   # Ask which manifest to delete if multiple found, then:\n   rm \".powerpages-site\u002F{manifestFile}\"\n   ```\n\n   **`blocked-js`**: Update `blockedattachments` setting\n   ```bash\n   # Get current setting first\n   pac env list-settings | grep -i blocked\n   # Remove .js from the blocked list (preserve other blocked types)\n   pac env update-settings --name blockedattachments --value \"{updated-value}\"\n   ```\n\n   **`missing-website-record-id`**: Retrieve and update record ID\n   ```bash\n   pac pages list\n   # Parse output, find matching site by name, then update powerpages.config.json\n   ```\n\n   **`auth-expired`**: Guide re-authentication\n   ```bash\n   pac auth create --environment \"{envUrl}\"\n   az login\n   ```\n\n   **`empty-build`**: Run build\n   ```bash\n   npm run build\n   ```\n\n4. After each fix, re-run the relevant check to verify it resolved the issue. Update finding status to \"Fixed\" or \"Manual required\".\n\n> **Key Constraint**: Never apply any fix without explicit user permission. Each fix requires a separate confirmation.\n\n### Phase 7 — Present Findings Summary\n\nDisplay a final summary table of all findings:\n\n| # | Severity | Type | Issue | Status |\n|---|---|---|---|---|\n| 1 | Error | upload | JS uploads blocked | Fixed |\n| 2 | Error | config | Missing websiteRecordId | Manual required |\n| 3 | Warning | config | Multiple manifest files | Informational |\n\n**Status values**:\n- **Fixed**: Auto-fix was applied and verified\n- **Manual required**: No auto-fix available — show manual steps\n- **Skipped**: User declined the fix\n- **Informational**: Warning\u002FInfo, no action needed\n\nIf all errors are resolved: suggest retrying deployment with `\u002Fpower-pages:deploy-site`.\n\nIf manual steps remain: list them explicitly with commands or links.\n\n### Record Skill Usage\n\n> Reference: `${PLUGIN_ROOT}\u002Freferences\u002Fskill-tracking-reference.md`\n\nFollow the skill tracking instructions in the reference to record this skill's usage. Use `--skillName \"DiagnoseDeployment\"`.\n\n## Key Decision Points (Wait for User)\n\n1. **Phase 6**: Each individual auto-fix requires explicit confirmation before applying\n2. **Phase 6**: If user says \"Skip all auto-fixes\", stop offering fixes and go to summary\n\n## Error Handling\n\n- If `pac pages upload-code-site` produces no output: report \"No upload errors detected in current state\"\n- If Azure CLI token unavailable: skip Phase 4, note in summary\n- If `parse-deployment-errors.js` returns no findings: report \"No known error patterns detected\" and show raw output for manual review\n\n## Progress Tracking Table\n\n| Task subject | activeForm | Description |\n|---|---|---|\n| Verify prerequisites and locate project | Verifying prerequisites | Check PAC CLI, Azure CLI, locate project root and powerpages.config.json |\n| Collect deployment artifacts | Collecting deployment artifacts | Read config, list manifests, check build output, check solution manifest |\n| Surface upload errors | Surfacing upload errors | Re-run pac pages upload-code-site in capture mode, parse stdout\u002Fstderr |\n| Query solution import status | Querying solution import status | Check recent failed async operations and import jobs in Dataverse |\n| Diagnose and categorize findings | Diagnosing findings | Pattern-match all errors against deployment-error-catalog, assign severity |\n| Offer auto-fixes | Applying auto-fixes | For each fixable error, ask permission and execute fix, verify result |\n| Present findings summary | Presenting summary | Show all findings table with severity and fix status, list manual steps |\n",{"name":5,"model":52,"description":7,"allowed-tools":53,"user-invocable":54},"opus","Read, Write, Edit, Bash, Glob, Grep, TaskCreate, TaskUpdate, TaskList, AskUserQuestion, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_search, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_fetch",true,"main","0a55a88fa2855404029d1e5450faf92878baf763","plugins\u002Fpower-pages\u002Fskills\u002Fdiagnose-deployment",227,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills","https:\u002F\u002Fmicrosoft.github.io\u002Fpower-platform-skills\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-11 07:04:11",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":54},[67,70,73],{"tool":68,"command":69},"npx","npx skills add microsoft\u002Fpower-platform-skills --skill diagnose-deployment",{"tool":71,"command":72},"bunx","bunx skills add microsoft\u002Fpower-platform-skills --skill diagnose-deployment",{"tool":74,"command":75},"pnpm","pnpm dlx skills add microsoft\u002Fpower-platform-skills --skill diagnose-deployment","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fpower-pages\u002Fskills\u002Fdiagnose-deployment\u002FSKILL.md",[],[79,99,122,140,154,164],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":47},"01M699WVHX0XN59EPBTTPEKYPG","setup","Use when Process Intelligence needs building, explicit cloud\u002Faccount\u002Fenvironment configuration, sign-in, connection diagnostics, or recovery from an authentication error.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fprocess-intelligence\u002Fskills\u002Fsetup\u002FSKILL.md",[],[81,86,28,87,88,89,90,91,92,93,94,95,96,97,98,36],"read","connection","error","sign","intelligence","configuration","use","process","diagnostics","environment","authentication","cloud","recovery",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":110,"publishedAt":47},"01M699WSR9EX55YY1WD9J22FEG","report-issue","Use when the user wants a Process Intelligence bug-report draft or support summary for a failed operation.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fprocess-intelligence\u002Fskills\u002Freport-issue\u002FSKILL.md",[105],{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[111,112,113,114,115,93,92,116,117,90,118,119,120,28,121],"report issue","report","issue","support","user","bug","summary","draft","operation","for","bug-report",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":47},"01M699WR26YQ9Q21KE6MJF5B2G","investigate-process","Use when a broad Process Mining business question, observed pattern or competing explanation needs investigation across analytical perspectives.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fprocess-intelligence\u002Fskills\u002Finvestigate-process\u002FSKILL.md",[],[93,129,130,131,28,132,133,134,135,86,136,92,137,138,139],"investigate","investigate process","mining","process mining","investigation","perspectives","question","business","pattern","across","analytical",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":47},"01M699WP9SDG5ZR12P8VYNXKTN","derive-metric","Use when a requested measure is missing, a saved custom metric needs reuse, or an ephemeral formula or derived scalar is needed.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fprocess-intelligence\u002Fskills\u002Fderive-metric\u002FSKILL.md",[],[147,148,86,92,149,150,151,152,153,28],"metric","derive metric","formula","missing","reuse","saved","custom",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":47},"01M699WMG5R8P6SMTDAS1TKF9E","compare-cohorts","Use when comparing process cohorts, departments, periods or before-and-after results under matched definitions.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fprocess-intelligence\u002Fskills\u002Fcompare-cohorts\u002FSKILL.md",[],[161,162,28,92,93,163,86],"compare","compare cohorts","results",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":47},"01M699WJWNVTMP9XK3NCJHV14D","analyze-variants","Use when investigating common or slow variants, repeated work, unusual paths, or a specific Process Mining case.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpower-platform-skills\u002Fblob\u002Fmain\u002Fplugins\u002Fprocess-intelligence\u002Fskills\u002Fanalyze-variants\u002FSKILL.md",[],[171,172,173,132,28,131,174,175,92,93,86,176,177],"analyze","variants","analyze variants","case","paths","work","common"]