Enhance Azure Resource Visualizer with Draw.io#2045
Enhance Azure Resource Visualizer with Draw.io#2045Ba4bes wants to merge 5 commits intomicrosoft:mainfrom
Conversation
Adds draw.io functionality to the azure resource visualizer. Split from microsoft#1834. Replaces microsoft#1893 (closed after a git history rewrite removed an accidentally committed file with personal information).
|
@tmeschter @jongio Sorry, have to continue here. The old PR is completely unworkable after a small git crisis. Final comment on the old PR: I have restructured this Skill. I have not added draw.io as a mandatory MCP server, as people can choose if they want to use this specific functionality or not. I believe it actually works on some level without the MCP server, but with MCP will always be better. I kept Mermaid as the default whenever a user just asked for a diagram without specifying if it should be a mermaid or draw.io file. I prefer draw.io, but mermaid could be more light weight. I think that is a judgement call that I probably shouldn't be making :) |
There was a problem hiding this comment.
Pull request overview
Adds Draw.io as an additional output format for the azure-resource-visualizer skill, including new Draw.io-specific workflows/conventions and expanded discovery procedures, plus updated unit/trigger/integration tests to validate the new routing and outputs.
Changes:
- Extend
azure-resource-visualizerskill to support Draw.io output and sketch/description-to-diagram routing. - Add reference documentation for relationship discovery, resource filtering, auth gating, Draw.io conventions/layout rules, and stencil mappings.
- Update unit/trigger/integration tests and snapshots for the new Draw.io triggers and outputs.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/azure-resource-visualizer/unit.test.ts | Updates content assertions and adds Draw.io coverage checks. |
| tests/azure-resource-visualizer/triggers.test.ts | Adds Draw.io prompts to the “should trigger” set. |
| tests/azure-resource-visualizer/integration.test.ts | Adds an end-to-end Draw.io invocation + file-generation test. |
| tests/azure-resource-visualizer/snapshots/triggers.test.ts.snap | Updates snapshots for the expanded description/keyword set. |
| plugin/skills/azure-resource-visualizer/SKILL.md | Adds Draw.io support, routing table, and references to new procedures/workflows. |
| plugin/skills/azure-resource-visualizer/references/sketch-to-diagram-workflow.md | New sketch/description → model → Draw.io/Mermaid handoff workflow. |
| plugin/skills/azure-resource-visualizer/references/procedures/resource-filtering.md | New centralized resource filtering rules for diagram-focused inventories. |
| plugin/skills/azure-resource-visualizer/references/procedures/relationship-discovery.md | New detailed probe table/process for discovering hidden relationships. |
| plugin/skills/azure-resource-visualizer/references/procedures/azure-authentication.md | New explicit Azure authentication hard-gate procedure. |
| plugin/skills/azure-resource-visualizer/references/mermaid-diagram-workflow.md | New Mermaid-specific renderer workflow doc. |
| plugin/skills/azure-resource-visualizer/references/drawio-diagram-workflow.md | New Draw.io-specific renderer workflow doc. |
| plugin/skills/azure-resource-visualizer/references/drawio-diagram-conventions.md | New Draw.io XML/styling/edge/layout conventions. |
| plugin/skills/azure-resource-visualizer/references/layout-rules.md | New Draw.io layout rules and anti-pattern guidance. |
| plugin/skills/azure-resource-visualizer/references/azure-resource-model.md | New shared resource-model schema used by workflows. |
| plugin/skills/azure-resource-visualizer/references/azure-stencil-mapping.json | New resource-type → Draw.io stencil mapping and style metadata. |
jongio
left a comment
There was a problem hiding this comment.
Clean restructuring - shared discovery piped into format-specific renderers makes sense and follows the progressive disclosure pattern well. The Draw.io stencil mapping and relationship discovery probes are the standout additions here; they'll genuinely help both workflows.
The routing keyword concern raised in the existing review comment is worth addressing - bicep and templates now appear in the extracted keyword set (confirmed in the snapshot diff) and can pull this skill into unrelated prompts.
One thing that hasn't been flagged yet: the sketch-to-diagram workflow claims format flexibility in its context paragraph but locks to Draw.io output in Step 5 and the Output section. If someone says "convert this sketch to Mermaid", the routing table sends them to this workflow, which then only produces .drawio. See my inline comment for details.
Minor: SKILL.md is missing a trailing newline.
…mentation Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
jongio
left a comment
There was a problem hiding this comment.
The two new commits address my earlier feedback and the Copilot reviewer's comments. DO NOT USE FOR keywords are generic now (no routing pollution), the conditional wording is clearer, and sketch-to-diagram Step 5 routes to both formats.
One thing the format fix missed: Step 6 still assumes Draw.io output. See inline comment.
@kvenkatrajan - this PR adds Draw.io as an output format for the resource visualizer skill. It lists a Draw.io MCP server as a recommended (not required) prerequisite. Do we want to take a dependency on draw.io in this repo? The Draw.io MCP server and VS Code extension are external tools.
…ss verification steps Co-authored-by: Copilot <copilot@github.com>
|
@tmeschter @jongio the workflows failed because somewhere in the process I forgot to rebuild the snapshots. I have done so now. |
Replaces #1893 after I broke that PR with a few git-adventures.
Adds draw.io functionality to the azure resource visualizer. Split from #1834. Replaces #1893 (closed after a git history rewrite removed an accidentally committed file with personal information).
Description
Checklist
cd tests && npm test)npm run test:skills:integration -- <skill>)USE FOR/DO NOT USE FOR/PREFER OVERclauses: confirmed no routing regressions for competing skillsRelated Issues