document-design-system
AGENTS.md2 starsChanged 36 days agoMITView on GitHub
This repository treats document design as two independent axes: - Document pattern controls reading structure and is declared with data-pattern. - Theme controls visual voice through semantic tokens and is declared with data-theme. Do not reduce the writing examples to one generic longform layout. Select one of the eleven patterns in core/document-patterns.md, then use the modules that support that reader movement. Keep prose readable at 62–72 characters while allowing maps, tables, comparisons, timelines, and registers to use the wider shell.
- Installs packages
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository6 other files it gives its agents.
- analytical-document-designSkill
- brand-theme-designSkill
- chart-designSkill
- diagram-designSkill
- presentation-designSkill
- writing-documentsSkill
The file
We split this AGENTS.md into the rules it gives an agent
8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Do not reduce the writing examples to one generic longform layout.
- Very specific: line 24
When none fits, compose: pick the pattern by the reader's question (skills/writing-documents/references/type-index.md), use only the …
- Distinctive: line 42
When changing a writing-document type or composed example:
- Distinctive: line 45
Update both Markdown and HTML examples.
- Distinctive: line 47
Run the full check list.
- Distinctive: line 57
Use the evidence states and leave missing terms unresolved.
- Distinctive: line 80
Check list — all must pass:
- Distinctive: line 105
Do not add source-provenance, copied product naming, or private reference links to repository documents, examples, screenshots, commit …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Repository guidance
This repository treats document design as two independent axes:
- Document pattern controls reading structure and is declared with
data-pattern. - Theme controls visual voice through semantic tokens and is declared with
data-theme.
Do not reduce the writing examples to one generic longform layout. Select one
of the eleven patterns in core/document-patterns.md, then use the modules that
support that reader movement. Keep prose readable at 62–72 characters while
allowing maps, tables, comparisons, timelines, and registers to use the wider
shell.
Markdown in examples/<slug>.md is the canonical repository-friendly form.
Designed HTML is generated from templates/types/<slug>.html (presets) or
templates/composed/<slug>.html (composed examples); both forms must use the
same title and factual anchors from examples/WORLD.md.
Types, composition and promotion
A request that matches a type or one of its familiar names uses that type.
When none fits, compose: pick the pattern by the reader's question
(skills/writing-documents/references/type-index.md), use only the modules the
registry in core/document-patterns.md allows for that pattern, and borrow the
nearest type's section discipline (references/composing.md). Do not force the
nearest preset, and do not add a type for a one-off request. A composed shape
seen three times is promoted to a type; that is the only way the catalog grows.
The catalog is edited in one place. A type's slug, aliases, pattern and
default-theme live only in its type-<slug>.md yaml block, and the
families table in core/document-patterns.md lists it. scripts/catalog.py
derives everything else — the build, the Patterns page, the site, the
validator and the tests — from those files, the module registry, the
reader-question table in type-index.md and the stages in
consultancy-lifecycle.md. Gallery card copy lives in TYPE_QUESTIONS and
COMPOSED_GALLERY in scripts/build_examples.py; the homepage story lives in
STORY in scripts/build_site.py, with every date taken from the example it
links to.
When changing a writing-document type or composed example:
- Edit the type's
yamlblock (orcatalog.COMPOSED), never a second copy. - Update both Markdown and HTML examples.
- Rebuild and regenerate (see below).
- Run the full check list.
Canonical consultancy aliases such as HLD, LLD, TDD, PRD, API spec, PRR, and
RAID route through type-index.md; do not create duplicate types or commands
for a familiar filename. The mulesoft command is a compatibility profile of
canonical service-docs, not another type; compose is the only command that
is not a type.
For statements of work, estimates, and other delivery-commercial documents, never invent parties, rates, payment terms, legal clauses, approvals, or dates. Use the evidence states and leave missing terms unresolved.
Toolchain
nvm use && npm ci # Node 22.22.2+, pinned renderers
uv venv && uv pip install -r requirements-authoring.txt # Playwright + Pillow, pinned
uv run playwright install chromiumVersions are read from package.json and requirements-authoring.txt by
scripts/pins.py; the validator fails on any other version mention that
disagrees.
Regenerate in this order:
python3 scripts/build_examples.py
python3 scripts/sync_skill_assets.py
python3 scripts/build_site.py
uv run python3 scripts/shoot_examples.py # site shots need build_site.py firstCheck list — all must pass:
python3 scripts/sync_skill_assets.py --check
python3 -m unittest discover -s tests
python3 scripts/validate_repository.py .
python3 scripts/check_diagrams.py
uv run python3 scripts/check_render.py
python3 scripts/audit_theme.py --all --quiet
python3 scripts/build_site.py --checkA second build_examples.py run must leave examples/ unchanged.
Generated files
skills/<name>/{core,scripts,templates} are generated copies, so each skill
works when installed on its own. Edit the repository-level core/, scripts/,
and templates/, then run python3 scripts/sync_skill_assets.py; never edit a
copy. A skill that starts using another shared file needs it added to MANIFEST
in that script.
GitHub Pages is source-built. Do not hand-edit site/; the workflow rebuilds
examples before assembling the deployable site.
Do not add source-provenance, copied product naming, or private reference links
to repository documents, examples, screenshots, commit messages, or release
notes. Express the design principle in this repository's own vocabulary. The
design-influence credit lives only in THIRD_PARTY_LICENSES.md, the
diagram-design skill's credits, and the "Built on" sections of the README and
the site.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

