Azure Diagrams Skill v2.0.0: diagrams 0.25.1, multi-AI portability, IaC parser, CI#7
Merged
Merged
Conversation
…rnise install and license - Pin diagrams>=0.25.1 (842 Azure node classes across 32 modules vs 232 on 0.24.x); add requirements.txt + requirements-extras.txt - Add scripts/list_azure_nodes.py (icon inventory, ground truth) and scripts/check_imports.py (validates every doc import against the pinned library) - Fix 6 broken imports: Bastions (now azure.networking), ACR (azure.compute), ExpressrouteDirect, Alerts (managementgovernance), SAP (onprem alias) - Default all diagram output to PNG (Graphviz 14 SVG quirks; SVG embeds local icon paths and breaks when shared); keep one labelled SVG opt-in - Modernise Terraform mapping to azurerm 4.x - Harden verify_installation.py: real 0.25.1 floor, dot-on-PATH preflight, cairosvg warning, Windows-safe ASCII output - winget as the primary Windows Graphviz install across all docs - Fix emoji UnicodeEncodeError in generator scripts; ERD keys use PK/FK markers - LICENSE: Carl Brindle on both files, 2025-2026; correct frontmatter repository URL; expand .gitignore
…ern patterns - Correct the stale "700+ official Microsoft icons" claim to the measured 842 Azure node classes in diagrams 0.25.1 (SKILL.md, README, azure-components.md) - azure-components.md: reframe the "New Icons" section, add the Microsoft icon redistribution caveat (use Custom(), do not bundle icons), point to scripts/list_azure_nodes.py - common-patterns.md: add 3 patterns that exploit the new 0.25.x modules, each verified to render - Azure AI/RAG (aimachinelearning), Container Apps microservices, Landing Zone governance (managementgovernance)
…t>>list example - Add scripts/render_examples.py: executes every runnable diagram example block in the docs (skips fragments, sandbox-path and asset-dependent snippets); 51 blocks render clean - Fix migration-patterns.md: "[logic, func] >> [sql, cosmos]" is invalid (list >> list) and raised TypeError; split into per-node edges - Add .github/workflows/ci.yml: installs graphviz + diagrams, then runs verify_installation, check_imports and render_examples on every push/PR
…le gallery - Portable execution in SKILL.md: write to ./diagrams/ (works in any tool and OS), use the sandbox path only when present; add a Windows PowerShell variant alongside the POSIX heredoc; reconcile the no-scratch-file guidance - Add AGENTS.md (root): cross-tool fallback for agents that do not load SKILL.md - Add SETUP.md (root): tri-platform (Windows/macOS/Linux) install + troubleshooting (dot-on-PATH, Apple Silicon Homebrew, venv) - SKILL.md compatibility now lists Cursor, Windsurf and AGENTS.md - README: lead with the title (move Buy-Me-a-Coffee to a Support section), correct "700+ official Microsoft icons" to 800+ Azure service icons, drop the empty Quick Start heading, add SETUP/AGENTS links and a Gallery - Add 3 example images: Azure AI/RAG, Container Apps, landing-zone governance
- Replace client-specific names throughout the example diagrams with neutral Contoso / finance-generic content - Remove a stale internal reference from migration-patterns.md - Fix a Graphviz 14 crash in the overlap-prevention example (a rank=same subgraph conflicted with cluster membership) - Bump 2025 sample dates to 2026 in the timeline/Gantt and wireframe examples - render_examples.py now also executes graphviz Digraph examples: 65 blocks verified (was 51)
- common-patterns.md: colourblind-safe (Wong palette) accessibility guidance + a not-colour-alone example, a CIDR-annotated hub-spoke, and a private-endpoint DNS resolution flow - all verified to render against the pinned library (68 example blocks now checked)
- Add references/mermaid-output.md: text-based flowchart / sequence / ER / Gantt that render natively in GitHub, Azure DevOps and Confluence with no Graphviz; clearly distinguished from the icon pipeline - SKILL.md: link the three previously-orphaned reference files (integration-services, large-diagram-strategies, migration-patterns) and the new helper scripts
- references/c4-model.md: verified L1 (system context), L2 (containers) and L3 (components) templates using diagrams Blank boxes, plus Mermaid C4Context/C4Container variants for zero-install rendering - linked from SKILL.md reference table
- scripts/iac_to_diagram.py: parse an ARM template (also `az bicep build` output) - resources + dependsOn edges - and emit a runnable diagrams script via a maintained Microsoft.* -> node-class map; unmapped types fall back to a labelled generic node. --render writes the PNG. - tests/fixtures/sample-arm.json: committed fixture - iac-to-diagram.md: document the deterministic recipe (ARM/Bicep via az bicep build, Terraform show -json, Azure Verified Modules module paths, azd layout) - CI now verifies the parser renders the fixture
…de wedge - Add a "Why this skill" section: runs in your coding agent, architecture stays local, reads your actual IaC, diagrams are version-controlled, works across AI tools, free/MIT - Add a "How this differs" comparison table vs browser/SaaS AI diagram tools
- evals/README.md: maps the automated CI checks (imports, rendering, IaC parser, prereqs) and how to run them locally - evals/scenarios.md: triggering scenarios (positive + negative) and 4 task scenarios (IaC-to-diagram, swimlane, hub-spoke, Windows portability) with expected behaviours and pass criteria; gate for any trigger-description change
- Bump skill version to 4.0.0 and add CHANGELOG.md with a semver policy for the skill - README: lead install with `gh skill install <owner>/<repo> <skill>` (verified two-arg syntax, gh >= v2.90.0, gh skill preview); correct agr to its slash-joined path - Add PUBLISHING.md: release steps, registry submission blurb (draft), and a pre-post checklist (verify gh account = cmb211087/github.com, no client content)
The SKILL.md frontmatter had read "3.0", which never matched a release (last tag was v1.1.0). Set this release to 2.0.0 (major bump for the breaking changes) and align CHANGELOG and PUBLISHING accordingly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings the skill current after ~5 months and turns it into a verified, multi-tool diagramming skill. Upgrades to
diagrams0.25.1 (842 Azure icons, up from 232 on the old 0.24.x the docs targeted), fixes everything that failed on copy-paste, makes it work across Claude Code / GitHub Copilot / Cursor / Windsurf on Windows, macOS and Linux, adds a deterministic ARM-to-diagram parser, and puts the whole thing behind CI. Bumps to v2.0.0 (from the last release, v1.1.0).Breaking changes
diagrams >= 0.25.1(was effectively 0.24.x), reinstall needed.Bastionsnow imports fromdiagrams.azure.networking(new module in 0.25.x).What changed
verify_installation.py, removed emoji that crashed Windows consoles.AGENTS.md, tri-platformSETUP.md, portable./diagrams/output, Windows PowerShell execution path, compatibility list updated.scripts/iac_to_diagram.pyparses ARMdependsOn(andaz bicep buildoutput) into a runnable diagram, with a committed fixture and docs covering Terraform/AVM/azd..github/workflows/ci.yml) runs import validation, example rendering (71 blocks, diagrams + graphviz), the IaC parser, and prereq checks; newevals/.requirements.txt+ extras),CHANGELOG.mdwith a semver policy,gh skill installas the primary install path,PUBLISHING.md, LICENSE corrected and consistent.Testing
Verified locally against
diagrams0.25.1 and Graphviz 14.1.2, and enforced in CI:check_imports.py: 0 unresolved importsrender_examples.py: 71 example blocks renderiac_to_diagram.py: renders the ARM fixtureverify_installation.py: passesNotes
Example content was genericised to neutral fictional (Contoso) content. Registry submissions are drafted in
PUBLISHING.mdand intentionally not posted.