[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69B63DR7JASH6MKBM7MGVCZ":3,"skill-same:01M69B63DR7JASH6MKBM7MGVCZ":87},{"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":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":62,"updatedAt":63,"install":64,"resources":76},"01M69B63DR7JASH6MKBM7MGVCZ","analyze-ci-failures",null,"Analyze collected vcpkg CI failure evidence, classify regressions and known failures, identify root causes, recommend actions, and generate a report by package and triplet.\nUSE FOR: explicit requests for CI regression triage, a failure inventory, baseline classification, action recommendations, or a formal CI failure report.\nDO NOT USE FOR: fetching logs as the final output, targeted debugging of one failure, answering a one-off question about logs the user pasted or pointed at, general coding, creating ports, or modifying portfiles. When requested analysis lacks local evidence, run fetch-vcpkg-ci-logs as the acquisition stage first.\n**ANALYSIS SKILL** USES: locally collected CI logs, vcpkg baselines, Azure DevOps metadata.","microsoft\u002Fvcpkg","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69B5ZTTQSKDYEXJ8P93R330",27596,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fanalyze-ci-failures\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,44,45],"analyze","analyze ci","ci","analyze ci failures","ports","azure devops","when","general coding","ci logs","local","fetch","question","acquisition","vcpkg","regression","triage","inventory","analysis","azure","actions","logs","debugging","2026-11-10 10:12:30",false,"---\nname: analyze-ci-failures\nmetadata:\n   version: 2026-08-14\ndescription: >\n  Analyze collected vcpkg CI failure evidence, classify regressions and known failures, identify root\n  causes, recommend actions, and generate a report by package and triplet.\n\n  USE FOR: explicit requests for CI regression triage, a failure inventory, baseline classification,\n  action recommendations, or a formal CI failure report.\n\n  DO NOT USE FOR: fetching logs as the final output, targeted debugging of one failure, answering a one-off\n  question about logs the user pasted or pointed at, general coding, creating ports, or modifying portfiles.\n  When requested analysis lacks local evidence, run fetch-vcpkg-ci-logs as the acquisition stage first.\n\n  **ANALYSIS SKILL** USES: locally collected CI logs, vcpkg baselines, Azure DevOps metadata.\ndisable-model-invocation: true\n---\n\n# vcpkg CI Failures Analyzer\n\n## Overview\n\nConsumes already-collected CI evidence, cross-references it with baselines, and produces a regression\nreport. If evidence has not yet been collected, invoke `fetch-vcpkg-ci-logs` first, then return to this\nworkflow. Do not duplicate its acquisition steps here.\n\n## MCP Tools\n\n| Tool | Purpose |\n|------|---------|\n| `github-mcp-server-get_file_contents` | Read baseline files |\n\n## Prerequisites\n\n- Local failed step logs and relevant extracted failure-log artifacts.\n- Build metadata and full Azure build URL.\n- For PR builds, PR metadata and full PR URL.\n\n## Evidence Acquisition\n\nWhen the required evidence is not already local, delegate acquisition to a subagent using\n`fetch-vcpkg-ci-logs`. Prefer a fast, low-cost model for this mechanical work. Ask\nthe subagent to return only the evidence inventory and local paths; keep regression analysis and report\ngeneration in the main agent.\n\nWhen the evidence is already available locally, proceed directly to analysis.\n\n## Workflow\n\n> **OUTPUT RULE**: This skill applies only when the user asked for triage or report output, so a `report.md`\n> is always required once it is selected. Write it as soon as step-log analysis completes, then enhance it\n> from artifacts. Your response MUST also contain the complete report content — not a summary.\n\n> **URL RULE**: Your response text (not just the report file) MUST include:\n> - For scheduled\u002Fmanual builds: the full Azure DevOps URL `https:\u002F\u002Fdev.azure.com\u002Fvcpkg\u002Fpublic\u002F_build\u002Fresults?buildId={buildId}`\n> - For PR builds: both the full PR URL `https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fpull\u002F{prNumber}` AND the Azure DevOps build URL\n\nBefore analysis, read `.\\.github\\skills\\shared\\azure-vcpkg-ci-notes.md`.\n\n### Phase 1: Analyze failed step logs\n\n1. **Inventory evidence** — Confirm the build metadata, failed step-log paths, artifact paths, and triplets\n   available from the acquisition step.\n2. **Scan step logs** — Extract every `REGRESSION:` line and retain exact failure type keywords:\n   `BUILD_FAILED`, `FILE_CONFLICTS`, `POST_BUILD_CHECKS_FAILED`, and\n   `CASCADED_DUE_TO_MISSING_DEPENDENCIES`. Capture 2-3 surrounding lines for context.\n3. **PR feature-test logs** — PR builds may not have `REGRESSION:` lines. Instead scan for `FAIL:`,\n   `failed with`, and feature-test `error:` lines. Capture verbatim:\n   - Compiler errors (missing headers, undefined symbols)\n   - Post-build check failures (file path issues, misplaced files)\n   - Version validation errors\n   - Platform-specific feature guard messages\n\n   Report each feature failure individually. Dependency ports that fail get their own entry.\n4. **Version validation** — Inspect the `\"Validate version files\"` evidence for version database errors.\n5. **Write report immediately** — Generate and save `report.md` using the step-log evidence.\n\n### Phase 2: Analyze artifacts and enhance\n\n6. **Analyze artifacts** — Read relevant `stdout-{triplet}.log` tails and supporting logs. Classify per\n   [references\u002Fvcpkg-failure-patterns.md](references\u002Fvcpkg-failure-patterns.md).\n7. **Baselines** — Check both `ci.baseline.txt` and `ci.feature.baseline.txt`.\n8. **Enhance report** — Add root causes, downstream impact, and actionable recommendations supported by\n   the evidence.\n\n### Report Requirements\n\nFormat per [references\u002Freport-template.md](references\u002Freport-template.md):\n- Full build URL: `[{buildNumber}](https:\u002F\u002Fdev.azure.com\u002Fvcpkg\u002Fpublic\u002F_build\u002Fresults?buildId={buildId})`\n- For PRs: `[#{prNumber}](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fpull\u002F{prNumber})`\n- List **every** triplet by full name (e.g., `x64-windows`, `arm64-linux`) — never \"N triplets\". Only include triplets that actually had failures for this specific build.\n- Use **exact** failure type keywords from logs: `BUILD_FAILED`, `POST_BUILD_CHECKS_FAILED`, `FILE_CONFLICTS`, `CASCADED_DUE_TO_MISSING_DEPENDENCIES` — never paraphrase\n- Include error messages verbatim — quote the exact text from logs for compiler errors, path issues, and validation failures\n- Dependency ports' failures as separate entries\n- **Include baseline\u002Fknown failures** — report them with their failure types, but classify them separately from new regressions\n\n## Output Structure\n\nWrite reports under the session folder from the environment context, alongside the raw evidence, never\ninto the repository working tree:\n\n```text\n{session-folder}\u002Ffiles\u002Fci-failure-analysis\u002F\n├── ci-129315\u002F         ← scheduled build\n│   └── report.md\n└── pr-51202\u002F          ← PR build\n    └── report.md\n```\n\nRaw evidence stays where `fetch-vcpkg-ci-logs` placed it, in\n`{session-folder}\u002Ffiles\u002Fci-failure-logs\u002F`; reference those paths from the report instead of copying them.\n\n## Critical Rules\n\n- Do not fetch or download logs as part of this skill; use the acquisition skill first.\n- Scan step logs first because `FILE_CONFLICTS` may appear only there.\n- Check **both** baseline files\n- Never suggest `\u003C=` version constraints or `VCPKG_BUILD_TYPE release`\n- Clearly distinguish proven root causes from hypotheses and requests for additional diagnostics.\n","# vcpkg CI Failures Analyzer\n\n## Overview\n\nConsumes already-collected CI evidence, cross-references it with baselines, and produces a regression\nreport. If evidence has not yet been collected, invoke `fetch-vcpkg-ci-logs` first, then return to this\nworkflow. Do not duplicate its acquisition steps here.\n\n## MCP Tools\n\n| Tool | Purpose |\n|------|---------|\n| `github-mcp-server-get_file_contents` | Read baseline files |\n\n## Prerequisites\n\n- Local failed step logs and relevant extracted failure-log artifacts.\n- Build metadata and full Azure build URL.\n- For PR builds, PR metadata and full PR URL.\n\n## Evidence Acquisition\n\nWhen the required evidence is not already local, delegate acquisition to a subagent using\n`fetch-vcpkg-ci-logs`. Prefer a fast, low-cost model for this mechanical work. Ask\nthe subagent to return only the evidence inventory and local paths; keep regression analysis and report\ngeneration in the main agent.\n\nWhen the evidence is already available locally, proceed directly to analysis.\n\n## Workflow\n\n> **OUTPUT RULE**: This skill applies only when the user asked for triage or report output, so a `report.md`\n> is always required once it is selected. Write it as soon as step-log analysis completes, then enhance it\n> from artifacts. Your response MUST also contain the complete report content — not a summary.\n\n> **URL RULE**: Your response text (not just the report file) MUST include:\n> - For scheduled\u002Fmanual builds: the full Azure DevOps URL `https:\u002F\u002Fdev.azure.com\u002Fvcpkg\u002Fpublic\u002F_build\u002Fresults?buildId={buildId}`\n> - For PR builds: both the full PR URL `https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fpull\u002F{prNumber}` AND the Azure DevOps build URL\n\nBefore analysis, read `.\\.github\\skills\\shared\\azure-vcpkg-ci-notes.md`.\n\n### Phase 1: Analyze failed step logs\n\n1. **Inventory evidence** — Confirm the build metadata, failed step-log paths, artifact paths, and triplets\n   available from the acquisition step.\n2. **Scan step logs** — Extract every `REGRESSION:` line and retain exact failure type keywords:\n   `BUILD_FAILED`, `FILE_CONFLICTS`, `POST_BUILD_CHECKS_FAILED`, and\n   `CASCADED_DUE_TO_MISSING_DEPENDENCIES`. Capture 2-3 surrounding lines for context.\n3. **PR feature-test logs** — PR builds may not have `REGRESSION:` lines. Instead scan for `FAIL:`,\n   `failed with`, and feature-test `error:` lines. Capture verbatim:\n   - Compiler errors (missing headers, undefined symbols)\n   - Post-build check failures (file path issues, misplaced files)\n   - Version validation errors\n   - Platform-specific feature guard messages\n\n   Report each feature failure individually. Dependency ports that fail get their own entry.\n4. **Version validation** — Inspect the `\"Validate version files\"` evidence for version database errors.\n5. **Write report immediately** — Generate and save `report.md` using the step-log evidence.\n\n### Phase 2: Analyze artifacts and enhance\n\n6. **Analyze artifacts** — Read relevant `stdout-{triplet}.log` tails and supporting logs. Classify per\n   [references\u002Fvcpkg-failure-patterns.md](references\u002Fvcpkg-failure-patterns.md).\n7. **Baselines** — Check both `ci.baseline.txt` and `ci.feature.baseline.txt`.\n8. **Enhance report** — Add root causes, downstream impact, and actionable recommendations supported by\n   the evidence.\n\n### Report Requirements\n\nFormat per [references\u002Freport-template.md](references\u002Freport-template.md):\n- Full build URL: `[{buildNumber}](https:\u002F\u002Fdev.azure.com\u002Fvcpkg\u002Fpublic\u002F_build\u002Fresults?buildId={buildId})`\n- For PRs: `[#{prNumber}](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fpull\u002F{prNumber})`\n- List **every** triplet by full name (e.g., `x64-windows`, `arm64-linux`) — never \"N triplets\". Only include triplets that actually had failures for this specific build.\n- Use **exact** failure type keywords from logs: `BUILD_FAILED`, `POST_BUILD_CHECKS_FAILED`, `FILE_CONFLICTS`, `CASCADED_DUE_TO_MISSING_DEPENDENCIES` — never paraphrase\n- Include error messages verbatim — quote the exact text from logs for compiler errors, path issues, and validation failures\n- Dependency ports' failures as separate entries\n- **Include baseline\u002Fknown failures** — report them with their failure types, but classify them separately from new regressions\n\n## Output Structure\n\nWrite reports under the session folder from the environment context, alongside the raw evidence, never\ninto the repository working tree:\n\n```text\n{session-folder}\u002Ffiles\u002Fci-failure-analysis\u002F\n├── ci-129315\u002F         ← scheduled build\n│   └── report.md\n└── pr-51202\u002F          ← PR build\n    └── report.md\n```\n\nRaw evidence stays where `fetch-vcpkg-ci-logs` placed it, in\n`{session-folder}\u002Ffiles\u002Fci-failure-logs\u002F`; reference those paths from the report instead of copying them.\n\n## Critical Rules\n\n- Do not fetch or download logs as part of this skill; use the acquisition skill first.\n- Scan step logs first because `FILE_CONFLICTS` may appear only there.\n- Check **both** baseline files\n- Never suggest `\u003C=` version constraints or `VCPKG_BUILD_TYPE release`\n- Clearly distinguish proven root causes from hypotheses and requests for additional diagnostics.\n",{"name":5,"metadata":51,"description":53,"disable-model-invocation":54},{"version":52},1786665600000,"Analyze collected vcpkg CI failure evidence, classify regressions and known failures, identify root causes, recommend actions, and generate a report by package and triplet.\nUSE FOR: explicit requests for CI regression triage, a failure inventory, baseline classification, action recommendations, or a formal CI failure report.\nDO NOT USE FOR: fetching logs as the final output, targeted debugging of one failure, answering a one-off question about logs the user pasted or pointed at, general coding, creating ports, or modifying portfiles. When requested analysis lacks local evidence, run fetch-vcpkg-ci-logs as the acquisition stage first.\n**ANALYSIS SKILL** USES: locally collected CI logs, vcpkg baselines, Azure DevOps metadata.\n",true,"master","9a5dfef5d1a0438a7d24856a85bd60f309d355e9",".github\u002Fskills\u002Fanalyze-ci-failures",7798,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-12 03:17:53",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":54},[66,69,72],{"tool":67,"command":68},"npx","npx skills add microsoft\u002Fvcpkg --skill analyze-ci-failures",{"tool":70,"command":71},"bunx","bunx skills add microsoft\u002Fvcpkg --skill analyze-ci-failures",{"tool":73,"command":74},"pnpm","pnpm dlx skills add microsoft\u002Fvcpkg --skill analyze-ci-failures","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fanalyze-ci-failures\u002FSKILL.md",[77,83],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Freport-template.md","REFERENCE","参考文档",13595,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fanalyze-ci-failures\u002Freferences\u002Freport-template.md",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fvcpkg-failure-patterns.md",24513,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fanalyze-ci-failures\u002Freferences\u002Fvcpkg-failure-patterns.md",[88,113,124,145,160,181],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":46},"01M69B6M5Z84YRH3JTD7MA4RNB","review-vcpkg-prs-today","Review open non-draft microsoft\u002Fvcpkg pull requests updated in the last 30 days. Use when asked for batch triage, per-PR review reports, an index grouped by verdict, or grouping competing PRs that modify the same port.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Freview-vcpkg-prs-today\u002FSKILL.md",[],[95,37,96,97,39,9,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,30],"review","review vcpkg prs today","prs","pull requests","pr review","pr","pull","batch","open","use","reports","grouping","draft","verdict","port","last","true","for",{"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":46},"01M69B6HS26Q5D5G4S4KSQ4MMA","review-vcpkg-pr","Review a microsoft\u002Fvcpkg pull request end-to-end.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Freview-vcpkg-pr\u002FSKILL.md",[],[95,100,37,120,9,121,101,122,111,123],"review vcpkg pr","pull request","end","request",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":46},"01M69B6FKYTWZYW9NDTBNMGHX5","fix-reviewed-vcpkg-pr","Address findings in an existing report produced by review-vcpkg-pr or review-vcpkg-prs-today, then push fixes for the user to submit to the contributor. Use only for follow-up fixes to those reviews, including batches. Do not use for generic bug fixes, issue resolution, or PRs without an existing review report. Never open a PR.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Ffix-reviewed-vcpkg-pr\u002FSKILL.md",[],[100,37,131,132,95,133,103,104,134,135,136,137,138,139,112,140,141,142,97,143,144],"fix reviewed vcpkg pr","fix","push","never","only","up","do","submit","reviews","fixes","Existing","review report","contributor","generic",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":46},"01M69B6D358PXX6B15701K4G2Y","fetch-vcpkg-ci-logs","Fetch vcpkg Azure DevOps metadata, failed-step logs, and selected artifacts. Use for acquiring CI evidence, not diagnosing or reporting regressions; use analyze-ci-failures for those tasks. Skip when supplied logs are sufficient.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Ffetch-vcpkg-ci-logs\u002FSKILL.md",[],[37,152,44,26,34,32,29,42,153,154,155,156,24,104,157,158,112,30,159],"fetch vcpkg ci logs","tasks","artifacts","metadata","reporting","devops","evidence","2026",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":46},"01M69B6ABGAKDJYC1MPKGZ9CCJ","evaluate-new-port","Audit a vcpkg port locally. Reads the port metadata and build recipe, installs the port, inspects extracted sources and installed files, and produces a report covering license risks, vendored code, optional dependencies, and other port review suggestions.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fevaluate-new-port\u002FSKILL.md",[],[167,109,168,169,95,37,170,171,172,155,173,174,175,176,177,178,179,180],"evaluate new port","evaluate","new","code","report","license","audit","files","build","dependencies","name","recipe","sources","port review",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":195,"publishedAt":46},"01M69B67FGSCYXN7XK725CBF8Q","code-review","Review microsoft\u002Fvcpkg pull requests in GitHub Copilot code review. Check port correctness, packaging, dependencies, licenses, and consumer integration; validate examples when the review time budget permits.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fvcpkg\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fcode-review\u002FSKILL.md",[187,190],{"categoryNo":188,"categoryName":189,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":191,"categoryName":192,"taxonomyType":193,"taxonomyTypeDesc":194},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[196,95,170,197,9,98,198,199,200,37,101,201,202,203,204,176,205,109,206,207,30],"code review","github","github copilot","validate","copilot","examples","integration","check","packaging","time","correctness","requests"]