[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AD7SA5YNX1HKC06B0JZWV0":3,"skill-same:01M6AD7SA5YNX1HKC06B0JZWV0":79},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6AD7SA5YNX1HKC06B0JZWV0","az-cost-optimize",null,"Analyze Azure resources used in the app (IaC files and\u002For resources in a target rg) and optimize costs - creating GitHub issues for identified optimizations.","github\u002Fawesome-copilot","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3PBDYPK7NVFJNJ66Y8RS",41081,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Faz-cost-optimize\u002FSKILL.md",[],[19,20,21,9,22,23,24,25,26,27,28,29,30,31],"az cost optimize","cost","optimize","azure","github issues","issues","analyze","iac","files","app","resources","rg","for","2026-11-10 10:12:30",false,"---\nname: az-cost-optimize\ndescription: 'Analyze Azure resources used in the app (IaC files and\u002For resources in a target rg) and optimize costs - creating GitHub issues for identified optimizations.'\n---\n\n# Azure Cost Optimize\n\nThis workflow analyzes Infrastructure-as-Code (IaC) files and Azure resources to generate cost optimization recommendations. It creates individual GitHub issues for each optimization opportunity plus one EPIC issue to coordinate implementation, enabling efficient tracking and execution of cost savings initiatives.\n\n## Prerequisites\n- Azure MCP server configured and authenticated\n- GitHub MCP server configured and authenticated  \n- Target GitHub repository identified\n- Azure resources deployed (IaC files optional but helpful)\n- Prefer Azure MCP tools (`azmcp-*`) over direct Azure CLI when available\n\n## Workflow Steps\n\n### Step 1: Get Azure Best Practices\n**Action**: Retrieve cost optimization best practices before analysis\n**Tools**: Azure MCP best practices tool\n**Process**:\n1. **Load Best Practices**:\n   - Execute `azmcp-bestpractices-get` to get some of the latest Azure optimization guidelines. This may not cover all scenarios but provides a foundation.\n   - Use these practices to inform subsequent analysis and recommendations as much as possible\n   - Reference best practices in optimization recommendations, either from the MCP tool output or general Azure documentation\n\n### Step 2: Discover Azure Infrastructure\n**Action**: Dynamically discover and analyze Azure resources and configurations\n**Tools**: Azure MCP tools + Azure CLI fallback + Local file system access\n**Process**:\n1. **Resource Discovery**:\n   - Execute `azmcp-subscription-list` to find available subscriptions\n   - Execute `azmcp-group-list --subscription \u003Csubscription-id>` to find resource groups\n   - Get a list of all resources in the relevant group(s):\n     - Use `az resource list --subscription \u003Cid> --resource-group \u003Cname>`\n   - For each resource type, use MCP tools first if possible, then CLI fallback:\n     - `azmcp-cosmos-account-list --subscription \u003Cid>` - Cosmos DB accounts\n     - `azmcp-storage-account-list --subscription \u003Cid>` - Storage accounts  \n     - `azmcp-monitor-workspace-list --subscription \u003Cid>` - Log Analytics workspaces\n     - `azmcp-keyvault-key-list` - Key Vaults\n     - `az webapp list` - Web Apps (fallback - no MCP tool available)\n     - `az appservice plan list` - App Service Plans (fallback)\n     - `az functionapp list` - Function Apps (fallback)\n     - `az sql server list` - SQL Servers (fallback)\n     - `az redis list` - Redis Cache (fallback)\n     - ... and so on for other resource types\n\n2. **IaC Detection**:\n   - Use `file_search` to scan for IaC files: \"**\u002F*.bicep\", \"**\u002F*.tf\", \"**\u002Fmain.json\", \"**\u002F*template*.json\"\n   - Parse resource definitions to understand intended configurations\n   - Compare against discovered resources to identify discrepancies\n   - Note presence of IaC files for implementation recommendations later on\n   - Do NOT use any other file from the repository, only IaC files. Using other files is NOT allowed as it is not a source of truth.\n   - If you do not find IaC files, then STOP and report no IaC files found to the user.\n\n3. **Configuration Analysis**:\n   - Extract current SKUs, tiers, and settings for each resource\n   - Identify resource relationships and dependencies\n   - Map resource utilization patterns where available\n\n### Step 3: Collect Usage Metrics & Validate Current Costs\n**Action**: Gather utilization data AND verify actual resource costs\n**Tools**: Azure MCP monitoring tools + Azure CLI\n**Process**:\n1. **Find Monitoring Sources**:\n   - Use `azmcp-monitor-workspace-list --subscription \u003Cid>` to find Log Analytics workspaces\n   - Use `azmcp-monitor-table-list --subscription \u003Cid> --workspace \u003Cname> --table-type \"CustomLog\"` to discover available data\n\n2. **Execute Usage Queries**:\n   - Use `azmcp-monitor-log-query` with these predefined queries:\n     - Query: \"recent\" for recent activity patterns\n     - Query: \"errors\" for error-level logs indicating issues\n   - For custom analysis, use KQL queries:\n   ```kql\n   \u002F\u002F CPU utilization for App Services\n   AppServiceAppLogs\n   | where TimeGenerated > ago(7d)\n   | summarize avg(CpuTime) by Resource, bin(TimeGenerated, 1h)\n   \n   \u002F\u002F Cosmos DB RU consumption  \n   AzureDiagnostics\n   | where ResourceProvider == \"MICROSOFT.DOCUMENTDB\"\n   | where TimeGenerated > ago(7d)\n   | summarize avg(RequestCharge) by Resource\n   \n   \u002F\u002F Storage account access patterns\n   StorageBlobLogs\n   | where TimeGenerated > ago(7d)\n   | summarize RequestCount=count() by AccountName, bin(TimeGenerated, 1d)\n   ```\n\n3. **Calculate Baseline Metrics**:\n   - CPU\u002FMemory utilization averages\n   - Database throughput patterns\n   - Storage access frequency\n   - Function execution rates\n\n4. **VALIDATE CURRENT COSTS**: \n   - Using the SKU\u002Ftier configurations discovered in Step 2\n   - Look up current Azure pricing at https:\u002F\u002Fazure.microsoft.com\u002Fpricing\u002F or use `az billing` commands\n   - Document: Resource → Current SKU → Estimated monthly cost\n   - Calculate realistic current monthly total before proceeding to recommendations\n\n### Step 4: Generate Cost Optimization Recommendations\n**Action**: Analyze resources to identify optimization opportunities\n**Tools**: Local analysis using collected data\n**Process**:\n1. **Apply Optimization Patterns** based on resource types found:\n   \n   **Compute Optimizations**:\n   - App Service Plans: Right-size based on CPU\u002Fmemory usage\n   - Function Apps: Premium → Consumption plan for low usage\n   - Virtual Machines: Scale down oversized instances\n   \n   **Database Optimizations**:\n   - Cosmos DB: \n     - Provisioned → Serverless for variable workloads\n     - Right-size RU\u002Fs based on actual usage\n   - SQL Database: Right-size service tiers based on DTU usage\n   \n   **Storage Optimizations**:\n   - Implement lifecycle policies (Hot → Cool → Archive)\n   - Consolidate redundant storage accounts\n   - Right-size storage tiers based on access patterns\n   \n   **Infrastructure Optimizations**:\n   - Remove unused\u002Fredundant resources\n   - Implement auto-scaling where beneficial\n   - Schedule non-production environments\n\n2. **Calculate Evidence-Based Savings**: \n   - Current validated cost → Target cost = Savings\n   - Document pricing source for both current and target configurations\n\n3. **Calculate Priority Score** for each recommendation:\n   ```\n   Priority Score = (Value Score × Monthly Savings) \u002F (Risk Score × Implementation Days)\n   \n   High Priority: Score > 20\n   Medium Priority: Score 5-20\n   Low Priority: Score \u003C 5\n   ```\n\n4. **Validate Recommendations**:\n   - Ensure Azure CLI commands are accurate\n   - Verify estimated savings calculations\n   - Assess implementation risks and prerequisites\n   - Ensure all savings calculations have supporting evidence\n\n### Step 5: User Confirmation\n**Action**: Present summary and get approval before creating GitHub issues\n**Process**:\n1. **Display Optimization Summary**:\n   ```\n   ? Azure Cost Optimization Summary\n   \n   ? Analysis Results:\n   • Total Resources Analyzed: X\n   • Current Monthly Cost: $X \n   • Potential Monthly Savings: $Y \n   • Optimization Opportunities: Z\n   • High Priority Items: N\n   \n   ? Recommendations:\n   1. [Resource]: [Current SKU] → [Target SKU] = $X\u002Fmonth savings - [Risk Level] | [Implementation Effort]\n   2. [Resource]: [Current Config] → [Target Config] = $Y\u002Fmonth savings - [Risk Level] | [Implementation Effort]\n   3. [Resource]: [Current Config] → [Target Config] = $Z\u002Fmonth savings - [Risk Level] | [Implementation Effort]\n   ... and so on\n   \n   ? This will create:\n   • Y individual GitHub issues (one per optimization)\n   • 1 EPIC issue to coordinate implementation\n   \n   ❓ Proceed with creating GitHub issues? (y\u002Fn)\n   ```\n\n2. **Wait for User Confirmation**: Only proceed if user confirms\n\n### Step 6: Create Individual Optimization Issues\n**Action**: Create separate GitHub issues for each optimization opportunity. Label them with \"cost-optimization\" (green color), \"azure\" (blue color).\n**MCP Tools Required**: `create_issue` for each recommendation\n**Process**:\n1. **Create Individual Issues** using this template:\n\n   **Title Format**: `[COST-OPT] [Resource Type] - [Brief Description] - $X\u002Fmonth savings`\n   \n   **Body Template**:\n   ```markdown\n   ## ? Cost Optimization: [Brief Title]\n   \n   **Monthly Savings**: $X | **Risk Level**: [Low\u002FMedium\u002FHigh] | **Implementation Effort**: X days\n   \n   ### ? Description\n   [Clear explanation of the optimization and why it's needed]\n   \n   ### ? Implementation\n   \n   **IaC Files Detected**: [Yes\u002FNo - based on file_search results]\n   \n   ```bash\n   # If IaC files found: Show IaC modifications + deployment\n   # File: infrastructure\u002Fbicep\u002Fmodules\u002Fapp-service.bicep\n   # Change: sku.name: 'S3' → 'B2'\n   az deployment group create --resource-group [rg] --template-file infrastructure\u002Fbicep\u002Fmain.bicep\n   \n   # If no IaC files: Direct Azure CLI commands + warning\n   # ⚠️ No IaC files found. If they exist elsewhere, modify those instead.\n   az appservice plan update --name [plan] --sku B2\n   ```\n   \n   ### ? Evidence\n   - Current Configuration: [details]\n   - Usage Pattern: [evidence from monitoring data]\n   - Cost Impact: $X\u002Fmonth → $Y\u002Fmonth\n   - Best Practice Alignment: [reference to Azure best practices if applicable]\n   \n   ### ✅ Validation Steps\n   - [ ] Test in non-production environment\n   - [ ] Verify no performance degradation\n   - [ ] Confirm cost reduction in Azure Cost Management\n   - [ ] Update monitoring and alerts if needed\n   \n   ### ⚠️ Risks & Considerations\n   - [Risk 1 and mitigation]\n   - [Risk 2 and mitigation]\n   \n   **Priority Score**: X | **Value**: X\u002F10 | **Risk**: X\u002F10\n   ```\n\n### Step 7: Create EPIC Coordinating Issue\n**Action**: Create master issue to track all optimization work. Label it with \"cost-optimization\" (green color), \"azure\" (blue color), and \"epic\" (purple color).\n**MCP Tools Required**: `create_issue` for EPIC\n**Note about mermaid diagrams**: Ensure you verify mermaid syntax is correct and create the diagrams taking accessibility guidelines into account (styling, colors, etc.).\n**Process**:\n1. **Create EPIC Issue**:\n\n   **Title**: `[EPIC] Azure Cost Optimization Initiative - $X\u002Fmonth potential savings`\n   \n   **Body Template**:\n   ```markdown\n   # ? Azure Cost Optimization EPIC\n   \n   **Total Potential Savings**: $X\u002Fmonth | **Implementation Timeline**: X weeks\n   \n   ## ? Executive Summary\n   - **Resources Analyzed**: X\n   - **Optimization Opportunities**: Y  \n   - **Total Monthly Savings Potential**: $X\n   - **High Priority Items**: N\n   \n   ## ?️ Current Architecture Overview\n   \n   ```mermaid\n   graph TB\n       subgraph \"Resource Group: [name]\"\n           [Generated architecture diagram showing current resources and costs]\n       end\n   ```\n   \n   ## ? Implementation Tracking\n   \n   ### ? High Priority (Implement First)\n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   \n   ### ⚡ Medium Priority \n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   \n   ### ? Low Priority (Nice to Have)\n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   \n   ## ? Progress Tracking\n   - **Completed**: 0 of Y optimizations\n   - **Savings Realized**: $0 of $X\u002Fmonth\n   - **Implementation Status**: Not Started\n   \n   ## ? Success Criteria\n   - [ ] All high-priority optimizations implemented\n   - [ ] >80% of estimated savings realized\n   - [ ] No performance degradation observed\n   - [ ] Cost monitoring dashboard updated\n   \n   ## ? Notes\n   - Review and update this EPIC as issues are completed\n   - Monitor actual vs. estimated savings\n   - Consider scheduling regular cost optimization reviews\n   ```\n\n## Error Handling\n- **Cost Validation**: If savings estimates lack supporting evidence or seem inconsistent with Azure pricing, re-verify configurations and pricing sources before proceeding\n- **Azure Authentication Failure**: Provide manual Azure CLI setup steps\n- **No Resources Found**: Create informational issue about Azure resource deployment\n- **GitHub Creation Failure**: Output formatted recommendations to console\n- **Insufficient Usage Data**: Note limitations and provide configuration-based recommendations only\n\n## Success Criteria\n- ✅ All cost estimates verified against actual resource configurations and Azure pricing\n- ✅ Individual issues created for each optimization (trackable and assignable)\n- ✅ EPIC issue provides comprehensive coordination and tracking\n- ✅ All recommendations include specific, executable Azure CLI commands\n- ✅ Priority scoring enables ROI-focused implementation\n- ✅ Architecture diagram accurately represents current state\n- ✅ User confirmation prevents unwanted issue creation\n","# Azure Cost Optimize\n\nThis workflow analyzes Infrastructure-as-Code (IaC) files and Azure resources to generate cost optimization recommendations. It creates individual GitHub issues for each optimization opportunity plus one EPIC issue to coordinate implementation, enabling efficient tracking and execution of cost savings initiatives.\n\n## Prerequisites\n- Azure MCP server configured and authenticated\n- GitHub MCP server configured and authenticated  \n- Target GitHub repository identified\n- Azure resources deployed (IaC files optional but helpful)\n- Prefer Azure MCP tools (`azmcp-*`) over direct Azure CLI when available\n\n## Workflow Steps\n\n### Step 1: Get Azure Best Practices\n**Action**: Retrieve cost optimization best practices before analysis\n**Tools**: Azure MCP best practices tool\n**Process**:\n1. **Load Best Practices**:\n   - Execute `azmcp-bestpractices-get` to get some of the latest Azure optimization guidelines. This may not cover all scenarios but provides a foundation.\n   - Use these practices to inform subsequent analysis and recommendations as much as possible\n   - Reference best practices in optimization recommendations, either from the MCP tool output or general Azure documentation\n\n### Step 2: Discover Azure Infrastructure\n**Action**: Dynamically discover and analyze Azure resources and configurations\n**Tools**: Azure MCP tools + Azure CLI fallback + Local file system access\n**Process**:\n1. **Resource Discovery**:\n   - Execute `azmcp-subscription-list` to find available subscriptions\n   - Execute `azmcp-group-list --subscription \u003Csubscription-id>` to find resource groups\n   - Get a list of all resources in the relevant group(s):\n     - Use `az resource list --subscription \u003Cid> --resource-group \u003Cname>`\n   - For each resource type, use MCP tools first if possible, then CLI fallback:\n     - `azmcp-cosmos-account-list --subscription \u003Cid>` - Cosmos DB accounts\n     - `azmcp-storage-account-list --subscription \u003Cid>` - Storage accounts  \n     - `azmcp-monitor-workspace-list --subscription \u003Cid>` - Log Analytics workspaces\n     - `azmcp-keyvault-key-list` - Key Vaults\n     - `az webapp list` - Web Apps (fallback - no MCP tool available)\n     - `az appservice plan list` - App Service Plans (fallback)\n     - `az functionapp list` - Function Apps (fallback)\n     - `az sql server list` - SQL Servers (fallback)\n     - `az redis list` - Redis Cache (fallback)\n     - ... and so on for other resource types\n\n2. **IaC Detection**:\n   - Use `file_search` to scan for IaC files: \"**\u002F*.bicep\", \"**\u002F*.tf\", \"**\u002Fmain.json\", \"**\u002F*template*.json\"\n   - Parse resource definitions to understand intended configurations\n   - Compare against discovered resources to identify discrepancies\n   - Note presence of IaC files for implementation recommendations later on\n   - Do NOT use any other file from the repository, only IaC files. Using other files is NOT allowed as it is not a source of truth.\n   - If you do not find IaC files, then STOP and report no IaC files found to the user.\n\n3. **Configuration Analysis**:\n   - Extract current SKUs, tiers, and settings for each resource\n   - Identify resource relationships and dependencies\n   - Map resource utilization patterns where available\n\n### Step 3: Collect Usage Metrics & Validate Current Costs\n**Action**: Gather utilization data AND verify actual resource costs\n**Tools**: Azure MCP monitoring tools + Azure CLI\n**Process**:\n1. **Find Monitoring Sources**:\n   - Use `azmcp-monitor-workspace-list --subscription \u003Cid>` to find Log Analytics workspaces\n   - Use `azmcp-monitor-table-list --subscription \u003Cid> --workspace \u003Cname> --table-type \"CustomLog\"` to discover available data\n\n2. **Execute Usage Queries**:\n   - Use `azmcp-monitor-log-query` with these predefined queries:\n     - Query: \"recent\" for recent activity patterns\n     - Query: \"errors\" for error-level logs indicating issues\n   - For custom analysis, use KQL queries:\n   ```kql\n   \u002F\u002F CPU utilization for App Services\n   AppServiceAppLogs\n   | where TimeGenerated > ago(7d)\n   | summarize avg(CpuTime) by Resource, bin(TimeGenerated, 1h)\n   \n   \u002F\u002F Cosmos DB RU consumption  \n   AzureDiagnostics\n   | where ResourceProvider == \"MICROSOFT.DOCUMENTDB\"\n   | where TimeGenerated > ago(7d)\n   | summarize avg(RequestCharge) by Resource\n   \n   \u002F\u002F Storage account access patterns\n   StorageBlobLogs\n   | where TimeGenerated > ago(7d)\n   | summarize RequestCount=count() by AccountName, bin(TimeGenerated, 1d)\n   ```\n\n3. **Calculate Baseline Metrics**:\n   - CPU\u002FMemory utilization averages\n   - Database throughput patterns\n   - Storage access frequency\n   - Function execution rates\n\n4. **VALIDATE CURRENT COSTS**: \n   - Using the SKU\u002Ftier configurations discovered in Step 2\n   - Look up current Azure pricing at https:\u002F\u002Fazure.microsoft.com\u002Fpricing\u002F or use `az billing` commands\n   - Document: Resource → Current SKU → Estimated monthly cost\n   - Calculate realistic current monthly total before proceeding to recommendations\n\n### Step 4: Generate Cost Optimization Recommendations\n**Action**: Analyze resources to identify optimization opportunities\n**Tools**: Local analysis using collected data\n**Process**:\n1. **Apply Optimization Patterns** based on resource types found:\n   \n   **Compute Optimizations**:\n   - App Service Plans: Right-size based on CPU\u002Fmemory usage\n   - Function Apps: Premium → Consumption plan for low usage\n   - Virtual Machines: Scale down oversized instances\n   \n   **Database Optimizations**:\n   - Cosmos DB: \n     - Provisioned → Serverless for variable workloads\n     - Right-size RU\u002Fs based on actual usage\n   - SQL Database: Right-size service tiers based on DTU usage\n   \n   **Storage Optimizations**:\n   - Implement lifecycle policies (Hot → Cool → Archive)\n   - Consolidate redundant storage accounts\n   - Right-size storage tiers based on access patterns\n   \n   **Infrastructure Optimizations**:\n   - Remove unused\u002Fredundant resources\n   - Implement auto-scaling where beneficial\n   - Schedule non-production environments\n\n2. **Calculate Evidence-Based Savings**: \n   - Current validated cost → Target cost = Savings\n   - Document pricing source for both current and target configurations\n\n3. **Calculate Priority Score** for each recommendation:\n   ```\n   Priority Score = (Value Score × Monthly Savings) \u002F (Risk Score × Implementation Days)\n   \n   High Priority: Score > 20\n   Medium Priority: Score 5-20\n   Low Priority: Score \u003C 5\n   ```\n\n4. **Validate Recommendations**:\n   - Ensure Azure CLI commands are accurate\n   - Verify estimated savings calculations\n   - Assess implementation risks and prerequisites\n   - Ensure all savings calculations have supporting evidence\n\n### Step 5: User Confirmation\n**Action**: Present summary and get approval before creating GitHub issues\n**Process**:\n1. **Display Optimization Summary**:\n   ```\n   ? Azure Cost Optimization Summary\n   \n   ? Analysis Results:\n   • Total Resources Analyzed: X\n   • Current Monthly Cost: $X \n   • Potential Monthly Savings: $Y \n   • Optimization Opportunities: Z\n   • High Priority Items: N\n   \n   ? Recommendations:\n   1. [Resource]: [Current SKU] → [Target SKU] = $X\u002Fmonth savings - [Risk Level] | [Implementation Effort]\n   2. [Resource]: [Current Config] → [Target Config] = $Y\u002Fmonth savings - [Risk Level] | [Implementation Effort]\n   3. [Resource]: [Current Config] → [Target Config] = $Z\u002Fmonth savings - [Risk Level] | [Implementation Effort]\n   ... and so on\n   \n   ? This will create:\n   • Y individual GitHub issues (one per optimization)\n   • 1 EPIC issue to coordinate implementation\n   \n   ❓ Proceed with creating GitHub issues? (y\u002Fn)\n   ```\n\n2. **Wait for User Confirmation**: Only proceed if user confirms\n\n### Step 6: Create Individual Optimization Issues\n**Action**: Create separate GitHub issues for each optimization opportunity. Label them with \"cost-optimization\" (green color), \"azure\" (blue color).\n**MCP Tools Required**: `create_issue` for each recommendation\n**Process**:\n1. **Create Individual Issues** using this template:\n\n   **Title Format**: `[COST-OPT] [Resource Type] - [Brief Description] - $X\u002Fmonth savings`\n   \n   **Body Template**:\n   ```markdown\n   ## ? Cost Optimization: [Brief Title]\n   \n   **Monthly Savings**: $X | **Risk Level**: [Low\u002FMedium\u002FHigh] | **Implementation Effort**: X days\n   \n   ### ? Description\n   [Clear explanation of the optimization and why it's needed]\n   \n   ### ? Implementation\n   \n   **IaC Files Detected**: [Yes\u002FNo - based on file_search results]\n   \n   ```bash\n   # If IaC files found: Show IaC modifications + deployment\n   # File: infrastructure\u002Fbicep\u002Fmodules\u002Fapp-service.bicep\n   # Change: sku.name: 'S3' → 'B2'\n   az deployment group create --resource-group [rg] --template-file infrastructure\u002Fbicep\u002Fmain.bicep\n   \n   # If no IaC files: Direct Azure CLI commands + warning\n   # ⚠️ No IaC files found. If they exist elsewhere, modify those instead.\n   az appservice plan update --name [plan] --sku B2\n   ```\n   \n   ### ? Evidence\n   - Current Configuration: [details]\n   - Usage Pattern: [evidence from monitoring data]\n   - Cost Impact: $X\u002Fmonth → $Y\u002Fmonth\n   - Best Practice Alignment: [reference to Azure best practices if applicable]\n   \n   ### ✅ Validation Steps\n   - [ ] Test in non-production environment\n   - [ ] Verify no performance degradation\n   - [ ] Confirm cost reduction in Azure Cost Management\n   - [ ] Update monitoring and alerts if needed\n   \n   ### ⚠️ Risks & Considerations\n   - [Risk 1 and mitigation]\n   - [Risk 2 and mitigation]\n   \n   **Priority Score**: X | **Value**: X\u002F10 | **Risk**: X\u002F10\n   ```\n\n### Step 7: Create EPIC Coordinating Issue\n**Action**: Create master issue to track all optimization work. Label it with \"cost-optimization\" (green color), \"azure\" (blue color), and \"epic\" (purple color).\n**MCP Tools Required**: `create_issue` for EPIC\n**Note about mermaid diagrams**: Ensure you verify mermaid syntax is correct and create the diagrams taking accessibility guidelines into account (styling, colors, etc.).\n**Process**:\n1. **Create EPIC Issue**:\n\n   **Title**: `[EPIC] Azure Cost Optimization Initiative - $X\u002Fmonth potential savings`\n   \n   **Body Template**:\n   ```markdown\n   # ? Azure Cost Optimization EPIC\n   \n   **Total Potential Savings**: $X\u002Fmonth | **Implementation Timeline**: X weeks\n   \n   ## ? Executive Summary\n   - **Resources Analyzed**: X\n   - **Optimization Opportunities**: Y  \n   - **Total Monthly Savings Potential**: $X\n   - **High Priority Items**: N\n   \n   ## ?️ Current Architecture Overview\n   \n   ```mermaid\n   graph TB\n       subgraph \"Resource Group: [name]\"\n           [Generated architecture diagram showing current resources and costs]\n       end\n   ```\n   \n   ## ? Implementation Tracking\n   \n   ### ? High Priority (Implement First)\n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   \n   ### ⚡ Medium Priority \n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   \n   ### ? Low Priority (Nice to Have)\n   - [ ] #[issue-number]: [Title] - $X\u002Fmonth savings\n   \n   ## ? Progress Tracking\n   - **Completed**: 0 of Y optimizations\n   - **Savings Realized**: $0 of $X\u002Fmonth\n   - **Implementation Status**: Not Started\n   \n   ## ? Success Criteria\n   - [ ] All high-priority optimizations implemented\n   - [ ] >80% of estimated savings realized\n   - [ ] No performance degradation observed\n   - [ ] Cost monitoring dashboard updated\n   \n   ## ? Notes\n   - Review and update this EPIC as issues are completed\n   - Monitor actual vs. estimated savings\n   - Consider scheduling regular cost optimization reviews\n   ```\n\n## Error Handling\n- **Cost Validation**: If savings estimates lack supporting evidence or seem inconsistent with Azure pricing, re-verify configurations and pricing sources before proceeding\n- **Azure Authentication Failure**: Provide manual Azure CLI setup steps\n- **No Resources Found**: Create informational issue about Azure resource deployment\n- **GitHub Creation Failure**: Output formatted recommendations to console\n- **Insufficient Usage Data**: Note limitations and provide configuration-based recommendations only\n\n## Success Criteria\n- ✅ All cost estimates verified against actual resource configurations and Azure pricing\n- ✅ Individual issues created for each optimization (trackable and assignable)\n- ✅ EPIC issue provides comprehensive coordination and tracking\n- ✅ All recommendations include specific, executable Azure CLI commands\n- ✅ Priority scoring enables ROI-focused implementation\n- ✅ Architecture diagram accurately represents current state\n- ✅ User confirmation prevents unwanted issue creation\n",{"name":5,"description":7},"main","5269f7ea2d6c3a9bfda5ed878b6726cf509121fd","skills\u002Faz-cost-optimize",5344,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot","https:\u002F\u002Fawesome-copilot.github.com\u002F","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-13 02:05:36",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add github\u002Fawesome-copilot --skill az-cost-optimize",{"tool":53,"command":54},"bunx","bunx skills add github\u002Fawesome-copilot --skill az-cost-optimize",{"tool":56,"command":57},"pnpm","pnpm dlx skills add github\u002Fawesome-copilot --skill az-cost-optimize","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Faz-cost-optimize\u002FSKILL.md",true,[61,67,71,75],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"scripts\u002Fcompare.mjs","SCRIPT","脚本",1383,"https:\u002F\u002Fgithub.com\u002Fhome-assistant\u002Fhome-assistant.io\u002Fblob\u002Fcurrent\u002F.claude\u002Fskills\u002Fcreate-astro-component\u002Fscripts\u002Fcompare.mjs",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"scripts\u002Fmeasure.mjs",1886,"https:\u002F\u002Fgithub.com\u002Fhome-assistant\u002Fhome-assistant.io\u002Fblob\u002Fcurrent\u002F.claude\u002Fskills\u002Fcreate-astro-component\u002Fscripts\u002Fmeasure.mjs",{"path":72,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":73,"sourceHtmlUrl":74},"scripts\u002Fplaywright.mjs",758,"https:\u002F\u002Fgithub.com\u002Fhome-assistant\u002Fhome-assistant.io\u002Fblob\u002Fcurrent\u002F.claude\u002Fskills\u002Fcreate-astro-component\u002Fscripts\u002Fplaywright.mjs",{"path":76,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":77,"sourceHtmlUrl":78},"scripts\u002Fscreenshot.mjs",1385,"https:\u002F\u002Fgithub.com\u002Fhome-assistant\u002Fhome-assistant.io\u002Fblob\u002Fcurrent\u002F.claude\u002Fskills\u002Fcreate-astro-component\u002Fscripts\u002Fscreenshot.mjs",[80,115,142,171,205,222],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":94,"publishedAt":32},"01M70KXZNX9ES38N2A8M58ZZMZ","supabase-rls-policies","Write, review, and test Supabase Row Level Security (RLS) policies so that one user cannot read or change another user's rows. Use when creating or changing tables, policies, views, or security definer functions in a Supabase project, when reviewing a migration that touches RLS, or when asked to prove user isolation with pgTAP tests that sign in as two users.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fsupabase-rls-policies\u002FSKILL.md",[86,91],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000023","Skill与智能体开发",[95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],"supabase","rls","supabase rls","supabase rls policies","project","when","review","change","read","write","security","isolation","tables","as","tests","prove","use","users","functions","with",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":122,"publishedAt":32},"01M70KWA5YWXDV6V8DZ19E3T2Y","skill-distribution-audit","Audit a skill collection before release or investigate installer omissions, archived\u002Ftemplate leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fskill-distribution-audit\u002FSKILL.md",[121],{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},[123,124,125,126,127,128,31,129,130,131,132,133,134,135,136,137,138,139,140,141],"distribution","skill distribution audit","audit","SET","deterministic","installer","discovery","comparison","helper","manifest","version","collection","drift","output","investigate","duplicate","template","release","reconcile",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":146,"sourceHtmlUrl":147,"categories":148,"keywords":154,"publishedAt":32},"01M70KCJPFVW7PPQ49CC5R8JGK","logicapps-custom-code-net10-migration","Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project\u002Fpackage configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FSKILL.md",[149],{"categoryNo":150,"categoryName":151,"taxonomyType":152,"taxonomyTypeDesc":153},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[155,156,157,158,159,160,31,99,161,162,163,22,164,165,166,111,167,168,169,170],"custom","code","logicapps custom code net10 migration","migration","projects","standalone","deployment","applications","local","worker","upgrades","package","apps","Legacy","debugging","workflows",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":175,"sourceHtmlUrl":176,"categories":177,"keywords":182,"publishedAt":32},"01M6AEBN37RQMXJ3298PEY7PG1","winmd-api-search","Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI\u002FML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FSKILL.md",[178,181],{"categoryNo":179,"categoryName":180,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":150,"categoryName":151,"taxonomyType":152,"taxonomyTypeDesc":153},[183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,100,198,199,200,201,202,31,203,204],"winmd api search","search","api","windows","desktop","file access","enumeration","ui","ml","file","networking","capabilities","notifications","explore","access","features","full","camera","events","platform","methods","controls",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":209,"licenseFileUrl":210,"sourceHtmlUrl":211,"categories":212,"keywords":218,"publishedAt":32},"01M6AE571R3SC1ZGE202B3NB5S","resemble-detect","Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FSKILL.md",[213,214,217],{"categoryNo":179,"categoryName":180,"taxonomyType":89,"taxonomyTypeDesc":90},{"categoryNo":215,"categoryName":216,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},[219,126,192,220,221],"resemble detect","https","identity",{"skillNo":223,"name":224,"nameZh":6,"description":225,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":209,"licenseFileUrl":226,"sourceHtmlUrl":227,"categories":228,"keywords":233,"publishedAt":32},"01M6AE30BSK2HCY4TQQ22Z8JRD","quality-playbook","Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches. Finds the 35% of real defects that structural code review alone cannot catch. Works with any language. Trigger on 'quality playbook', 'spec audit', 'Council of Three', 'fitness-to-purpose', or 'coverage theater'.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FSKILL.md",[229,232],{"categoryNo":230,"categoryName":231,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":92,"categoryName":93,"taxonomyType":89,"taxonomyTypeDesc":90},[234,235,236,237,156,101,9,125,238,239,220,240,241,242,243,244,245,246,247,248,249,250,109,251,252,253,254],"playbook","quality playbook","quality","code review","tdd","run","report","spec","bug report","council","engineering","functional","spec audit","bug","verified","multi-model","three","coverage","model","regression","structural"]