A skill for Claude Code, Codex, Open Code, Pi Agent, and other AI coding agents: turn a text description of your system architecture into an editable PowerPoint architecture diagram.
> /plugin marketplace add Andy1314Chen/architecture-drawer> /plugin install architecture-drawer@architecture-drawer
What's inside
English · 简体中文
A skill for Claude Code, Codex, Open Code, Pi Agent, and other AI coding agents: turn a text description of your system architecture into an editable PowerPoint architecture diagram.
Turn text descriptions of an architecture into editable PPT diagrams: the agent generates an SVG from your description, auto-validates the layout, then exports to native PowerPoint shapes.
| This project | Nano Banana / GPT-Image etc. | |
|---|---|---|
| Output | Editable PPT (every shape draggable, recolorable, retextable) | Flattened image |
| Control | High (code-generated, precisely adjustable) | Low (prompt-driven, hard to reproduce) |
| Iteration | Fine-tune directly in PPT | Regenerate from scratch |
| Cost | Low | High (per-image billing) |
All diagrams below were generated entirely from text descriptions by the skill, then scored by the 13-dimension evaluator (each scored ≥76/100). They double as the regression suite under evals/ — including the first non-architecture case (a process flowchart).

Six-layer request pipeline (client → API server → engine → paged KV cache → execution → optimizations). Solid edges = data flow; dashed = cache/block management. Scheme S1 Monochrome Blue.

A 4-layer × multi-column matrix (graph optimization → transformation → lowering → codegen) with vertical-fusion grouping and a concurrent multi-stream overlap timeline. 8-accent categorical palette.

Five horizontal layers (application → orchestration → core capabilities → execution → infrastructure) with a cross-cutting security/observability band. Bilingual CN/EN labels. Neutral grays + 5 colored core modules.

The first non-architecture case: a top-to-bottom process flowchart with four quality-gate decisions (Build → Lint/SAST → Tests → Smoke) whose "No" branches converge via gray junction merge points onto a single Failed terminator. Green terminators · yellow decision diamonds · orange I/O hexagon · purple double-border subprocesses. Flowchart role palette (color = role).
evals/*/input.md) is the single biggest predictor of a quality diagram. For open-source projects, you can use the system architecture description from DeepWiki.gen.py and SVG. The evaluator automatically catches overlaps, dangles, and crossings.auto_refine or by iterating on the evaluator report.svg_to_pptx() to get an editable PowerPoint file. Tweak colors, fonts, arrows, and layout there to match your brand or publication style—these belong in the presentation layer, not the generator code.Suggested workflow: first discuss with DeepWiki or your agent to produce a clear text description of the system architecture, then use this skill to quickly generate a PPTX diagram, and finally fine-tune colors, labels, and other details directly in PPT.
This repo is a plugin marketplace. Add it and install the plugin:
/plugin marketplace add Andy1314Chen/architecture-drawer
/plugin install architecture-drawer@architecture-drawer
Or from the CLI:
claude plugin marketplace add Andy1314Chen/architecture-drawer
claude plugin install architecture-drawer@architecture-drawer
Scope with --scope project (shared via version control) or --scope local (gitignored). Default is user.
Codex CLI fully supports the Agent Skills directory structure.
Copy the skill directory into Codex's skills folder (usually ~/.codex/skills/):
cp -r plugins/architecture-drawer/skills/architecture-drawer ~/.codex/skills/architecture-drawer
Or install project-scoped (recommended):
mkdir -p .codex/skills
cp -r plugins/architecture-drawer/skills/architecture-drawer .codex/skills/
Once installed, ask Codex naturally — the workflow in SKILL.md is consumed automatically:
> Draw the architecture of vLLM and export to PPTX
Each skill is a standalone Agent Skills spec directory. Copy it into your platform's skills location (typically .agents/skills/):
| Platform | Default skills path |
|---|---|
| Gemini CLI | ~/.gemini/skills/ |
| Cursor (@rules) | .cursorrules or cursor/skills/ |
| Copilot CLI | Per-platform instructions |
cp -r plugins/architecture-drawer/skills/architecture-drawer .agents/skills/architecture-drawer
The agent generates a gen.py that imports four pure-Python modules (svg_utils.py, evaluator.py, semantic_qa.py, svg2pptx.py) co-located in the skill. You don't write this code — the agent does. Install these once so generated diagrams can render and export:
| Dependency | Required by | Install |
|---|---|---|
python-pptx >= 1.0 | PPTX export (svg2pptx.py) | pip install python-pptx |
rsvg-convert | PNG rasterization (rasterize_svg) | apt install librsvg2-bin / brew install librsvg |
pytest >= 8 | Running the test suite | pip install pytest |
The suite is layered so each layer is cheap, deterministic, and covers a distinct failure mode:
| Layer | Command | What it gates | Runs in CI |
|---|---|---|---|
| Deterministic regression | pytest | each evals/<name>/gen.py scores ≥ its threshold and matches its golden SVG | ✅ always |
| Spec compliance | pytest | SKILL.md frontmatter, name↔directory, relative refs, core scripts present | ✅ always |
| Doc ↔ API drift guard | pytest | every drawer.<m>( documented in SKILL.md/references/*.md exists on SVGDrawer; curated public API importable | ✅ always |
| Agent replay | pytest --agent-replay | install the skill into a leak-free sandbox, let the Pi coding agent author gen.py, assert score ≥80 + full SVG/PPTX/PNG/brief.json artifact quartet, SVG passing semantic QA against its brief.json contract | nightly / local |
The agent-replay layer is the closest to real usage: the skill is installed (never inlined), a real agent discovers it via its native skill mechanism, and the harness — not the agent — re-runs the produced gen.py deterministically. It needs the pi CLI and a provider key; backend wiring lives in tests/agent_backends.py. Pin both the provider and the model (--agent-provider zai --agent-model glm-5.3, or PI_AGENT_PROVIDER/PI_AGENT_MODEL) — the headless run otherwise inherits pi's interactive default provider, which may lack credentials and fail with an opaque upstream 403; a bare --model id can also be ambiguous across providers. Other options: --agent-iter N caps the stateless refine rounds (default 3), --agent-eval <name> restricts the run to one frozen eval, and --agent-case <dir> replays an ad-hoc case outside the frozen set — any directory containing an input.md spec; it never enters the deterministic regression set (no gen.py requirement, no golden snapshot), the agent authors gen.py in the sandbox, and --agent-keep retains everything under output/agent_replay/<dir-name>/.
architecture-drawer/
├── .claude-plugin/marketplace.json # Claude Code marketplace registry
├── plugins/architecture-drawer/
│ ├── .claude-plugin/plugin.json # plugin manifest
│ └── skills/architecture-drawer/
│ ├── SKILL.md # agent-consumable workflow (spec-compliant)
│ ├── scripts/ # svg_utils.py · evaluator.py · semantic_qa.py · svg2pptx.py
│ ├── references/design_specs.md # 4 preset color schemes (S1–S4)
│ ├── evals/ # 8 regression cases (7 architecture + 1 flowchart, gen.py each)
│ └── assets/
├── tests/ # pytest: layered regression (see "Testing")
│ ├── conftest.py # fixtures, thresholds, score helpers, CLI options
│ ├── agent_backends.py # Pi coding-agent backend + leak-free sandbox builder
│ ├── test_regression.py # deterministic quality+snapshot for every frozen gen.py
│ ├── test_skill_spec.py # Agent Skills spec compliance
│ ├── test_doc_api.py # doc ↔ API drift guard (always on)
│ ├── test_semantic_qa.py # semantic QA: marker/size/label/route/text checks
│ ├── test_agent_replay.py # opt-in real-agent replay (Pi)
│ └── golden/*.svg # snapshot baselines
└── examples/ # minimal demo of the generate-evaluate-export loop
Thanks to the LINUX DO community. The project gained wider reach, discussion, and real-world feedback after being shared there, and those conversations have helped me keep finding issues and improving architecture-drawer.
The geometry/connection detection draws on several open-source projects (their reference docs and validators were studied): ink-graph, fireworks-tech-graph, svg-animations, svg-design, and svg2pptx (the architectural blueprint for the PPTX export module). See the full credits in SKILL.md.
MIT — see LICENSE.
FAQ
architecture-drawer is a Claude Code plugin with 1 hand-picked skill for documentation work, indexed on Flowy. Install it with the command on its page. It includes architecture-drawer. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it