[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699GZAAF239P8M4P7NH6DBB":3,"skill-same:01M699GZAAF239P8M4P7NH6DBB":50},{"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":18,"publishedAt":22,"linkOnly":23,"markdownContent":24,"markdownBody":25,"frontMatter":26,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":6,"ownerHtmlUrl":33,"ownerBlogUrl":34,"ownerDescription":35,"updatedAt":36,"install":37,"resources":49},"01M699GZAAF239P8M4P7NH6DBB","create-pr",null,"Stage, commit, push, and create GitHub PRs for the current branch — always main, then automatically cherry-picks to release\u002Fstable.","microsoft\u002Fpowerplatform-build-tools","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M699GTRTXQ8RXT9GYEEEFQRZ",315,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcreate-pr\u002FSKILL.md",[],[19,20,21],"create pr","github","commit","2026-11-10 10:12:30",false,"---\nname: create-pr\ndescription: Stage, commit, push, and create GitHub PRs for the current branch — always main, then automatically cherry-picks to release\u002Fstable.\nuser-invocable: true\n---\n\n# Create PR\n\nAssumes you are on the right branch with changes ready to commit (or already committed) and `npm run ci` has passed.\n\nFor **CLI version bumps** use `\u002Fpac-cli-update` — it handles dual PRs (main + release\u002Fstable) automatically.\nFor **reviewing** an existing PR use `\u002Freview \u003Cnumber>`.\n\n---\n\n## Step 1 — Stage and commit (skip if already committed)\n\nStage files explicitly — never `git add .`:\n\n```bash\ngit add \u003Cspecific files>\ngit status  # confirm nothing accidental staged\ngit commit -m \"\u003Ctype>: \u003Cdescription>\"\n```\n\nCommit types: `fix:` `feat:` `chore:` `build:` `docs:`\n\n---\n\n## Step 2 — Push and create the main PR\n\n```bash\ngit push -u origin HEAD 2>&1\n```\n\nCapture the current branch name and the SHA(s) to cherry-pick:\n\n```bash\nMAIN_BRANCH=$(git branch --show-current)\nCOMMITS=$(git log origin\u002Fmain..HEAD --reverse --format=\"%H\")\n```\n\nPick the template matching what changed:\n\n### Dependency update (`package.json` \u002F `package-lock.json` only)\n\n```bash\ngh pr create \\\n  --base main \\\n  --title \"chore: update dependencies\" \\\n  --body \"$(cat \u003C\u003C'EOF'\n## Summary\n- \u003Cwhat was updated and why>\n\n## Dependencies updated\n\n| Package | Before | After | Reason |\n| ------- | ------ | ----- | ------ |\n| ...     | ...    | ...   | ...    |\n\n## Known limitations \u002F follow-ups\n- \u003Caccepted risks or deferred items>\n\n## Test plan\n- [ ] `npm install` clean\n- [ ] `npm audit` — no new vulnerabilities introduced\n- [ ] `npm run ci` passes (functional tests exempt)\n\n? Generated with [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code)\nEOF\n)\"\n```\n\n### Feature \u002F bug fix (`src\u002F` or `gulp\u002F` changes)\n\n```bash\ngh pr create \\\n  --base main \\\n  --title \"\u003Cfix|feat>: \u003Cconcise description under 70 chars>\" \\\n  --body \"$(cat \u003C\u003C'EOF'\n## Summary\n- \u003Cwhat changed and why>\n\n## Tasks affected\n\u003C!-- List any Azure DevOps tasks whose behaviour changed -->\n\n## Architecture impact\n\u003C!-- If any layer boundary changed: task.json input names, bundleDependencies,\n     service connection schema, BuildToolsHost\u002FRunnerParams interface -->\n\n## Known limitations \u002F follow-ups\n- \u003Canything accepted as risk or deferred>\n\n## Test plan\n- [ ] `npm run ci` passes (functional tests exempt)\n- [ ] Manual pipeline run on DEV stage (if task behaviour changed)\n\n? Generated with [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code)\nEOF\n)\"\n```\n\nCapture the main PR number\u002FURL from the output — you'll reference it in the release PR.\n\n---\n\n## Step 3 — Cherry-pick to release\u002Fstable\n\nCreate a release branch off `release\u002Fstable`, cherry-pick all commits from the main branch, push, and open the paired PR.\n\n```bash\nRELEASE_BRANCH=\"${MAIN_BRANCH}-release\"\n\ngit fetch origin release\u002Fstable 2>&1\ngit checkout -b \"$RELEASE_BRANCH\" origin\u002Frelease\u002Fstable 2>&1\n\n# Cherry-pick each commit from the main branch (in order)\nfor SHA in $COMMITS; do\n  git cherry-pick \"$SHA\" 2>&1\ndone\n\ngit push -u origin \"$RELEASE_BRANCH\" 2>&1\n```\n\nThen open the release PR targeting `release\u002Fstable`:\n\n```bash\ngh pr create \\\n  --base release\u002Fstable \\\n  --title \"\u003Csame title as main PR>\" \\\n  --body \"$(cat \u003C\u003C'EOF'\n## Summary\n\nCherry-pick of #\u003Cmain-pr-number> to `release\u002Fstable`.\n\n- \u003Cone-line description of what changed>\n\n## Paired main PR\n#\u003Cmain-pr-number>\n\n? Generated with [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code)\nEOF\n)\"\n```\n\n---\n\n## Step 4 — Prompt user to queue the official build\n\nAfter printing both PR URLs, tell the user:\n\n```\nBoth PRs are open for review:\n  Main PR:    https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fpull\u002F\u003Cn>\n  Release PR: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fpull\u002F\u003Cm>\n\nOnce both are merged, queue the official build to sign and publish the package to the VS Marketplace:\n  https:\u002F\u002Fdev.azure.com\u002Fdynamicscrm\u002FOneCRM\u002F_build?definitionId=21491\n\nWhen queuing, set these pipeline variables:\n  - GITHUB_TOKEN            GitHub PAT (repo scope, SSO enabled for 'microsoft' org)\n  - AZ_DevOps_Read_PAT      PAT to read from the AzDO DPX-Tools-Upstream feed\n  - isEsrpEnabled           true\n  - PUBLISH_TO_MARKETPLACE  true\n\nWhen the pipeline succeeds, the build automatically:\n  - Pushes a v\u003Cversion> tag (e.g. v2.0.147) to the repo\n  - Signs and publishes the VSIXs to the VS Marketplace\n  - Creates a published GitHub Release with all 4 signed VSIXs attached, marked Latest\n\nVerify the release at:\n  https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Freleases\u002Ftag\u002Fv\u003Cversion>\n\nIf no GitHub Release shows up after a successful build, inspect the \"Create GitHub release with VSIX assets\" task in the ADO build logs — most likely cause is the GITHUB_TOKEN pipeline variable being missing, expired, or lacking `repo` scope \u002F SSO authorization for `microsoft`.\n```\n","# Create PR\n\nAssumes you are on the right branch with changes ready to commit (or already committed) and `npm run ci` has passed.\n\nFor **CLI version bumps** use `\u002Fpac-cli-update` — it handles dual PRs (main + release\u002Fstable) automatically.\nFor **reviewing** an existing PR use `\u002Freview \u003Cnumber>`.\n\n---\n\n## Step 1 — Stage and commit (skip if already committed)\n\nStage files explicitly — never `git add .`:\n\n```bash\ngit add \u003Cspecific files>\ngit status  # confirm nothing accidental staged\ngit commit -m \"\u003Ctype>: \u003Cdescription>\"\n```\n\nCommit types: `fix:` `feat:` `chore:` `build:` `docs:`\n\n---\n\n## Step 2 — Push and create the main PR\n\n```bash\ngit push -u origin HEAD 2>&1\n```\n\nCapture the current branch name and the SHA(s) to cherry-pick:\n\n```bash\nMAIN_BRANCH=$(git branch --show-current)\nCOMMITS=$(git log origin\u002Fmain..HEAD --reverse --format=\"%H\")\n```\n\nPick the template matching what changed:\n\n### Dependency update (`package.json` \u002F `package-lock.json` only)\n\n```bash\ngh pr create \\\n  --base main \\\n  --title \"chore: update dependencies\" \\\n  --body \"$(cat \u003C\u003C'EOF'\n## Summary\n- \u003Cwhat was updated and why>\n\n## Dependencies updated\n\n| Package | Before | After | Reason |\n| ------- | ------ | ----- | ------ |\n| ...     | ...    | ...   | ...    |\n\n## Known limitations \u002F follow-ups\n- \u003Caccepted risks or deferred items>\n\n## Test plan\n- [ ] `npm install` clean\n- [ ] `npm audit` — no new vulnerabilities introduced\n- [ ] `npm run ci` passes (functional tests exempt)\n\n? Generated with [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code)\nEOF\n)\"\n```\n\n### Feature \u002F bug fix (`src\u002F` or `gulp\u002F` changes)\n\n```bash\ngh pr create \\\n  --base main \\\n  --title \"\u003Cfix|feat>: \u003Cconcise description under 70 chars>\" \\\n  --body \"$(cat \u003C\u003C'EOF'\n## Summary\n- \u003Cwhat changed and why>\n\n## Tasks affected\n\u003C!-- List any Azure DevOps tasks whose behaviour changed -->\n\n## Architecture impact\n\u003C!-- If any layer boundary changed: task.json input names, bundleDependencies,\n     service connection schema, BuildToolsHost\u002FRunnerParams interface -->\n\n## Known limitations \u002F follow-ups\n- \u003Canything accepted as risk or deferred>\n\n## Test plan\n- [ ] `npm run ci` passes (functional tests exempt)\n- [ ] Manual pipeline run on DEV stage (if task behaviour changed)\n\n? Generated with [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code)\nEOF\n)\"\n```\n\nCapture the main PR number\u002FURL from the output — you'll reference it in the release PR.\n\n---\n\n## Step 3 — Cherry-pick to release\u002Fstable\n\nCreate a release branch off `release\u002Fstable`, cherry-pick all commits from the main branch, push, and open the paired PR.\n\n```bash\nRELEASE_BRANCH=\"${MAIN_BRANCH}-release\"\n\ngit fetch origin release\u002Fstable 2>&1\ngit checkout -b \"$RELEASE_BRANCH\" origin\u002Frelease\u002Fstable 2>&1\n\n# Cherry-pick each commit from the main branch (in order)\nfor SHA in $COMMITS; do\n  git cherry-pick \"$SHA\" 2>&1\ndone\n\ngit push -u origin \"$RELEASE_BRANCH\" 2>&1\n```\n\nThen open the release PR targeting `release\u002Fstable`:\n\n```bash\ngh pr create \\\n  --base release\u002Fstable \\\n  --title \"\u003Csame title as main PR>\" \\\n  --body \"$(cat \u003C\u003C'EOF'\n## Summary\n\nCherry-pick of #\u003Cmain-pr-number> to `release\u002Fstable`.\n\n- \u003Cone-line description of what changed>\n\n## Paired main PR\n#\u003Cmain-pr-number>\n\n? Generated with [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code)\nEOF\n)\"\n```\n\n---\n\n## Step 4 — Prompt user to queue the official build\n\nAfter printing both PR URLs, tell the user:\n\n```\nBoth PRs are open for review:\n  Main PR:    https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fpull\u002F\u003Cn>\n  Release PR: https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fpull\u002F\u003Cm>\n\nOnce both are merged, queue the official build to sign and publish the package to the VS Marketplace:\n  https:\u002F\u002Fdev.azure.com\u002Fdynamicscrm\u002FOneCRM\u002F_build?definitionId=21491\n\nWhen queuing, set these pipeline variables:\n  - GITHUB_TOKEN            GitHub PAT (repo scope, SSO enabled for 'microsoft' org)\n  - AZ_DevOps_Read_PAT      PAT to read from the AzDO DPX-Tools-Upstream feed\n  - isEsrpEnabled           true\n  - PUBLISH_TO_MARKETPLACE  true\n\nWhen the pipeline succeeds, the build automatically:\n  - Pushes a v\u003Cversion> tag (e.g. v2.0.147) to the repo\n  - Signs and publishes the VSIXs to the VS Marketplace\n  - Creates a published GitHub Release with all 4 signed VSIXs attached, marked Latest\n\nVerify the release at:\n  https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Freleases\u002Ftag\u002Fv\u003Cversion>\n\nIf no GitHub Release shows up after a successful build, inspect the \"Create GitHub release with VSIX assets\" task in the ADO build logs — most likely cause is the GITHUB_TOKEN pipeline variable being missing, expired, or lacking `repo` scope \u002F SSO authorization for `microsoft`.\n```\n",{"name":5,"description":7,"user-invocable":27},true,"main","335e4c47bb46d46bdb2c3cc7b9ef4b35149bfee8",".claude\u002Fskills\u002Fcreate-pr",71,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-11 01:04:03",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":27},[39,42,45],{"tool":40,"command":41},"npx","npx skills add microsoft\u002Fpowerplatform-build-tools --skill create-pr",{"tool":43,"command":44},"bunx","bunx skills add microsoft\u002Fpowerplatform-build-tools --skill create-pr",{"tool":46,"command":47},"pnpm","pnpm dlx skills add microsoft\u002Fpowerplatform-build-tools --skill create-pr","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcreate-pr\u002FSKILL.md",[],[51,65,86,94,103,113],{"skillNo":52,"name":53,"nameZh":6,"description":54,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":62,"publishedAt":22},"01M699HC0XQPN9JNCFX65H20QV","workitem","Read an ADO or GitHub work item, research similar past PRs, implement the fix, and leave the branch ready for \u002Fcreate-pr.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fworkitem\u002FSKILL.md",[57],{"categoryNo":58,"categoryName":59,"taxonomyType":60,"taxonomyTypeDesc":61},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[53,63,64,20],"implement","research",{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":22},"01M699HA924RDYQAQ6RYS949RA","security-alerts","Fetch all open security alerts from S360\u002FADO, Dependabot, and npm audit, apply all fixes, verify, commit, and create a PR.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsecurity-alerts\u002FSKILL.md",[],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,21],"alerts","security alerts","security","fixes","true","ado","create","fetch","open","verify","dependabot","audit","npm","pr",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":93,"publishedAt":22},"01M699H8NXZ81BYW640J7XTVAX","review","Autonomous PR review — reads diff, cross-references knowledge base, posts inline comments, and leaves an overall verdict.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freview\u002FSKILL.md",[92],{"categoryNo":58,"categoryName":59,"taxonomyType":60,"taxonomyTypeDesc":61},[88],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":22},"01M699H7127EAD1YEMYT21RFH0","pac-cli-update","Bump PAC CLI binary version and\u002For cli-wrapper npm package. Always produces two PRs — main and release\u002Fstable.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fpac-cli-update\u002FSKILL.md",[],[101,102],"pac cli update","cli",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"publishedAt":22},"01M699H53DPJH4HW3EJW6TA9T9","knowledge-sync","Sync ADO work items and ICM incidents to the persistent knowledge log. Invoked automatically by \u002Freview, \u002Fworkitem, and \u002Fpac-cli-update when knowledge is stale.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fknowledge-sync\u002FSKILL.md",[109],{"categoryNo":58,"categoryName":59,"taxonomyType":60,"taxonomyTypeDesc":61},[111,112,102,88],"knowledge sync","sync",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":22},"01M699H39A9ZWNT3CR7APMA2DR","fix-dependencies","Fix all vulnerabilities on the current branch using npm audit. Local branch only — no ADO\u002FGitHub queries.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpowerplatform-build-tools\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffix-dependencies\u002FSKILL.md",[],[120,20,121],"fix dependencies","vulnerabilities"]