Skip to content
arch-lab
Integration · Agent Skill

An Agent Skill for architecture diagrams

arch-lab publishes its .alab grammar as an Agent Skill, so Claude Code — or any agent that reads skills — can write C4 models, sequence diagrams, gantt charts, timelines and lifecycles as text. It is markdown in your repository: nothing connects, nothing runs, and there is no server in the loop.

bash
npx skills add raksitnongbua/arch-lab --skill alab

What this is for

Your agent can already write files. What it cannot do is guess a grammar — .alab has significant indentation and order-free attributes, and a model writing it from memory produces files that look right and do not parse. This is that grammar, in exact detail, sitting where the agent will read it.

What it puts in your repository

.claude/skills/alab/SKILL.md and a reference/ folder beside it — plain markdown you can read, diff and review like any other file.

  • The entry file is short on purpose. It carries what every .alab document needs whatever its notation, and a table pointing at one grammar file per notation. An agent writing a gantt reads the gantt reference and never pays for the C4 or sequence grammar, which is the whole reason a skill is cheap.
  • 5 notations have a grammar file of their own, plus one on reading the parser's error messages. The remaining notations are taught by a worked example rather than a grammar — see the gallery.
  • It is generated, not written. Every file comes from the same syntax reference this site serves at /syntax, and every example in it is checked against the real parser on every build. A skill that taught a grammar the parser had moved on from would be worse than no skill.

Installing it without the CLI

The command above uses the skills CLI, which brings a lockfile you can commit and an update command. If you would rather copy the directory and nothing else — no CLI, no telemetry, no symlinks into other agents’ folders:

bash
npx degit raksitnongbua/arch-lab/skills/alab .claude/skills/alab

Both land the same files at the same path. The source is raksitnongbua/arch-lab, and there is no publish step between the repository and either command.

What a skill cannot do

It carries the grammar. It cannot carry the verdict — a file in your repository has no way to tell you whether the model your agent just wrote actually parses.

  • For a verdict, paste it into the validator — the real parser, running in your browser, reporting the line and column of anything wrong.
  • Or let the agent ask for it, over MCP — the same parser as a tool call, so the agent checks its own work before handing it to you. The two are not exclusive: plenty of people install the skill for everyday writing and connect the server for the check at the end.
  • Nothing here reaches your files. The skill is text your agent reads. Whatever it then writes, it writes with its own editing tools, under your review.