GitHub Copilot for Azure
repository·main·Indexed 42 days ago
https://github.com/microsoft/github-copilot-for-azureA plugin for GitHub Copilot that provides specialized skills and tools for Azure. It includes the Azure MCP Server for managing over 40 Azure services via natural language, Azure Local skills for standard and multi-rack deployments, and Azure Kusto Graph skills for graph analysis and IRQL security hunting. The repository also contains a Skill Health Dashboard for monitoring integration test results and token usage.
What's inside GitHub Copilot for Azure
- The Azure Kusto Graph Skills plugin provides specialized capabilities for Azure Data Explorer (Kusto), focusing on graph analysis, IRQL (Incident Response Query Language) security hunting, and graph visualization. It enables users to perform complex graph operations, build incident response pipelines, and visualize query results as graphs.
Overview of Azure Event Grid for event-driven architectures
mainAzure Event Grid is a serverless event routing service designed for event-driven architectures, reactive programming patterns, and decoupled event routing. It enables near real-time event delivery and supports fan-out patterns to multiple subscribers.
Event Sources
- System Topics: Events generated by Azure resources (e.g., Storage, Key Vault).
- Custom Topics: Events generated by your own applications.
- Event Domains: Used for multi-tenant event management.
Event Schemas
- Event Grid Schema: The Azure native event format.
- CloudEvents 1.0: The CNCF standard for cross-platform compatibility.
Overview of Azure Logic Apps
mainAzure Logic Apps is a low-code workflow automation and integration platform designed for orchestrating business processes and connecting various SaaS services. It is particularly useful for event-driven orchestration and integration-heavy workloads.Overview of Azure Storage services
mainAzure Storage provides scalable cloud storage for various data types. Use it when you need to manage:
- Blob storage: For files, images, videos, backups, and logs.
- File shares: For SMB/NFS access and lift-and-shift scenarios.
- Queue storage: For simple messaging and decoupling services.
- Table storage: For NoSQL key-value data.
- Static website hosting.
Overview of Azure Key Vault
mainAzure Key Vault is a centralized service for managing application secrets, certificates, and encryption keys. It is used to centralize secret management and enable automated secret rotation.Use Foundry IQ Skills for knowledge base workflows
mainThe
foundry-iqskill allows you to manage Azure AI Search (Foundry IQ) knowledge experiences via GitHub Copilot CLI.Supported Capabilities
- Resource Management: Create or reuse Azure AI Search services, and create knowledge sources from local files, Azure Blob Storage, or Azure Data Lake Storage.
- Knowledge Base Operations: Create knowledge bases, validate content searchability, and query knowledge bases with citations.
- Agent Integration: Connect existing knowledge bases to agents.
- Troubleshooting: Diagnose knowledge base failures and unsupported requests.
- Cleanup: Prepare cleanup plans for resources created during the workflow.
Limitations
This skill is specialized for Foundry IQ knowledge-base workflows. It does not support:
- Classic Azure AI Search application, index, or query development.
- Generic agent creation.
- Repository-file search.
Use the Azure Diagnostics skill for troubleshooting
mainThe
azure-diagnosticsskill is used to debug and troubleshoot Azure production issues. It provides systematic guidance for diagnosing errors across various Azure services, including App Service, Container Apps, Function Apps, AKS, Compute (VMs), and Messaging (Event Hubs/Service Bus).Quick Diagnosis Flow
- Identify symptoms: Determine exactly what is failing.
- Check resource health: Verify if the Azure resource itself is reporting health issues.
- Review logs: Examine application and platform logs.
- Analyze metrics: Look for performance patterns or anomalies.
- Investigate recent changes: Identify recent deployments or configuration updates that might have caused the issue.
Use the Azure Resource Visualizer skill
mainThe
azure-resource-visualizerskill is designed to analyze Azure resource groups and generate detailed Mermaid architecture diagrams. It is used when you need to:- Create architecture diagrams
- Visualize Azure resources and their relationships
- Generate Mermaid diagrams from existing infrastructure
- Map Azure resource topology
The skill follows a structured workflow: selecting a resource group, discovering and analyzing resources, constructing a Mermaid diagram, and finally creating a comprehensive markdown documentation file.
Use the azure-upgrade skill for Azure workload modernization
mainThe
azure-upgradeskill automates the assessment and upgrade of Azure workloads. It is designed for upgrading hosting plans, tiers, or SKUs within Azure, as well as modernizing source code dependencies.Supported Upgrade Scenarios:
- Azure Functions: Upgrading from Consumption Plan to Flex Consumption Plan.
- App Service: Migrating App Service to Container Apps.
- Azure Cache for Redis: Migrating Azure Cache for Redis (ACR/OSS) or Enterprise (ACRE) to Azure Managed Redis (AMR).
- Java SDK Modernization: Upgrading legacy Java SDKs from
com.microsoft.azure.*to the moderncom.azure.*namespace.
Note: This skill is for intra-cloud upgrades. For cross-cloud migrations, use
azure-cloud-migrateinstead.Analyze Foundry Agent Traces
mainUse the Foundry Agent Trace Analysis skill to analyze production traces for Foundry agents using Application Insights and GenAI OpenTelemetry (OTel) semantic conventions. This skill is specifically designed for querying GenAI telemetry, agent conversations, and evaluation results.
When to use this skill
Use this skill instead of
azure-monitororazure-applicationinsightswhen you need to:- Search agent conversations or history.
- Diagnose agent failures or errors in production.
- Perform latency analysis or find slow traces.
- Correlate spans and analyze span trees.
- Retrieve agent evaluation scores from App Insights.
- Find specific traces by
response IDorconversation ID.
Key Technical Details
- Data Source: Application Insights (App Insights).
- Query Language: KQL (Kusto Query Language).
- OTel Conventions: Follows GenAI Spans and Agent Spans standards.
- Preferred Tool: Use
monitor_resource_log_query(Azure MCP) to execute KQL queries against the App Insights resource. Do not use theazure-kustoskill for this purpose.
Use the Azure Resource Lookup skill
mainThe
azure-resource-lookupskill is used to list, find, and discover Azure resources across subscriptions and resource groups. It is the primary mechanism for performing cross-subscription queries, finding orphaned resources (like unattached disks), or conducting tag audits.When to use this skill
- Resource Inventory: Answering "what resources do I have?" or listing specific types (VMs, storage accounts, etc.).
- Cross-Subscription Queries: Searching across multiple subscriptions simultaneously.
- Orphaned Resource Discovery: Finding unattached disks, unused NICs, or idle IPs.
- Tag Audits: Finding resources missing required tags.
- App Services/Web Apps: Since there is no dedicated MCP
listcommand for App Services, you must use this skill for prompts like "list websites" or "list web apps".
When NOT to use this skill
- Deploying/Changing Resources: Use
azure-deployinstead. - Cost Optimization: Use
azure-costinstead. - Real-time Monitoring: Azure Resource Graph (ARG) has a slight data delay; do not use it for real-time monitoring.
- Mutations: ARG is read-only; do not attempt to change resources via ARG queries.
Use the Azure Data Explorer (Kusto) Skill
mainThe
azure-kustoskill allows you to query and manage Azure Data Explorer (ADX) resources using Kusto Query Language (KQL). It is designed for high-scale analytics on logs, telemetry, and time-series data.Core Workflow
- Discover Resources: List available clusters and databases in your subscription.
- Explore Schema: Retrieve table structures to understand the data model.
- Query Data: Execute KQL queries for analysis, filtering, and aggregation.
- Analyze Results: Process query output for insights.
When to use this skill
Trigger this skill when you need to:
- Query a Kusto database or run KQL queries.
- Analyze logs or telemetry in an ADX cluster.
- Perform time-series analysis or anomaly detection.
- Discover schema information (tables, columns, types) in Kusto.