[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699STC7T7MPWHQXS1BM2KTD":3,"skill-same:01M699STC7T7MPWHQXS1BM2KTD":110},{"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":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M699STC7T7MPWHQXS1BM2KTD","analyze-comparison-tests",null,"Collects comparison test run artifacts and answers the user's questions based on the trajectories of each run. WHEN TO USE: collect comparison test artifacts","microsoft\u002FGitHub-Copilot-for-Azure","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M699SRDDGQCK3TYBF146AE4D",264,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fanalyze-comparison-tests\u002FSKILL.md",[],[19,20,21,22,23,9,24,25,26,27,28,29,30,31,32,33],"analyze comparison tests","analyze","tests","comparison","test","run","artifacts","collect","test run","user","use","trajectories","questions","when to use","when","2026-11-10 10:12:30",false,"---\nname: analyze-comparison-tests\ndescription: \"Collects comparison test run artifacts and answers the user's questions based on the trajectories of each run. WHEN TO USE: collect comparison test artifacts\"\nlicense: MIT\nmetadata:\n  author: Microsoft\n  version: \"1.0.0\"\n---\n\n# Steps\n\n1. Collect run artifacts\n\nExecute the collect-artifacts script to download the test run artifacts.\n\nThe user must provide an JSON file to correlate each comparison test run with the GitHub Actions run. The script expects one input argument as the path to this JSON file. The JSON input is supposed to be the JSON output when queuing the comparison test runs using the `npm run compare:run` command.\n\n```bash\ncd tests\u002F\nnpm run compare:collect -- input.json\n```\n\nThe collect-artifacts script will download the test run artifacts to a directory named `comparison-artifacts` in the current working directory. Before executing the script, check if there is already such an directory. If so, skip executing the script and proceed to step 2.\n\n2. Extract insights\n\nThe downloaded artifacts will have the following folder structure:\n\n```text\ncomparison-artifacts\u002F\n├── \u003Cbranch-name>\u002F\n│   ├── \u003Cstimulus-name-1>\u002F\n│   │   ├── \u003Cmodel>-with-skill\u002F\n│   │   │   ├── agent-metadata-\u003Cdate-string-1>.md\n│   │   │   ├── agent-metadata-\u003Cdate-string-2>.md\n│   │   │   └── ...\n│   │   └── \u003Cmodel>-without-skill\u002F\n│   │       ├── agent-metadata-\u003Cdate-string-1>.md\n│   │       ├── agent-metadata-\u003Cdate-string-2>.md\n│   │       └── ...\n│   └── \u003Cstimulus-name-2>\u002F\n│       ├── \u003Cmodel>-with-skill\u002F\n│       │   └── agent-metadata-*.md\n│       └── \u003Cmodel>-without-skill\u002F\n│           └── agent-metadata-*.md\n└── \u003Cbranch-name-2>\u002F\n    └── ...\n```\n\nEach `\u003Cbranch-name>\u002F\u003Cstimulus-name>\u002F\u003Cmodel>-with-skill` or `\u003Cbranch-name>\u002F\u003Cstimulus-name>\u002F\u003Cmodel>-without-skill` directory contains the test run trajectories for that stimulus and model on that branch, with or without skills. Each trajectory is a markdown file that records user prompts, tool call requests, tool execution results, assistant responses that happened during the run. It also contains statistics such as token usage and turns. Based on the trajectories, answer the user's questions for each test run. Generate a report following the [report-template](.\u002Freferences\u002Freport-template.md) to show your answers.\n","# Steps\n\n1. Collect run artifacts\n\nExecute the collect-artifacts script to download the test run artifacts.\n\nThe user must provide an JSON file to correlate each comparison test run with the GitHub Actions run. The script expects one input argument as the path to this JSON file. The JSON input is supposed to be the JSON output when queuing the comparison test runs using the `npm run compare:run` command.\n\n```bash\ncd tests\u002F\nnpm run compare:collect -- input.json\n```\n\nThe collect-artifacts script will download the test run artifacts to a directory named `comparison-artifacts` in the current working directory. Before executing the script, check if there is already such an directory. If so, skip executing the script and proceed to step 2.\n\n2. Extract insights\n\nThe downloaded artifacts will have the following folder structure:\n\n```text\ncomparison-artifacts\u002F\n├── \u003Cbranch-name>\u002F\n│   ├── \u003Cstimulus-name-1>\u002F\n│   │   ├── \u003Cmodel>-with-skill\u002F\n│   │   │   ├── agent-metadata-\u003Cdate-string-1>.md\n│   │   │   ├── agent-metadata-\u003Cdate-string-2>.md\n│   │   │   └── ...\n│   │   └── \u003Cmodel>-without-skill\u002F\n│   │       ├── agent-metadata-\u003Cdate-string-1>.md\n│   │       ├── agent-metadata-\u003Cdate-string-2>.md\n│   │       └── ...\n│   └── \u003Cstimulus-name-2>\u002F\n│       ├── \u003Cmodel>-with-skill\u002F\n│       │   └── agent-metadata-*.md\n│       └── \u003Cmodel>-without-skill\u002F\n│           └── agent-metadata-*.md\n└── \u003Cbranch-name-2>\u002F\n    └── ...\n```\n\nEach `\u003Cbranch-name>\u002F\u003Cstimulus-name>\u002F\u003Cmodel>-with-skill` or `\u003Cbranch-name>\u002F\u003Cstimulus-name>\u002F\u003Cmodel>-without-skill` directory contains the test run trajectories for that stimulus and model on that branch, with or without skills. Each trajectory is a markdown file that records user prompts, tool call requests, tool execution results, assistant responses that happened during the run. It also contains statistics such as token usage and turns. Based on the trajectories, answer the user's questions for each test run. Generate a report following the [report-template](.\u002Freferences\u002Freport-template.md) to show your answers.\n",{"name":5,"license":15,"metadata":39,"description":7},{"author":12,"version":40},"1.0.0","main","90929a087ad50fa0dd02fc396c9b8f721ddced08",".github\u002Fskills\u002Fanalyze-comparison-tests",226,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-12 15:22:56",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add microsoft\u002FGitHub-Copilot-for-Azure --skill analyze-comparison-tests",{"tool":56,"command":57},"bunx","bunx skills add microsoft\u002FGitHub-Copilot-for-Azure --skill analyze-comparison-tests",{"tool":59,"command":60},"pnpm","pnpm dlx skills add microsoft\u002FGitHub-Copilot-for-Azure --skill analyze-comparison-tests","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fanalyze-comparison-tests\u002FSKILL.md",true,[64,70,76,80,84,88,92,98,102,106],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"LICENSE.txt","LICENSE","许可证",11345,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002FLICENSE.txt",{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"reference\u002Fevaluation.md","REFERENCE","参考文档",21663,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002Freference\u002Fevaluation.md",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"reference\u002Fmcp_best_practices.md",7330,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002Freference\u002Fmcp_best_practices.md",{"path":81,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":82,"sourceHtmlUrl":83},"reference\u002Fnode_mcp_server.md",28550,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002Freference\u002Fnode_mcp_server.md",{"path":85,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":86,"sourceHtmlUrl":87},"reference\u002Fpython_mcp_server.md",25099,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002Freference\u002Fpython_mcp_server.md",{"path":89,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Freport-template.md",217,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fanalyze-comparison-tests\u002Freferences\u002Freport-template.md",{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"scripts\u002Fconnections.py","SCRIPT","脚本",4875,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002Fscripts\u002Fconnections.py",{"path":99,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":100,"sourceHtmlUrl":101},"scripts\u002Fevaluation.py",12579,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002Fscripts\u002Fevaluation.py",{"path":103,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":104,"sourceHtmlUrl":105},"scripts\u002Fexample_evaluation.xml",1194,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002Fscripts\u002Fexample_evaluation.xml",{"path":107,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":108,"sourceHtmlUrl":109},"scripts\u002Frequirements.txt",29,"https:\u002F\u002Fgithub.com\u002FKarryViber\u002FOrb\u002Fblob\u002Fmain\u002Fprofiles\u002F.claude\u002Fskills\u002Fmcp-builder\u002Fscripts\u002Frequirements.txt",[111,134,166,191,216,238],{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":34},"01M7153X40NMFY8DV2ATNDW060","azure-advisor-cost-optimization","Analyze Azure Advisor Cost\u002FIdleResources findings and prevalidate deletion safety, including Service Groups. WHEN: \"find unused Azure resources\", \"what resources am I paying for but no longer using\", \"idle-resource savings\", \"historical idle-resource savings\", \"are these idle resources safe to delete\". Generic Cost, other subcategories, and cross-category requests use azure-advisor.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002Fplugins\u002Fazure-advisor\u002Fskills\u002Fazure-advisor-cost-optimization\u002FSKILL.md",[],[118,119,120,121,122,123,124,125,126,127,128,129,29,33,20,130,131,132,133,9],"azure advisor","Optimization","cost optimization","azure","cost","advisor","azure advisor cost optimization","resources","generic","for","deletion","unused","placeholder","delete","requests","find",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":145,"publishedAt":34},"01M699ZWKYS4MRFW0KQM1FFCJK","foundry-iq","Foundry IQ knowledge bases. WHEN: make local or Blob documents searchable; create\u002Fdiagnose KBs; triage unsupported connectors or multi-source KB creation\u002Freconfiguration (even with classic-search terms); connect existing KB to agents (including multi-source KBs); create\u002Freuse a Search service; retrieve from an existing knowledge base with citations; no brand words needed. Read its procedure before query\u002Ftarget questions. NOT: other KB providers, repository-file search, classic Azure AI Search index\u002Fquery\u002Fapp work with no Foundry IQ KB or connector request, generic agent creation.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002Fplugins\u002Ffoundry-iq-skills\u002Fskills\u002Ffoundry-iq\u002FSKILL.md",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[146,147,130,148,149,9,150,151,152,153,154,126,155,156,157,158,121,159,160,161,162,163,164,33,165],"foundry","foundry iq","triage","azure ai","connectors","app","Citations","brand","kb","creation","diagnose","search","local","reuse","knowledge","foundry iq knowledge bases","connect","Existing","documents","query",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":175,"publishedAt":34},"01M699ZT26E2D0VTWFZBBGJHMG","python-appservice-deploy","Deploy Python (Flask\u002FDjango\u002FFastAPI) code to Azure App Service Linux. WHEN: \"Flask App Service\", \"Django App Service\", \"FastAPI App Service\", \"deploy Python to App Service\". DO NOT USE FOR: Container Apps, Functions, non-Python, Terraform\u002FBicep\u002FIaC, full infra — use azure-prepare.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fpython-appservice-deploy\u002FSKILL.md",[172],{"categoryNo":173,"categoryName":174,"taxonomyType":143,"taxonomyTypeDesc":144},"01JBSEEDCAT000000000000011","运维与部署",[176,177,178,130,179,180,151,181,182,127,183,121,184,185,186,29,187,188,189,190,33],"python appservice deploy","deploy","python","linux","infra","do","django","azure app service","container","iac","fastapi","apps","code","functions","fastapi app",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":199,"publishedAt":34},"01M699ZR83J83TATQZKXHPXPF7","preset","Intelligently deploys Azure OpenAI models to optimal regions by analyzing capacity across all available regions. Automatically checks current region first and shows alternatives if needed. USE FOR: quick deployment, optimal region, best region, automatic region selection, fast setup, multi-region capacity check, high availability deployment, deploy to best location. DO NOT USE FOR: custom SKU selection (use customize), specific version selection (use customize), custom capacity configuration (use customize), PTU deployments (use customize).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002Fpreset\u002FSKILL.md",[197,198],{"categoryNo":173,"categoryName":174,"taxonomyType":143,"taxonomyTypeDesc":144},{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},[193,177,200,9,201,202,181,203,204,127,205,206,207,121,208,209,210,29,211,212,213,214,215],"setup","capacity","customize","quick","availability","deployment","alternatives","selection","custom","deployments","high availability","version","across","check","multi","first",{"skillNo":217,"name":202,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":222,"publishedAt":34},"01M699ZPM2ZHC9VXG582DY4268","Interactive guided deployment flow for Azure OpenAI models with full customization control. Step-by-step selection of model version, SKU (GlobalStandard\u002FStandard\u002FProvisionedManaged), capacity, RAI policy (content filter), and advanced options (dynamic quota, priority processing, spillover). USE FOR: custom deployment, customize model deployment, choose version, select SKU, set capacity, configure content filter, RAI policy, deployment options, detailed deployment, advanced deployment, PTU deployment, provisioned throughput. DO NOT USE FOR: quick deployment to optimal region (use preset).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002Fcustomize\u002FSKILL.md",[221],{"categoryNo":141,"categoryName":142,"taxonomyType":143,"taxonomyTypeDesc":144},[202,193,9,201,223,224,203,225,226,227,228,229,207,230,231,232,233,234,235,236,237,181,127,205],"policy","SET","processing","advanced","model","select","choose","configure","filter","azure openai","options","flow","openai","throughput","full",{"skillNo":239,"name":201,"nameZh":6,"description":240,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":241,"categories":242,"keywords":243,"publishedAt":34},"01M699ZMCK9T4EM6NASDB940R7","Discovers available Azure OpenAI model capacity across regions and projects. Analyzes quota limits, compares availability, and recommends optimal deployment locations based on capacity requirements. USE FOR: find capacity, check quota, where can I deploy, capacity discovery, best region for capacity, multi-project capacity search, quota analysis, model availability, region comparison, check TPM availability. DO NOT USE FOR: actual deployment (hand off to preset or customize after discovery), quota increase requests (direct user to Azure Portal), listing existing deployments.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FGitHub-Copilot-for-Azure\u002Fblob\u002Fmain\u002Fplugins\u002Fazure-skills\u002Fskills\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002Fcapacity\u002FSKILL.md",[],[201,193,177,9,202,244,227,245,157,246,247,248,212,232,249,250,235,251,252,181,204,127,253,205],"projects","project","analysis","listing","hand","limits","azure portal","direct","TPM","discovery"]