Skip to content

Conversation

@tmeschter
Copy link
Contributor

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • My contribution adds a new instruction, prompt, or chat mode file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, or chat mode with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.

Description

This change adds a skill that can analyze the resources within an Azure resource group, determine the relationships between them, and then generate a Markdown file containing the relevant details. The Markdown file includes a Mermaid diagram showing the relationships.


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New chat mode file.
  • New collection file.
  • Update to existing instruction, prompt, chat mode, or collection.
  • Other (please specify): New skill.

Additional Notes

Here is an example diagram showing an MCP server hosted in Azure Functions:

graph TB
    subgraph "Resource Group: rg-joke-mcp"
        subgraph "Compute Layer - East US"
            PLAN[App Service Plan<br/>ASP-rgjokemcp-67ea<br/>Tier: FlexConsumption FC1<br/>Max Instances: 100]
            FUNC[Function App<br/>func-joke-mcp-9426<br/>Runtime: .NET 8 isolated<br/>Memory: 2048 MB<br/>Public Access: Disabled]
            MI[System Assigned<br/>Managed Identity<br/>Principal ID: 85813040...]
        end
        
        subgraph "Storage Layer"
            ST1[Storage Account<br/>stjokemcp6331<br/>East US<br/>Type: Standard LRS<br/>No Public Blob Access<br/>HTTPS Only]
            ST2[Storage Account<br/>stjokemcp2522<br/>West US 2<br/>Type: Standard LRS<br/>No Public Blob Access<br/>HTTPS Only]
            BLOB1[Blob Container<br/>app-package-funcjokemcp9426-*<br/>Function deployment package]
        end
        
        subgraph "Monitoring & Observability"
            AI[Application Insights<br/>func-joke-mcp-9426<br/>Type: LogAnalytics<br/>Retention: 90 days]
            LAW[Log Analytics Workspace<br/>DefaultWorkspace-*-EUS<br/>Centralized logs]
            ALERT[Smart Detector Alert<br/>Failure Anomalies<br/>AI-powered detection]
        end
        
        subgraph "Event-Driven Infrastructure"
            EG1[Event Grid System Topic<br/>stjokemcp6331-*<br/>Storage Events]
            EG2[Event Grid System Topic<br/>stjokemcp2522-*<br/>Storage Events]
        end
    end
    
    %% Compute relationships
    FUNC -->|"Hosted on"| PLAN
    FUNC -->|"Uses identity"| MI
    
    %% Storage relationships
    MI -->|"System Assigned Identity<br/>Blob access for deployment"| ST1
    MI -->|"Potential access"| ST2
    ST1 -->|"Contains"| BLOB1
    BLOB1 -->|"Deployment source"| FUNC
    
    %% Monitoring relationships
    FUNC -->|"Sends telemetry"| AI
    AI -->|"Writes logs to"| LAW
    AI -->|"Triggers"| ALERT
    FUNC -->|"Function logs"| LAW
    
    %% Event Grid relationships
    ST1 -->|"Emits storage events"| EG1
    ST2 -->|"Emits storage events"| EG2
    EG1 -.->|"Can trigger"| FUNC
    EG2 -.->|"Can trigger"| FUNC
    
    %% External access
    USERS[External Users/Clients]
    USERS -->|"HTTPS requests<br/>*.azurewebsites.net"| FUNC

    classDef compute fill:#0078d4,stroke:#004578,color:#fff
    classDef storage fill:#50e6ff,stroke:#0078d4,color:#000
    classDef monitoring fill:#ff9900,stroke:#cc7a00,color:#000
    classDef events fill:#68217a,stroke:#4a1755,color:#fff
    classDef identity fill:#00bcf2,stroke:#008db3,color:#000
    
    class PLAN,FUNC compute
    class ST1,ST2,BLOB1 storage
    class AI,LAW,ALERT monitoring
    class EG1,EG2 events
    class MI identity
Loading

By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

Copilot AI review requested due to automatic review settings December 19, 2025 19:11
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new Agent Skill called azure-resource-visualizer that analyzes Azure resource groups and generates detailed Mermaid architecture diagrams showing relationships between resources. The skill helps users understand complex Azure architectures through visualization.

Key Changes:

  • Adds a comprehensive skill with detailed instructions for Azure resource analysis and diagram generation
  • Includes a template file to guide output format
  • Updates the skills documentation registry

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
skills/azure-resource-visualizer/SKILL.md Main skill definition with comprehensive instructions for analyzing Azure resources, mapping relationships, and generating Mermaid diagrams
skills/azure-resource-visualizer/assets/template-architecture.md Template file that defines the structure for the generated architecture documentation
skills/azure-resource-visualizer/LICENSE.txt MIT License file for the skill
docs/README.skills.md Updated skills registry table to include the new azure-resource-visualizer skill

@tmeschter tmeschter force-pushed the 251219-AddVisualizerSkill branch from bf49045 to c38c7a6 Compare December 20, 2025 00:37
This change adds a skill that can analyze the resources within an Azure
resource group, determine the relationships between them, and then
generate a Markdown file containing the relevant details. The Markdown
file includes a Mermaid diagram showing the relationships.
Update README.skills.md to include all the assets in azure-resource-visualizer.
@tmeschter tmeschter force-pushed the 251219-AddVisualizerSkill branch from c38c7a6 to 3369f58 Compare December 20, 2025 00:42
@tmeschter
Copy link
Contributor Author

@digitarald I'm not sure what is needed to make the "Validate README.md" check happy. I've rebased my branch onto the latest main, run npm start locally (this generated no changes), and pushed the branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants