Files
Gaudenz Alder b488f4c97d feat(plugins): add GitHub Copilot CLI plugin mirroring the Claude Code plugin
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>
2026-08-03 17:01:44 +02:00
..

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.