[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69B8V24EY2QBCSHZ89WHSMP":3,"skill-same:01M69B8V24EY2QBCSHZ89WHSMP":47},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M69B8V24EY2QBCSHZ89WHSMP","validate-sample-topic",null,"microsoft\u002FEmployee-Self-Service-Agent-Developer-Kit","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69B8MRC17NGDB6TFWV3247A",31,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit\u002Fblob\u002Fmain\u002F.github\u002Fagents\u002Fskills\u002Fvalidate-sample-topic\u002FSKILL.md",[],[18,19],"validate","validate sample topic","2026-11-10 10:12:30",false,"# Skill: Validate a sample topic\n\n**Preconditions:** `create-or-update-sample-topic` has produced a working-tree diff.\n\nThis skill is now **executable**. The authoritative implementation lives at\n[`tools\u002Fvalidate_samples\u002F`](..\u002F..\u002F..\u002F..\u002Ftools\u002Fvalidate_samples\u002F) and is run\nthe same way locally, in CI, and by this skill — so results cannot drift.\n\n## Procedure\n\n1. From the repo root, run:\n\n   ```bash\n   python -m tools.validate_samples --diff-base origin\u002Fmain\n   ```\n\n2. Read its stdout — it is the summary block defined below.\n3. If the process exit code is non-zero (any `FAIL`), **stop**. Either fix the\n   diff and re-run, or post a comment on the issue explaining the blocker. Do\n   not open a PR.\n4. If all checks are `PASS` or `N-A`, paste the stdout block verbatim into the\n   PR body's \"Validation\" section. The `validate-samples` GitHub Action will\n   post the same block as a sticky PR comment; the agent-pasted copy is a\n   courtesy for reviewers.\n\n## Checks (enforced by the CLI)\n\n1. **YAML well-formedness** — every changed `*.yaml` under `samples\u002F` parses.\n2. **AdaptiveDialog kind** — every changed `topic.yaml` has top-level\n   `kind: AdaptiveDialog`.\n3. **XML well-formedness** — every changed `*.xml` parses.\n4. **Filename convention (new files only)** — new XML filenames start with\n   `msdyn_` and have no trailing dot. Documented inconsistencies in\n   [`samples\u002FAGENTS.md`](..\u002F..\u002F..\u002F..\u002Fsamples\u002FAGENTS.md) are whitelisted in\n   [`tools\u002Fvalidate_samples\u002Fwhitelist.yml`](..\u002F..\u002F..\u002F..\u002Ftools\u002Fvalidate_samples\u002Fwhitelist.yml).\n5. **Folder convention (new folders only)** — new topic folder is PascalCase\n   and contains `topic.yaml`, at least one `*.xml`, and `README.md`.\n6. **Diff scope** — every changed path is under `samples\u002F`; the diff touches\n   at most one topic folder (area-level `README.md` \u002F `AGENTS.md` are allowed).\n7. **Secrets \u002F internal URLs** — conservative regex sweep of the *full current contents* of each changed file (not just the added hunks).\n\n**Neighbor-key parity** against the sibling reference is *not* a CLI check —\nit is part of step 1 of [`create-or-update-sample-topic`](..\u002Fcreate-or-update-sample-topic\u002FSKILL.md).\nRecord the neighbor path in the PR body as instructed there.\n\n## Output: validation summary (paste into PR body)\n\nThe CLI emits exactly this block. Do not hand-craft it.\n\n```text\nValidation\n- YAML parse: PASS|FAIL|N-A\n- AdaptiveDialog kind: PASS|FAIL|N-A\n- XML parse: PASS|FAIL|N-A\n- Filename convention (new): PASS|FAIL|N-A\n- Folder convention (new, incl. README.md): PASS|FAIL|N-A\n- Diff scope (samples\u002F only): PASS|FAIL|N-A\n- Secrets \u002F internal URLs: PASS|FAIL|N-A\n```\n\n## Out of scope (manual follow-up)\n\nRuntime validation in Microsoft Copilot Studio \u002F Power Platform is **not**\ncovered by this skill or the CLI. Importing the topic, exercising the flow,\nand verifying user-visible behavior remain manual steps. See\n[`docs\u002Fvalidation.md`](..\u002F..\u002F..\u002F..\u002Fdocs\u002Fvalidation.md).\n\n## Stop conditions\n\n- Any `FAIL` → do not open a PR. Fix and re-run, or stop and post a comment\n  explaining the blocker.\n- CLI cannot run (missing PyYAML, no git history) → stop and surface the\n  underlying error; do not approximate the checks by hand.\n",{},"main","a1b1bbb8aaa2435985ea2242cf836acf31b8a390",".github\u002Fagents\u002Fskills\u002Fvalidate-sample-topic",19,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-11 23:53:33",{"source":7,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add microsoft\u002FEmployee-Self-Service-Agent-Developer-Kit --skill validate-sample-topic",{"tool":39,"command":40},"bunx","bunx skills add microsoft\u002FEmployee-Self-Service-Agent-Developer-Kit --skill validate-sample-topic",{"tool":42,"command":43},"pnpm","pnpm dlx skills add microsoft\u002FEmployee-Self-Service-Agent-Developer-Kit --skill validate-sample-topic","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit\u002Fblob\u002Fmain\u002F.github\u002Fagents\u002Fskills\u002Fvalidate-sample-topic\u002FSKILL.md",true,[],[48,56,63,70,78,84],{"skillNo":49,"name":50,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":51,"categories":52,"keywords":53,"publishedAt":20},"01M6PJDNK6N62M11V5WPFY8PK0","servicenow-da","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit\u002Fblob\u002Fmain\u002Fsolutions\u002Fess-maker-skills\u002Fsrc\u002Fskills\u002Fconnect\u002Fservicenow-da\u002FSKILL.md",[],[54,55],"servicenow","servicenow da",{"skillNo":57,"name":58,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":20},"01M6PJDHJHJYWRPB3NFKY8J7SY","servicenow-da-itsm","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit\u002Fblob\u002Fmain\u002Fsolutions\u002Fess-maker-skills\u002Fsrc\u002Fskills\u002Fconnect\u002Fservicenow-da-itsm\u002FSKILL.md",[],[54,62],"servicenow da itsm",{"skillNo":64,"name":65,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":20},"01M6PJD93VBG12YV42JC80VTQJ","servicenow-da-hrsd","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit\u002Fblob\u002Fmain\u002Fsolutions\u002Fess-maker-skills\u002Fsrc\u002Fskills\u002Fconnect\u002Fservicenow-da-hrsd\u002FSKILL.md",[],[54,69],"servicenow da hrsd",{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":20},"01M69BAFGZ25JSN9W1GMP16NHD","ESS-Diagnostics-Skills","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit\u002Fblob\u002Fmain\u002Ftools\u002FESS-Diagnostics-Skills\u002FSKILL.md",[],[76,77],"diagnostics","ESS Diagnostics Skills",{"skillNo":79,"name":80,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":20},"01M69BADVK3HC5BCARHN74EEGJ","update","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit\u002Fblob\u002Fmain\u002Fsolutions\u002Fess-maker-skills\u002Fsrc\u002Fskills\u002Fworkflows\u002Fupdate\u002FSKILL.md",[],[80],{"skillNo":85,"name":86,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":94,"publishedAt":20},"01M69BAC4GJCHR0MS5DWEK5JRC","test","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FEmployee-Self-Service-Agent-Developer-Kit\u002Fblob\u002Fmain\u002Fsolutions\u002Fess-maker-skills\u002Fsrc\u002Fskills\u002Fworkflows\u002Ftest\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[86]]