Archify Diagrams
tt-a1i/archify
Creates interactive architecture, workflow, sequence, data-flow and lifecycle diagrams as standalone HTML with inline SVG, themes and image or video export.
Creates, edits, reviews, and regenerates C4 architecture diagrams written with goa.design/model and the mdl CLI.
$ npx skills add goadesign/model --skill editing-model-diagrams -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install goadesign/model editing-model-diagrams --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/goadesign/model.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cmd/mdl/skills/editing-model-diagrams .claude/skills/editing-model-diagrams && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "editing-model-diagrams" agent skill from https://github.com/goadesign/model/tree/main/cmd/mdl/skills/editing-model-diagrams into .claude/skills/editing-model-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editing-model-diagrams", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/goadesign/model/tree/main/cmd/mdl/skills/editing-model-diagramsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add goadesign/model --skill editing-model-diagrams -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install goadesign/model editing-model-diagrams --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goadesign/model.git skills-src && mkdir -p .agents/skills && cp -r skills-src/cmd/mdl/skills/editing-model-diagrams .agents/skills/editing-model-diagrams && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "editing-model-diagrams" agent skill from https://github.com/goadesign/model/tree/main/cmd/mdl/skills/editing-model-diagrams into .agents/skills/editing-model-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editing-model-diagrams", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add goadesign/model --skill editing-model-diagrams -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install goadesign/model editing-model-diagrams --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goadesign/model.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/cmd/mdl/skills/editing-model-diagrams .cursor/skills/editing-model-diagrams && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "editing-model-diagrams" agent skill from https://github.com/goadesign/model/tree/main/cmd/mdl/skills/editing-model-diagrams into .cursor/skills/editing-model-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editing-model-diagrams", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/goadesign/model.git --path cmd/mdl/skills/editing-model-diagrams--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add goadesign/model --skill editing-model-diagrams -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install goadesign/model editing-model-diagrams --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goadesign/model.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/cmd/mdl/skills/editing-model-diagrams .gemini/skills/editing-model-diagrams && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "editing-model-diagrams" agent skill from https://github.com/goadesign/model/tree/main/cmd/mdl/skills/editing-model-diagrams into .gemini/skills/editing-model-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editing-model-diagrams", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install goadesign/model editing-model-diagramsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add goadesign/model --skill editing-model-diagrams -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/goadesign/model.git skills-src && mkdir -p .github/skills && cp -r skills-src/cmd/mdl/skills/editing-model-diagrams .github/skills/editing-model-diagrams && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "editing-model-diagrams" agent skill from https://github.com/goadesign/model/tree/main/cmd/mdl/skills/editing-model-diagrams into .github/skills/editing-model-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editing-model-diagrams", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add goadesign/model --skill editing-model-diagrams -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install goadesign/model editing-model-diagrams --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/goadesign/model.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/cmd/mdl/skills/editing-model-diagrams .opencode/skills/editing-model-diagrams && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "editing-model-diagrams" agent skill from https://github.com/goadesign/model/tree/main/cmd/mdl/skills/editing-model-diagrams into .opencode/skills/editing-model-diagrams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "editing-model-diagrams", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
editing-model-diagramsCreates, edits, reviews, and regenerates C4 architecture diagrams written with goa.design/model and the mdl CLI.
Editing Model Diagrams is an agent skill from goadesign/model. Creates, edits, reviews, and regenerates C4 architecture diagrams written with goa.design/model and the mdl CLI. Use when changing Model DSL, model.go or views.go files, system landscape, context, container, component, dynamic, or deployment views, element relationships, boundaries, layout, or generated SVG diagrams.
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Diagrams. The repository describes itself as: Create your software architecture models and diagrams in Go. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fcc7921. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
goFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Editing Model Diagrams loads about 4.2k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 2,343 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from goadesign/model at commit fcc7921, republished under its MIT licence (© goadesign). 2,343 words, ~4,225 tokens.
.claude/skills/editing-model-diagrams/SKILL.md (or your agent's skills folder).Produce diagrams whose source model is architecturally true and whose rendered views communicate that model without ambiguous ownership.
Use this order when design goals conflict:
Never omit, reverse, reparent, or relabel architecture merely to make a diagram look cleaner. If a truthful view is unreadable, reduce its question, remove out-of-scope elements, or split it into additional truthful views while keeping the main view representative of the whole system.
SoftwareSystem owns the Container elements declared inside it.Container owns the Component elements declared inside it.Add, AddDefault, AddAll, and imported packages change view membership;
they do not change element ownership.For repositories whose services are defined by a Goa system design, use the Goa model validator as the service-inventory contract:
goa.design/plugins/v3/model/dsl.Model(<model package>, <system name>).
A goa.design/model dependency or an MDL model package alone does not enable
this validation.ModelContainer when
a human-readable container name does not exactly match the plugin's naming
format; do not rename model elements or rely on fuzzy string matching.ModelNone only when the Goa service is deliberately outside the
architecture model's scope, and document why. Never use it merely to make
generation pass.ModelComplete only when every in-scope model container must correspond
to a Goa service. Omit it when the model intentionally includes workers,
infrastructure, data stores, or other containers that are not Goa services.Service coverage and view membership are separate. Every owned service must be present in the source model, and the published view set should make each architecturally relevant service visible in at least one purposeful view. Do not force every service into every view or create an inventory-only diagram; split the architecture into focused views and use documentation or a generated catalog for exhaustive inventory.
Treat a rendered boundary as an ownership statement.
If automatic or saved layout violates these rules, first verify ownership and view membership. Then reduce or split the view before using intentional manual positions. Never accept false containment as a visual compromise.
Prefer a small view with one clear question over one diagram that exposes every known element and relationship.
Every view must communicate architecture or behavior through meaningful relationships, boundaries, dependencies, lifecycle, or runtime flow. Do not create a view whose sole purpose is listing elements. When readers need an element inventory, use documentation or a generated catalog; keep diagrams focused on how the elements work together.
Use separate views when readers need different flows or levels of detail. Each view must still answer its own architectural question.
Split a view when it combines independent ownership or runtime questions and its canonical relationship labels cannot be routed without collisions. Move each complete question into a purposefully titled view; do not shorten, disconnect, or hide the relationships merely to retain one output.
When a published diagram set has multiple views, designate one stable main or overview view:
AddDefault, Add, and Remove deliberately. Avoid AddAll when it
obscures the view's question.SelectRelationships is available only in a SystemLandscapeView. In other
view types, curate membership and use Unlink for relationships that do not
answer the view's question.Unlink hides a real source-model relationship from one view; it does not
mean the relationship is absent. Never unlink solely to improve layout.Unlink, ask whether a reader seeing both endpoints without the
edge could reasonably infer that no relationship exists. If so, keep and
arrange the edge, remove an out-of-scope endpoint, or split the view.NoRelationship removes every relationship to and from that element after
view finalization, including explicitly linked relationships. Use it only
when one element is intentionally isolated within an otherwise meaningful
view, not to turn the whole view into a listing or as a general edge filter.DynamicView, Link(source, destination, description) selects an
existing source-model relationship. The description must exactly match the
canonical relationship description; it is not a display-label override.Unlink for every incidental relationship.Unlink, even when only one
relationship exists between the source and destination.AutoLayout as the default complete placement. It measures rendered
content, places nodes, boundaries, routes, and labels together, and rejects
invalid geometry instead of saving a partial result.mdl svg geometry failure as a real model, view-scope, saved-layout,
or MDL defect. Do not work around it by unlinking relationships, shortening
truthful text, retrying with guessed spacing, or accepting a partly rendered
file.Render all affected views from the repository root, using the repository's
pinned go tool mdl invocation when available:
mdl svg <model-package> -all -dir <output-directory>
# or: go tool mdl svg <model-package> -all -dir <output-directory>For interactive layout refinement:
mdl serve <model-package> -dir <output-directory>Start with AutoLayout, then visually review every view in the generated set.
Keep the automatic result when its hierarchy, spacing, labels, and edge routing
communicate the view's question clearly. Use the editor only when deliberate
placement would improve that communication. When a rendered view has excessive
whitespace, weak visual hierarchy, or avoidable edge crossings:
mdl serve for the model package and output directory. If DSL changes
while the editor is running, verify the displayed node and edge counts
changed; restart mdl serve when it still shows the previously compiled
model.For MDL renderer or layout changes, render the full repository view set at least three times and compare the SVG files byte for byte. Also run independent model packages concurrently. Any changed bytes between identical runs, port collision, timeout, partial file, or cross-view result is a tool defect.
Always review the main view in the editor and arrange it deliberately whenever that improves the whole-system summary. Review every secondary view at fitted viewport scale and arrange it as needed. Do not use manual positioning to compensate for excessive scope or an incorrect model; split or correct the view first.
After rendering, verify:
Unlink has been reviewed against the source relationship, the view's
stated scope, and the inference a reader may draw from its omission.Run the repository's architecture-drift checks, tests, and formatting commands after changing Go DSL.
© goadesign, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in cmd/mdl/skills/editing-model-diagrams of goadesign/model.
Open the folder on GitHubat commit fcc7921
Editing Model Diagrams next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Editing Model Diagrams this skillgoadesign/model | 467 | — | ~4.2k | Automated safety check: Pass | MIT | |
| Archify Diagramstt-a1i/archify | 81k | — | ~2.9k | Automated safety check: Pass | MIT | |
| JSON Canvasheyitsnoah/claudesidian | 2.6k | 18 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 47k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Fireworks Tech Graphtisfeng/Easydict | 15k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Excalidraw Diagramcoleam00/excalidraw-diagram-skill | 5k | 2 repos | ~6.1k | Automated safety check: Pass | None |
tt-a1i/archify
Creates interactive architecture, workflow, sequence, data-flow and lifecycle diagrams as standalone HTML with inline SVG, themes and image or video export.
heyitsnoah/claudesidian
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections.
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
tisfeng/Easydict
Create precise SVG technical diagrams, export PNG or offline HTML, and animate supported semantic SVGs to GIF.
coleam00/excalidraw-diagram-skill
Create Excalidraw diagram JSON files that make visual arguments.
Agents365-ai/drawio-skill
Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.
Categories
Creates, edits, reviews, and regenerates C4 architecture diagrams written with goa.design/model and the mdl CLI. Editing Model Diagrams is an agent skill from goadesign/model.design/model and the mdl CLI.
Editing Model Diagrams fits situations like: changing Model DSL; system landscape; deployment views; element relationships.
Run `npx skills add goadesign/model --skill editing-model-diagrams -a claude-code`. Or copy the skill folder (cmd/mdl/skills/editing-model-diagrams in goadesign/model) into .claude/skills/editing-model-diagrams in your project. Claude Code loads it when a task matches its description.
Run `npx skills add goadesign/model --skill editing-model-diagrams -a codex`. Or copy the skill folder (cmd/mdl/skills/editing-model-diagrams in goadesign/model) into .agents/skills/editing-model-diagrams in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add goadesign/model --skill editing-model-diagrams -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/editing-model-diagrams, .gemini/skills/editing-model-diagrams, .github/skills/editing-model-diagrams and .opencode/skills/editing-model-diagrams in your project.
Going by SKILL.md and its folder, Editing Model Diagrams needs the command-line tools its instructions call (go).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Editing Model Diagrams is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Editing Model Diagrams: Archify Diagrams (tt-a1i/archify, 81k stars), JSON Canvas (heyitsnoah/claudesidian, 2.6k stars), Diagram Design (cathrynlavery/diagram-design, 47k stars) and Fireworks Tech Graph (tisfeng/Easydict, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
goadesign (a GitHub organization) maintains it in goadesign/model, which has 467 GitHub stars. The repository was last updated on October 5, 2026.
Source: goadesign/model on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.