[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699Z3MN01MD7RAP8NCQAYC7":3,"skill-same:01M699Z3MN01MD7RAP8NCQAYC7":61},{"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":22,"linkOnly":23,"markdownContent":24,"markdownBody":24,"frontMatter":25,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M699Z3MN01MD7RAP8NCQAYC7","vm-performance-diagnostics",null,"microsoft\u002Fsre-agent","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M699YP84JQDX8CY79ZD1TTEF",187,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent\u002Fblob\u002Fmain\u002Flabs\u002Fvm-cosmosdb\u002Fskills\u002Fvm-performance-diagnostics\u002FSKILL.md",[],[18,19,20,21],"performance","vm performance diagnostics","diagnostics","vm","2026-11-10 10:12:30",false,"# VM Performance Diagnostics\n\nYou are an SRE Agent skill specialized in diagnosing and remediating VM performance issues for SAP workloads running on Azure VMs.\n\n## When to Use This Skill\n\nActivate this skill when:\n- A CPU or memory alert fires on a VM\n- A user reports slow application performance\n- A scheduled health check detects performance degradation\n- VM disk I\u002FO or network throughput anomalies are detected\n\n## Investigation Procedure\n\n### Step 1: Gather Current Metrics\n\nRun the following KQL query against the Log Analytics Workspace to get the current performance snapshot:\n\n```kql\nPerf\n| where TimeGenerated > ago(30m)\n| where Computer in (\"vm-sap-app-01\", \"vm-sap-db-01\")\n| where ObjectName == \"Processor\" and CounterName == \"% Processor Time\"\n    or ObjectName == \"Memory\" and CounterName == \"% Committed Bytes In Use\"\n    or ObjectName == \"LogicalDisk\" and CounterName == \"% Free Space\"\n| summarize AvgValue = avg(CounterValue), MaxValue = max(CounterValue) by Computer, ObjectName, CounterName\n| order by Computer asc, ObjectName asc\n```\n\n### Step 2: Check for Anomalies\n\nCompare against the baseline (last 7 days):\n\n```kql\nPerf\n| where TimeGenerated > ago(7d)\n| where Computer in (\"vm-sap-app-01\", \"vm-sap-db-01\")\n| where ObjectName == \"Processor\" and CounterName == \"% Processor Time\"\n| summarize\n    AvgCPU = avg(CounterValue),\n    P95CPU = percentile(CounterValue, 95),\n    MaxCPU = max(CounterValue)\n    by Computer, bin(TimeGenerated, 1h)\n| order by TimeGenerated desc\n```\n\n### Step 3: Identify Top Processes (if guest diagnostics available)\n\n```kql\nVMProcess\n| where TimeGenerated > ago(15m)\n| where Computer in (\"vm-sap-app-01\", \"vm-sap-db-01\")\n| summarize TotalCPU = sum(PercentProcessorTime) by Computer, ExecutableName\n| top 10 by TotalCPU desc\n```\n\n### Step 4: Check Recent Changes\n\nQuery Activity Logs for recent modifications:\n\n```kql\nAzureActivity\n| where TimeGenerated > ago(24h)\n| where ResourceGroup has \"vm-perf\"\n| where OperationNameValue has \"Microsoft.Compute\u002FvirtualMachines\"\n| project TimeGenerated, Caller, OperationNameValue, ActivityStatusValue\n| order by TimeGenerated desc\n```\n\n## Remediation Actions\n\n### For CPU Saturation\n1. **Identify and kill runaway process** (if obvious, e.g., stress test)\n   ```bash\n   az vm run-command invoke --resource-group {rg} --name {vm} \\\n     --command-id RunShellScript --scripts \"kill -9 $(pgrep stress)\"\n   ```\n2. **Restart VM** (if process not identifiable)\n   ```bash\n   az vm restart --resource-group {rg} --name {vm}\n   ```\n3. **Scale up VM** (if consistent high usage)\n   ```bash\n   az vm resize --resource-group {rg} --name {vm} --size Standard_B4ms\n   ```\n\n### For Memory Exhaustion\n1. **Identify memory-heavy processes** and report\n2. **Restart the application service** on the VM\n3. **Scale up** if persistent\n\n### For Disk I\u002FO Issues\n1. **Check disk queue length** and throughput\n2. **Recommend Premium SSD** upgrade if on Standard\n3. **Enable host caching** if not configured\n\n### For Network Issues\n1. **Check NSG rules** for blocks\n2. **Verify NIC effective routes**\n3. **Check DNS resolution**\n\n## Response Format\n\nWhen reporting findings, use this structure:\n\n```\n## VM Performance Report\n\n**VM:** {vmName}\n**Time:** {timestamp}\n**Severity:** {High\u002FMedium\u002FLow}\n\n### Current State\n| Metric | Current | Baseline (P95) | Status |\n|--------|---------|-----------------|--------|\n| CPU % | {val} | {baseline} | {OK\u002FWARNING\u002FCRITICAL} |\n| Memory % | {val} | {baseline} | {OK\u002FWARNING\u002FCRITICAL} |\n| Disk Free % | {val} | {baseline} | {OK\u002FWARNING\u002FCRITICAL} |\n\n### Root Cause Analysis\n{description of what's causing the issue}\n\n### Recommended Actions\n1. {action 1} — {impact}\n2. {action 2} — {impact}\n\n### Risk Assessment\n{what could go wrong if we remediate vs. if we don't}\n```\n\n## Safety Rules\n\n- **ALWAYS** require human approval before restarting a VM\n- **ALWAYS** require human approval before resizing a VM\n- **NEVER** delete a VM or its disks\n- **PREFER** least-disruptive actions first (kill process > restart service > restart VM > resize)\n- **DOCUMENT** every action taken with timestamp and outcome\n",{},"main","f3dccc6bae8c932ff4f21e6d4117e14285da4db3","labs\u002Fvm-cosmosdb\u002Fskills\u002Fvm-performance-diagnostics",192,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-10 10:20:55",{"source":7,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add microsoft\u002Fsre-agent --skill vm-performance-diagnostics",{"tool":41,"command":42},"bunx","bunx skills add microsoft\u002Fsre-agent --skill vm-performance-diagnostics",{"tool":44,"command":45},"pnpm","pnpm dlx skills add microsoft\u002Fsre-agent --skill vm-performance-diagnostics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent\u002Fblob\u002Fmain\u002Flabs\u002Fvm-cosmosdb\u002Fskills\u002Fvm-performance-diagnostics\u002FSKILL.md",true,[49,55],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"agents\u002Fopenai.yaml","REFERENCE","参考文档",326,"https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Faffaan-m_ECC\u002Fito-baskets\u002Fagents\u002Fopenai.yaml",{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},"scripts\u002Fito-baskets.js","SCRIPT","脚本",9956,"https:\u002F\u002Fgithub.com\u002Fmdnaimul22\u002Fhuman-skills\u002Fblob\u002Fmain\u002Fskills\u002Fstorage\u002Faffaan-m_ECC\u002Fito-baskets\u002Fscripts\u002Fito-baskets.js",[62,90,128,152,178,197],{"skillNo":63,"name":64,"nameZh":6,"description":65,"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":22},"01M699ZY06GBDPEYW1HEDRAVK8","zava-reporting","Use to package a completed Zava Learning incident analysis for the audience. First present a branded in-thread executive summary (markdown with the before\u002Fafter visuals inline), then produce the downloadable deliverables — a PowerPoint deck, an HTML email, and a Teams notification — using the Zava corporate template. The calling agent may narrow this to a subset (e.g. only the HTML report). Produces content and artifacts; it does not send them. Assembles the output of rca-analysis, evidence-before-after, recommendations-next-steps, and pr-delivery.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent\u002Fblob\u002Fmain\u002Flabs\u002Fzava-learning\u002Fsre-config\u002Fagent-config\u002Fskills\u002Fzava-reporting\u002FSKILL.md",[],[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89],"zava reporting","reporting","rca","visuals","powerpoint","executive summary","analysis","markdown","html report","template","html","only","evidence","before-after","next","delivery","incident","recommendations","present","inline","send",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":109,"publishedAt":22},"01M699ZWCMAF3M8P4A8P0VXEF7","zava-audit-report","Use to package a completed Zava Learning weekly governance audit (NSG \u002F network security, RBAC \u002F least-privilege, or cloud cost) into a single branded, downloadable PowerPoint deck in the Zava house style. The calling audit agent passes its findings (a list of rows with severity) and a short posture summary; this skill renders the deck, applies redaction, and returns the attachment download link. Produces the artifact; it does not send it.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent\u002Fblob\u002Fmain\u002Flabs\u002Fzava-learning\u002Fsre-config\u002Fagent-config\u002Fskills\u002Fzava-audit-report\u002FSKILL.md",[96,101,104],{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000003","演示文稿","SCENARIO","使用场景",{"categoryNo":102,"categoryName":103,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[110,111,112,113,114,115,116,73,117,118,119,120,121,122,123,124,125,126,89,127],"zava audit report","report","audit","audit report","security","network security","rbac","network","least-privilege","severity","learning","returns","short","list","deck","artifact","weekly","single",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":22},"01M699ZV3DK2HK74MMKABQBNC7","servicenow-change-management","Use whenever a Zava Learning investigation produces a durable fix that needs change management — after a GitHub PR is opened for an Infrastructure-as-Code or application code root cause, raise a ServiceNow Change Request referencing the PR and attach the RCA report. The single owner of ServiceNow Change Request and attachment operations.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent\u002Fblob\u002Fmain\u002Flabs\u002Fzava-learning\u002Fsre-config\u002Fagent-config\u002Fskills\u002Fservicenow-change-management\u002FSKILL.md",[],[135,136,137,138,139,140,71,141,142,143,120,144,145,146,147,148,149,150,127,151],"change","servicenow change management","servicenow","change management","management","github","pr","code","infrastructure-as-code","fix","use","attach","github pr","as","infrastructure-as","for","root cause",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":22},"01M699ZSQAYXNM5YXH35GQXG2E","redaction-guard","Use whenever you are about to emit operator-visible content — a chat\u002Fthread message, a PagerDuty or ServiceNow note, a commit message or pull-request body, or any report artifact (HTML, PowerPoint, Teams card). Deterministically masks secrets, credentials, tokens, private keys, URI-embedded passwords, and PII so they never appear in the thread or in any deliverable. This is a cross-cutting guardrail invoked by the output-producing skills, not a runbook step.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent\u002Fblob\u002Fmain\u002Flabs\u002Fzava-learning\u002Fsre-config\u002Fagent-config\u002Fskills\u002Fredaction-guard\u002FSKILL.md",[],[159,160,161,162,163,164,165,166,167,145,168,169,170,171,172,173,174,175,176,177],"redaction guard","guard","redaction","commit","teams","commit message","pull","runbook","pii","never","pagerduty","chat","tokens","guardrail","card","output","you","passwords","thread",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":184,"publishedAt":22},"01M699ZRHD3XNYX412M7613ACM","recommendations-next-steps","Use to produce the forward-looking recommendations and next steps for a Zava Learning incident — prioritized preventive, detective, and process actions with owners, target dates, and the risk of inaction. Its output is used in the zava-reporting deliverables.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent\u002Fblob\u002Fmain\u002Flabs\u002Fzava-learning\u002Fsre-config\u002Fagent-config\u002Fskills\u002Frecommendations-next-steps\u002FSKILL.md",[],[185,83,86,186,187,8,188,189,190,191,70,192,120,193,145,85,174,194,195,150,196],"recommendations next steps","next steps","docs","learn","produce","search","actions","risk","process","with","deliverables","dates",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":203,"publishedAt":22},"01M699ZQBV3ECBCA58WSBCJE54","rca-analysis","Use to produce the root-cause analysis narrative for a resolved or mitigated Zava Learning incident — the incident timeline, the trigger vs. latent root cause (5-Whys), contributing factors, and how to present them. Defines the RCA section format; its output is used in the before\u002Fafter, recommendations, and reporting deliverables.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fsre-agent\u002Fblob\u002Fmain\u002Flabs\u002Fzava-learning\u002Fsre-config\u002Fagent-config\u002Fskills\u002Frca-analysis\u002FSKILL.md",[],[71,204,75,189,205,206,120,207,145,208,85,86,209,210,211,174,195,150,212,151],"rca analysis","contributing","how","format","root-cause","trigger","how to","narrative","section"]