Third host port of the drawio skill, following the Codex pattern: byte-identical skills/drawio/SKILL.md, host wrapping only. Copilot has no folder-name rule, so plugins/copilot/ is itself the plugin root with a root plugin.json (Copilot's manifest format, skills directory list). Marketplace manifest at .github/plugin/marketplace.json (Copilot's primary lookup path; it falls back to .claude-plugin/). Copilot's schema inlines plugin metadata in the marketplace entry, so it mirrors plugin.json and the two must be kept in sync. Explicit invocation is /drawio — Copilot does not prefix plugin skills. Other Copilot surfaces (VS Code agent mode, coding agent, code review) load the same skill from a repo's .github/skills/. Extends the skill-sync CI check to enforce byte-identity for the new copy and updates the host tables and cross-links in the affected docs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
AI Assistant Plugins
This directory groups assistant-side integrations by host — one subdirectory per AI assistant. Each subdirectory is the plugin root for its host, packaging the draw.io skill in whatever format that host expects (manifest schema, file layout, invocation convention).
| Directory | Host | Status |
|---|---|---|
claude-code/ |
Claude Code | ✅ Available |
codex/drawio/ |
Codex CLI | ✅ Available |
copilot/ |
GitHub Copilot CLI | ✅ Available |
Each host has its own marketplace manifest at the repo root, so users install with that host's own commands.
Claude Code — via .claude-plugin/marketplace.json:
/plugin marketplace add jgraph/drawio-mcp
/plugin install drawio@drawio
Codex — via .agents/plugins/marketplace.json:
codex plugin marketplace add jgraph/drawio-mcp
codex plugin add drawio@drawio
GitHub Copilot CLI — via .github/plugin/marketplace.json:
copilot plugin marketplace add jgraph/drawio-mcp
copilot plugin install drawio@drawio
Adding a plugin for another host
Support for a new assistant lands as a sibling directory at this level:
plugins/
├── claude-code/ ← Claude Code plugin (plugin root)
├── codex/ ← Codex host group
│ └── drawio/ ← Codex plugin root (folder name == plugin.json "name")
└── copilot/ ← GitHub Copilot CLI plugin (plugin root)
Codex normalizes a plugin's root folder name to match its plugin.json "name", so the
Codex plugin root is nested one level (codex/drawio/) inside the host group directory;
Claude Code and Copilot have no such rule, so claude-code/ and copilot/ are themselves
the plugin roots. If another assistant (Cursor, etc.) is added later, it follows the same
pattern in its own way.
The draw.io guidance itself — how to generate .drawio files, embed XML in PNG/SVG/PDF, and produce app.diagrams.net URLs — is shared. Only the wrapping (manifest format, file layout, invocation prefix) differs per host, and each host has its own plugin/skill model, so the wrapping is not assumed to be uniform.
The single source of truth for draw.io XML generation guidance lives at ../shared/xml-reference.md — every plugin references that file rather than duplicating its contents.
Other delivery mechanisms in this repo
Plugins are one of four ways to integrate draw.io with AI assistants. See the root README for the full comparison with the MCP App Server, MCP Tool Server, and Claude Project Instructions approaches.