mcpbeat Sign in

Cost Optimization Agent Skill

Analyze Azure architectures for cost optimization opportunities, provide savings recommendations, and calculate ROI for improvements.

3k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
192
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/thomast1906/github-copilot-agent-skills --skill cost-optimization

The instruction itself

16 sections, as written by the author

Cost Optimization Skill

Analyze Azure costs and identify optimization opportunities across compute, storage, networking, and data services. Provide actionable recommendations with savings estimates.

When to Use

  • Review architecture costs and identify waste
  • Optimize existing Azure deployments
  • Right-size over-provisioned resources
  • Implement reserved instances and savings plans
  • Set up cost monitoring and alerts
  • Reduce monthly Azure bills

Cost Optimization Categories

1. Right-Sizing

Adjust resource SKUs to match actual usage patterns.

Target Resources:

  • Virtual Machines
  • App Service Plans
  • SQL Databases
  • Cosmos DB throughput
  • Azure Cache for Redis

Analysis Method:

  • Review 30-day metrics (CPU, memory, DTU utilization)
  • Identify resources with < 40% average utilization
  • Recommend smaller SKU or scaling adjustments

Typical Savings: 30-50%

2. Reserved Instances & Savings Plans

Commit to 1-year or 3-year terms for predictable workloads.

Eligible Services:

  • Virtual Machines
  • App Service Plans
  • Azure SQL Database
  • Cosmos DB
  • Azure Cache for Redis

Savings (typical ranges — always verify with the azure-pricing skill using price-type: Reservation):

  • 1-year: 20-40%
  • 3-year: 40-72%

When to Use: Workloads with consistent, predictable usage

To confirm exact RI rates: use tool_search_tool_regex with pattern pricing, then call the tool with price-type: Reservation and include-savings-plan: true for the specific SKU and region. Compare the returned retailPrice against the Consumption rate to calculate the actual saving percentage.

3. Auto-Scaling

Scale resources based on demand instead of static provisioning.

Applicable Services:

  • App Service
  • Virtual Machine Scale Sets
  • Container Apps
  • AKS node pools
  • Cosmos DB autoscale

Typical Savings: 20-40% (eliminates idle capacity during off-peak)

4. Storage Tiering

Move infrequently accessed data to cheaper storage tiers.

Blob Storage Tiers:

  • Hot: Frequent access (< 30 days old)
  • Cool: Infrequent access (30-90 days), 50% cheaper
  • Archive: Rare access (> 90 days), 90% cheaper

Implementation: Lifecycle management policies

Typical Savings: 50-90% on archived data

5. Eliminate Waste

Identify and remove unused resources.

Common Waste:

  • Unattached disks
  • Stopped (but not deallocated) VMs
  • Orphaned public IPs
  • Unused App Service Plans
  • Old snapshots and backups
  • Idle Load Balancers

Typical Savings: £200-2,000/month per environment

Cost Analysis Process

Step 0: Retrieve Live Pricing with Azure MCP Pricing Tool

Before estimating any costs, invoke the azure-pricing skill to fetch real retail prices.

First, use tool_search_tool_regex with pattern pricing to discover the exact tool name — do not hardcode it. Then call the tool with:

sku:      <ARM SKU e.g. Standard_D4ds_v5>
service:  <e.g. Virtual Machines, Azure Kubernetes Service>
region:   <ARM region slug e.g. uksouth, eastus>
currency: GBP
price-type: Consumption          # on-demand baseline
include-savings-plan: true       # returns 1yr/3yr rates in nested array

Then follow up with price-type: Reservation to retrieve exact reserved instance rates.

Monthly cost formula: hourly_price × 730

Important: The tool requires a specific SKU or service name — do not call it with only a broad category (e.g. "Virtual Machines"). Confirm the SKU before calling.

Build a three-column cost table per resource:

| Resource | Pay-as-you-go | 1-yr Reserved | 3-yr Reserved |

|----------|--------------|---------------|---------------|

| (data from pricing tool) | | | |

Step 1: Gather Current Costs

Extract cost data from Azure Cost Management:

  • Last 30-60 days of spending by resource
  • Group by resource type and resource group
  • Identify top 10 cost contributors

Step 2: Analyze Resource Utilization

For each major resource:

  • Compute: Average CPU, memory utilization
  • Database: DTU/vCore usage, storage growth
  • Storage: Access patterns, growth rate
  • Networking: Bandwidth usage, idle resources

Step 3: Identify Opportunities

Categorize findings:

  • Quick Wins: < 1 hour, immediate savings (delete unused resources)
  • Right-Sizing: < 1 day, 30-50% savings
  • Reserved Instances: < 1 hour setup, 1-3 year commitment
  • Architecture Changes: > 1 week, significant redesign

Step 4: Calculate ROI

For each recommendation:

  • Current monthly cost
  • Optimized monthly cost
  • Monthly savings
  • Implementation effort (hours)
  • Break-even time

Output Format

> Note: All cost figures in the template below are illustrative placeholders. Before populating any analysis, use the azure-pricing skill to retrieve actual retail prices per SKU and region (currency: GBP by default). Never copy heuristic amounts into a real recommendation — always fetch live prices.

# Cost Optimization Analysis
**Architecture**: [Name]
**Current Monthly Cost**: £X,XXX
**Optimized Monthly Cost**: £X,XXX
**Potential Savings**: £XXX/month (XX%)
**Annual Savings**: £X,XXX

---

## Executive Summary
[2-3 sentences on current spending, biggest opportunities, recommended priorities]

---

## Current Cost Breakdown

| Category | Monthly Cost | % of Total |
|----------|-------------|------------|
| Compute | £1,200 | 45% |
| Database | £800 | 30% |
| Storage | £300 | 11% |
| Networking | £250 | 9% |
| Monitoring | £150 | 5% |
| **Total** | **£2,700** | **100%** |

---

## Optimization Opportunities

### Priority 1: Quick Wins (< 1 day effort)

#### Opportunity #1: Delete Unattached Disks
**Current Cost**: £80/month
**Savings**: £80/month (100%)
**Effort**: 30 minutes
**Risk**: Low (verify not needed)
**Action**: 
1. Identify unattached disks: `az disk list --query "[?diskState=='Unattached']"`
2. Verify with team (ensure not needed)
3. Delete: `az disk delete --ids <disk-id>`

#### Opportunity #2: Stop Unused Dev/Test VMs After Hours
**Current Cost**: £500/month (VM running 24/7)
**Savings**: £300/month (60%)
**Effort**: 2 hours (automation script)
**Risk**: Low (dev environment)
**Action**: Auto-shutdown policy: 7 PM - 7 AM weekdays, all day weekends

---

### Priority 2: Right-Sizing (< 1 week effort)

#### Opportunity #3: Downsize App Service Plan
**Current**: P2v3 (2 cores, 8GB RAM) - Avg CPU: 20%, RAM: 35%
**Current Cost**: £292/month
**Recommended**: P1v3 (2 cores, 4GB RAM)
**Optimized Cost**: £146/month
**Savings**: £146/month (50%)
**Effort**: 4 hours (testing + validation)
**Risk**: Medium (test performance after change)
**Action**:
1. Validate scaling limits in lower SKU
2. Scale down during low-traffic window
3. Monitor performance for 48 hours
4. Rollback if issues detected

#### Opportunity #4: SQL Database DTU Optimization
**Current**: S3 (100 DTU) - Avg DTU: 35%
**Current Cost**: £300/month
**Recommended**: S1 (20 DTU) with auto-scaling to S2
**Optimized Cost**: £120/month (avg)
**Savings**: £180/month (60%)
**Effort**: 1 day (testing + validation)
**Risk**: Medium (requires performance testing)

---

### Priority 3: Commitment Savings (< 1 hour setup)

#### Opportunity #5: Reserved Instances for Production VMs
**Current**: 2x Standard_D4s_v3 VMs (pay-as-you-go)
**Current Cost**: £280/month per VM = £560/month
**Recommended**: 1-year reserved instance
**Optimized Cost**: £392/month (2 VMs)
**Savings**: £168/month (30%)
**Effort**: 30 minutes (purchase reservation)
**Risk**: Low (production VMs run continuously)
**Commitment**: 1 year

#### Opportunity #6: Azure SQL Reserved Capacity
**Current**: Pay-as-you-go
**Current Cost**: £300/month
**Recommended**: 1-year reserved capacity
**Optimized Cost**: £210/month
**Savings**: £90/month (30%)
**Effort**: 15 minutes
**Commitment**: 1 year

---

### Priority 4: Architecture Optimization (> 1 week)

#### Opportunity #7: Migrate to Serverless Cosmos DB
**Current**: Provisioned 1000 RU/s (24/7)
**Current Cost**: £58/month
**Recommended**: Serverless (pay-per-request)
**Optimized Cost**: £20/month (estimated based on usage patterns)
**Savings**: £38/month (65%)
**Effort**: 1 week (code changes + testing)
**Risk**: Medium (requires application changes)

#### Opportunity #8: Implement Storage Lifecycle Policies
**Current**: 2TB in Hot tier
**Current Cost**: £40/month
**Recommended**: Hot (30 days) → Cool (90 days) → Archive
**Optimized Cost**: £22/month
**Savings**: £18/month (45%)
**Effort**: 4 hours (policy setup)
**Risk**: Low (automated)

---

## Implementation Roadmap

### Month 1: Quick Wins
- Delete unattached disks [£80/month]
- Configure auto-shutdown for dev VMs [£300/month]
- **Month 1 Savings**: £380

### Month 2: Right-Sizing
- Downsize App Service Plan [£146/month]
- Optimize SQL Database DTU [£180/month]
- **Month 2 Savings**: £326

### Month 3: Commitment Savings
- Purchase VM Reserved Instances [£168/month]
- Purchase SQL Reserved Capacity [£90/month]
- **Month 3 Savings**: £258

### Months 4-6: Architecture Changes
- Migrate to Serverless Cosmos DB [£38/month]
- Implement Storage Lifecycle [£18/month]
- **Months 4-6 Savings**: £56

---

## Total Savings Summary

| Timeframe | Cumulative Monthly Savings | Annual Savings |
|-----------|---------------------------|----------------|
| Month 1 | £380 | £4,560 |
| Month 2 | £706 | £8,472 |
| Month 3 | £964 | £11,568 |
| Months 4-6 | £1,020/month | £12,240 |

**Final Optimized Cost**: £1,680/month (from £2,700)
**Total Annual Savings**: £12,240 (38% reduction)

---

## Cost Governance Recommendations

### 1. Set Up Budgets & Alerts
- Monthly budget: £1,800 (10% buffer)
- Alert at 50%, 80%, 90%, 100%
- Auto-notification to team leads

### 2. Tag Resources for Cost Allocation

Environment: Production | Staging | Development

CostCenter: IT-12345

Project: ProjectName

Owner: [email protected]


### 3. Regular Reviews
- Weekly: Review anomalies (via Cost Management)
- Monthly: Cost optimization review
- Quarterly: Reserved instance optimization

### 4. Enable Azure Advisor Recommendations
- Automatically flags optimization opportunities
- Cost, security, reliability, performance recommendations

---

## Conclusion
[Summary with total savings, timeline, and priorities]

Cost Optimization Best Practices

Start with Quick Wins: Delete unused resources first

Monitor Before Changing: 30-day metrics for right-sizing decisions

Test Performance: Validate after SKU changes

Use Automation: Auto-shutdown, lifecycle policies, auto-scaling

Set Budgets: Prevent surprise bills

Tag Everything: Enable cost allocation and tracking

Review Regularly: Monthly cost reviews catch drift

Document Decisions: Why resources are sized as they are

Avoid: Blind right-sizing, skipping performance validation, ignoring monitoring, missing reservations

Other skills for the same job

different authors, same section of the catalogue
Azure Kubernetes Automatic Readiness
by microsoft
vendor ×3

Assess Kubernetes workloads and cluster configuration for AKS Automatic compatibility. Identifies incompatibilities, generates fixes, and guides migration from AKS Standard to AKS Automatic. WHEN: migrate to AKS Automatic, check AKS Automatic readiness, validate manifests for Automatic, assess cluster for Automatic compatibility, fix deployment for Automatic compatibility, identify AKS Automatic migration blockers, is my cluster ready for AKS Automatic.

13k tokens
Capacity
by microsoft
vendor ×3

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.

6k tokens scripts
Customize
by microsoft
vendor ×3

Interactive guided deployment flow for Azure OpenAI models with full customization control. Step-by-step selection of model version, SKU (GlobalStandard/Standard/ProvisionedManaged), 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).

8k tokens
Deploy Model
by microsoft
vendor ×3

Unified Azure OpenAI model deployment skill with intelligent intent-based routing. Handles quick preset deployments, fully customized deployments (version/SKU/capacity/RAI policy), and capacity discovery across regions and projects. USE FOR: deploy model, deploy gpt, create deployment, model deployment, deploy openai model, set up model, provision model, find capacity, check model availability, where can I deploy, best region for model, capacity analysis. DO NOT USE FOR: listing existing deployments (use foundry_models_deployments_list MCP tool), deleting deployments, agent creation (use agent/create), project creation (use project/create).

26k tokens scripts
Preset
by microsoft
vendor ×3

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).

9k tokens
Lamindb
by christophacham
×3

This skill should be used when working with LaminDB, an open-source data framework for biology that makes data queryable, traceable, reproducible, and FAIR. Use when managing biological datasets (scRNA-seq, spatial, flow cytometry, etc.), tracking computational workflows, curating and validating data with biological ontologies, building data lakehouses, or ensuring data lineage and reproducibility in biological research. Covers data management, annotation, ontologies (genes, cell types, diseases, tissues), schema validation, integrations with workflow managers (Nextflow, Snakemake) and MLOps platforms (W&B, MLflow), and deployment strategies.

22k tokens
Latchbio Integration
by christophacham
×3

Latch platform for bioinformatics workflows. Build pipelines with Latch SDK, @workflow/@task decorators, deploy serverless workflows, LatchFile/LatchDir, Nextflow/Snakemake integration.

12k tokens
Modal
by christophacham
×3

Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.

17k tokens

How to use it

Copy the folder

Take thomast1906/cost-optimization from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.