| name | finops-toolkit |
| description | This skill should be used when the user asks about "FinOps hubs", "FinOps toolkit", "KQL queries", "Kusto", "cost data analysis", "Hub database", "Costs function", "Prices function", "Recommendations function", "FinOps hubs deployment", "Azure Data Explorer", "ADX cluster", or any FinOps hubs operations. |
| license | MIT |
| compatibility | Requires Azure MCP Server and Azure CLI authentication. For queries, requires Database Viewer access to FinOps hub ADX cluster. |
| metadata | {"author":"microsoft","version":"1.0"} |
FinOps Toolkit
FinOps hubs are a scalable platform for cloud cost analytics, insights, and optimization built on Azure Data Explorer (Kusto) or Microsoft Fabric RTI. This skill covers KQL-based cost analysis and hub infrastructure deployment.
Task routing
Load only the references relevant to the task at hand.
Maintainer note: The references in this table intentionally use shorthand skill paths for readability. They are not a claim that the repo contains literal toolkit/..., focus/..., or bare .kql files next to SKILL.md.
The packaging flow copies src/templates/agent-skills/** into release/agent-skills and zips that content without rewriting paths (see src/scripts/Build-Toolkit.ps1 and src/scripts/Package-Toolkit.ps1). Resolve the shorthand in this table as follows:
toolkit/... → references/docs-mslearn/toolkit/...
focus/... → references/docs-mslearn/focus/...
- bare
.kql names → references/queries/catalog/...
references/... paths are already literal
Do not flag this table as a packaging bug again unless the packaging scripts change.
| Task | Load these references first |
|---|
| Write or run a KQL query | references/finops-hubs.md, references/queries/finops-hub-database-guide.md |
| Use a pre-built query | references/queries/INDEX.md, then the specific .kql file |
| Deploy a new hub | references/finops-hubs-deployment.md, toolkit/hubs/deploy.md, toolkit/hubs/template.md |
| Upgrade a hub | references/finops-hubs-deployment.md, toolkit/hubs/upgrade.md, toolkit/hubs/compatibility.md |
| Savings / ESR analysis | toolkit/hubs/savings-calculations.md, savings-summary-report.kql, commitment-discount-utilization.kql |
| Reservation recommendations | reservation-recommendation-breakdown.kql, toolkit/hubs/savings-calculations.md |
| FOCUS columns / mapping | focus/what-is-focus.md, focus/mapping.md |
| Power BI setup | toolkit/power-bi/setup.md, toolkit/power-bi/connector.md |
| Troubleshooting / errors | toolkit/help/troubleshooting.md, toolkit/help/errors.md |
| PowerShell commands | toolkit/powershell/powershell-commands.md + the specific command file |
| Connect to hub for first time | references/workflows/ftk-hubs-connect.md, references/settings-format.md |
| Check hub health / version | references/workflows/ftk-hubs-healthCheck.md, toolkit/hubs/compatibility.md |
Database functions
The Hub database exposes four analytic functions. Always use the Hub database — never Ingestion.
| Function | Purpose | Key columns |
|---|
Costs() | Cost and usage analytics (FOCUS-aligned) | BilledCost, EffectiveCost, ContractedCost, ListCost, ServiceName, ResourceName, Tags |
Prices() | Price sheets with list, contracted, and effective pricing | ListUnitPrice, ContractedUnitPrice, x_EffectiveUnitPrice, PricingUnit |
Recommendations() | Reservation and savings plan recommendations | x_EffectiveCostBefore, x_EffectiveCostAfter, x_EffectiveCostSavings |
Transactions() | Commitment purchases, refunds, and exchanges | BilledCost, ChargeCategory, x_SkuTerm, x_TransactionType |
Columns prefixed with x_ are toolkit enrichments added during ingestion (e.g., x_ResourceGroupName, x_CommitmentDiscountSavings, x_TotalSavings). Full column definitions: references/queries/finops-hub-database-guide.md.
Query execution
- Uses KQL (Kusto), not SQL
- Default analysis window: 30 days
- Always include
tenant — cross-tenant (B2B) scenarios fail without it
Environment settings are read from .ftk/environments.local.md at the project root. Use the default environment unless the user specifies one. See references/settings-format.md for the file format.
{
"cluster-uri": "<cluster-uri from .ftk/environments.local.md>",
"database": "Hub",
"tenant": "<tenant from .ftk/environments.local.md>",
"query": "<KQL query>"
}
Query catalog
Check the catalog before writing custom KQL. Read the .kql file, substitute parameters, then execute. See references/queries/INDEX.md for the full scenario-to-query matrix.
| Query | Description |
|---|
| costs-enriched-base.kql | Base query with full enrichment and savings logic for all cost columns. Start here for custom analytics. |
| monthly-cost-trend.kql | Total billed and effective cost by month for trend analysis and executive reporting. |
| monthly-cost-change-percentage.kql | Month-over-month cost change percentage for both billed and effective costs. |
| top-services-by-cost.kql | Top N Azure services by cost. Key for cost visibility. |
| top-resource-types-by-cost.kql | Top N resource types by cost and usage (VMs, storage, etc.). |
| top-resource-groups-by-cost.kql | Top N resource groups by effective cost. |
| quarterly-cost-by-resource-group.kql | Effective cost by resource group for quarterly or multi-month reporting. |
| cost-by-region-trend.kql | Effective cost by Azure region for regional cost driver analysis. |
| cost-by-financial-hierarchy.kql | Cost allocation by billing profile, invoice section, team, product, and app for showback/chargeback. |
| cost-anomaly-detection.kql | Detect unusual cost spikes or drops using statistical anomaly detection. |
| cost-forecasting-model.kql | Project future costs for budgeting and planning with configurable forecast horizon. |
| service-price-benchmarking.kql | Compare list, contracted, effective, negotiated, and commitment prices by service. |
| commitment-discount-utilization.kql | Reservation and savings plan utilization analysis for rate optimization. |
| savings-summary-report.kql | Total realized savings and Effective Savings Rate (ESR) KPI. |
| top-commitment-transactions.kql | Top N reservation or savings plan purchases by cost impact. |
| top-other-transactions.kql | Top N non-commitment, non-usage transactions (support, marketplace, etc.). |
| reservation-recommendation-breakdown.kql | Microsoft reservation recommendations with projected savings and break-even analysis. |
Infrastructure deployment
Deployment targets: Azure Data Explorer clusters, Microsoft Fabric workspaces, Cost Management exports, Power BI dashboards.
Key commands: az deployment, az kusto, az storage. PowerShell: Deploy-FinOpsHub.
Estimated cost: ~$120/mo + $10/mo per $1M in monitored spend.
For detailed documentation: references/finops-hubs-deployment.md
Reference files
| File | Description |
|---|
| references/finops-hubs.md | Analysis guide: KQL execution, query catalog protocol, tool matrix, performance rules. Read before any cost query. |
| references/finops-hubs-deployment.md | Deployment and configuration: ADX clusters, Fabric, Data Factory, exports, Key Vault, Power BI dashboards. |
| references/settings-format.md | Format specification for .ftk/environments.local.md — named environments with cluster-uri, tenant, subscription, and resource-group. |
| references/queries/INDEX.md | Query catalog with scenario-to-query matrix, parameter docs, and usage guidance for all 17 pre-built KQL queries. |
| references/queries/finops-hub-database-guide.md | Hub database schema: all four functions, column definitions, enrichment columns, and query best practices. Read before writing custom KQL. |
| references/workflows/ftk-hubs-connect.md | Workflow to discover FinOps hub instances via Resource Graph, connect, and save environment config. |
| references/workflows/ftk-hubs-healthCheck.md | Health check workflow: version comparison against stable/dev releases, upgrade guidance, and diagnostic steps. |
Microsoft Learn documentation
Official Microsoft documentation for FinOps and the FinOps toolkit. Source: learn.microsoft.com.
FinOps overview
FinOps Framework
Understand cloud usage and cost
Quantify business value
Optimize cloud usage and cost
Manage the FinOps practice
FOCUS
Cost optimization best practices
FinOps toolkit
FinOps hubs
Alerts
Bicep registry
Optimization engine
Power BI
Workbooks
Fabric
PowerShell commands
Cost Management commands
Open data commands
FinOps hubs commands
Toolkit commands
Help and support