system-atlas README

The project's README from github.com/inkboard/system-atlas. As one markdown file: README.md.

System Atlas

An agent skill that turns an architecture discussion into something you can click around.

A walkthrough of a real system atlas

Above: a real atlas of a production agent system, built with this skill — chapters reveal the system a few structures at a time, hovering reads a structure, and going inside one shows its steps in execution.

skills.sh

npx skills add inkboard/system-atlas

Why

Architecture discussions produce decisions, questions, and vocabulary faster than any one document can hold, and the person you are discussing with wants to see the system, not read it. So you draw a diagram, and a week later the diagram is a lie. An atlas fixes the shape of that problem rather than the diagram: one data file in the repo is the single source, and it renders two views that always agree — an interactive isometric map you explore with a mouse, and a generated text twin (SYSTEM.md) that carries the decisions table, every structure, the flows, and every open question by stable ID. The map is what you put in front of a person; the text is what the repo and your next session read; because both are generated from the same file, updating the design is one edit and a rebuild, and there is exactly one place where the system can be wrong.

What you get

Using it

Ask for one in plain language. The skill triggers on things like:

"make me an atlas of this pipeline" "map the system so we can talk about it" "I want a diagram I can click around and poke holes in" "walk me through how this fits together" "update the atlas — we dropped the nightly job and picked a different vendor"

Then the agent works in this order:

  1. Read the inputs before drawing — the vision doc, the repo's real surfaces, the framework's docs. Boxes that don't map to something real are worse than no boxes.
  2. Discuss before drawing — propose the structure in chat, mapped to the runtime's actual primitives, and ask only the questions it cannot derive from the repo.
  3. Build the first atlas, then cut it into chapters — the first version is always "hard to parse"; progressive disclosure is the fix, and it is the default here.
  4. Generate the text twin and keep the glossary (CONTEXT.md) and ADRs beside it.
  5. Run feedback rounds by question ID — record the person's actual words, resolve with a date, and sweep every file after a rejection. A banner on a stale section is not enough.
  6. Rebuild and republish after every change. An atlas that is out of date is worse than no atlas.

How it works

<atlas home>/data.mjs          ← the only file you edit
<atlas home>/build.mjs         ← bun build.mjs
<atlas home>/template.html     ← the renderer
        ↓
   atlas.html   +   SYSTEM.md  ← both generated, never hand-edited

data.mjs holds the structures (position, footprint, role shape, prose, steps, questions), the flows as hop lists with payloads, the chapters with what each reveals, and the decisions. build.mjs writes both views from it. assets/data.example.mjs is a working starter with every field documented — copy it, fill it in, run the build, and you have an atlas.

Where the atlas lives depends on your repo's docs policy. Repos that commit design docs can keep it at docs/<system>/atlas/; repos that deliberately commit only ADRs and a glossary should keep it in a git-ignored scratch directory and attach the generated SYSTEM.md to the spec issue instead. The skill asks before committing anything.

The map is a single self-contained HTML file, so publishing it is whatever the person can open: a hosted HTML artifact if your agent can publish one, a static server (npx serve, python3 -m http.server), or your repo's pages host. The rule is one URL, republished in place.

What's in the repo

Path What it is
skills/system-atlas/SKILL.md The skill: when to use it, the process, what done looks like
skills/system-atlas/assets/template.html The atlas renderer
skills/system-atlas/assets/build.mjs data.mjs → atlas.html + SYSTEM.md
skills/system-atlas/assets/data.example.mjs Documented starter data — copy to data.mjs
skills/system-atlas/references/design-language.md Layout, palette, isometric grammar, role shapes, copy rules, the chapter recipe
skills/system-atlas/references/process-and-lessons.md How the first session went, the subagent deep-dive pattern, and the things that bit
skills/system-atlas/evals/evals.json Three eval prompts: a new atlas, an update, and a small greenfield one

Installing

The skills CLI installs into Claude Code, Cursor, Copilot, Codex, Gemini, Cline, Amp and others:

npx skills add inkboard/system-atlas

Or drop skills/system-atlas/ into your agent's skills directory by hand — for Claude Code that is ~/.claude/skills/system-atlas/ (personal) or .claude/skills/system-atlas/ (per project).

Credits

The visual grammar takes after the "codebase as interactive isometric diagram" style — khaki paper, black hatched structures, an index on the left, a reading panel on the right, and data packets you can catch. The process rules are the corrections from a real design session, kept in the order they were earned.

License

MIT — see LICENSE.

system-atlas (inkboard/system-atlas)

Searching Database…

这是什么?一个代理技能,把架构讨论变成可探索的等距图集:一个数据文件同时产出可交互的 HTML 地图和一份配套生成的 SYSTEM.md 文本孪生。
这是独立应用,还是我的编程代理用的东西?它是一个 Claude 风格的代理技能(SKILL.md 加一个构建脚本和 HTML 模板),由你的代理在对话中调用,而不是你自己运行的独立应用。
怎么安装并触发它?用 skills CLI 安装到 Claude Code、Cursor、Copilot、Codex、Gemini、Cline 或 Amp,或者手动把 skills/system-atlas/ 复制到你代理的技能目录(例如 ~/.claude/skills/system-atlas/)。触发它只需要在聊天里开口,比如“给我做一份这个流水线的图集”。
查看图集需要构建系统或运行时依赖吗?不需要。渲染出来的地图是单个自包含的 HTML 文件,没有构建步骤,也没有运行时依赖;data.mjs 由 build.mjs(用 Node 系工具运行)处理生成,托管它简单到 npx serve 或 python3 -m http.server 就行。
图集建好之后设计又变了怎么办?只有每次变更后都重新构建并重新发布,图集才能保持准确;文档明确指出,陈旧而未重建的图集比没有图集还要糟。
生成的图集和 SYSTEM.md 提交到哪里,由谁决定?这取决于仓库自己的文档策略(提交设计文档的仓库用 docs/ 或 /atlas/,只保留 ADR 和术语表的仓库用一个被 git 忽略的临时目录),而且该技能在提交任何东西之前都会明确询问。
它怎么防止图示和文档各自漂移?可交互地图和 SYSTEM.md 都由 build.mjs 从同一个 data.mjs 文件生成,所以设计可能出错的地方有且只有一个,一处修改就能同时更新两个视图。
什么是渐进式披露章节?它不是一次展示整个系统,而是每章最多揭示三个新结构和一条小的数据流,且只涉及你已看过的内容;最后一章则借助流程选择器展示全部内容。
未决的设计问题是怎么追踪的?每个未决问题都有一个稳定的 Q-ID 和一种状态(待解决、已解决并附答案和日期,或转给某个指名的下一步),所以多轮反馈不会弄丢曾提出的问题。
我能查看地图上显示的数据流吗?能,地图上移动的点代表真实请求;点击其中一个会打开一个面板,显示它的路由和一个代表性的 JSON 负载。
Creator
inkboard
Size
13.1 MB
Stars
438
Updated
CommitSep 01
Age
1mo
Commits · 90 Days