Agent skill

Write Docs

by cdiggins in cdiggins/plato

Read BEFORE writing or editing any durable document in this repo — docs/.md, stdlib/.md, tracker/readme.md, AGENTS.md, any README.

MITAuto-check passedAgent Workflows

Install Write Docs

skills CLI
$ npx skills add cdiggins/plato --skill write-docs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cdiggins/plato write-docs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cdiggins/plato.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/write-docs .claude/skills/write-docs && rm -rf skills-src

Use ~/.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/

Facts

Skill name
write-docs
GitHub stars
106
Token cost
~1.1k tokens
SKILL.md length
508 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Read BEFORE writing or editing any durable document in this repo — docs/.md, stdlib/.md, tracker/readme.md, AGENTS.md, any README.

  • The user says document X
  • SKILL.md covers The one rule that keeps…, Also, Scope and Before you finish
  • Calls python
  • Update the docs

What it does

Write Docs is an agent skill from cdiggins/plato. Read BEFORE writing or editing any durable document in this repo — docs/.md, stdlib/.md, tracker/readme.md, AGENTS.md, any README. Enforces the no-drifting-facts rule (state design, never measurements) plus the one-authority-per-fact rules from docs/documentation-conventions.md. Use when the user says "document X", "write a doc", "update the docs", "write this up", or when a task produces a lasting write-up. Skip for dated snapshots, docs/archive/, and generated files.

Its SKILL.md is about 1.1k 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 Agent Workflows, covering Technical documentation. The repository describes itself as: A simple and efficient cross-platform programming language. The licence is MIT.

When your agent uses it

  • The user says document X
  • Update the docs
  • A task produces a lasting write-up

Example prompts

  • “document X”
  • “write a doc”
  • “update the docs”
  • “/write-docs”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit f6e02cf. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Write Docs loads about 1.1k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 508 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~122
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from cdiggins/plato at commit f6e02cf, republished under its MIT licence (© cdiggins). 508 words, ~1,061 tokens.

Download SKILL.mdSave it as .claude/skills/write-docs/SKILL.md (or your agent's skills folder).
name
write-docs
description
Read BEFORE writing or editing any durable document in this repo — docs/*.md, stdlib/*.md, tracker/readme.md, AGENTS.md, any README. Enforces the no-drifting-facts rule (state design, never measurements) plus the one-authority-per-fact rules from docs/documentation-conventions.md. Use when the user says "document X", "write a doc", "update the docs", "write this up", or when a task produces a lasting write-up. Skip for dated snapshots, docs/archive/**, and generated files.
argument-hint
path to the document being written or edited

Writing durable docs in the Plato repo

Normative source: docs/documentation-conventions.md. Read it when a case is not covered below. This skill is the working checklist.

Worked example of the style: stdlib/VERIFICATION.md.

The one rule that keeps getting violated

A durable document states design, not measurements.

Before writing any number, apply the three-month test: will this still be true in three months? If no, it is a measurement — do not write it. Name its authority instead.

Stale numbers are worse than absent ones: a reader cannot tell a stale figure from a fresh one, so one rotten number discredits the document. A second copy of an enforced value (a ratchet ceiling) rots silently while the enforced copy moves.

Drop on sight
  • Scope preambles that inventory a directory ("stdlib/, 424 files — foundation 133, …").
  • "Current state (measured <date>)" tables. The date makes it more dangerous, not less.
  • Restated ratchet ceilings, finding counts, diagnostic counts, test tallies, generated-file counts, per-gate timings.
  • Any number a script already produces.
Keep
  • Normative limits from a spec ("TupleN stops at 10 fields").
  • Historical incident figures tied to a finished event ("that shape produced 40 CS0736 errors").
  • Orders of magnitude, stated as such ("runs in seconds", "fires in the thousands").
  • Identifiers, paths, flags, rule codes, issue ids.
Say where the number lives instead
QuestionAuthority
what do the gates say now?plato_check, or python tools/record-gates.py --dry-run
what did they say at commit X?docs/gate-log.md
a ratchet ceilingthe constant in the test that enforces it
how long a gate takes.\tools\gate-timings.ps1
burn-down statuspython tools/track.py show <id>
Show full SKILL.md (250 more words)Show less

Also

  • One authority per fact. If another file already states it, link — do not restate. Two copies become two different rules.
  • Name the mechanism, not the moment. "The corpus floor stops an empty enumeration from passing", not "the corpus floor is 300".
  • Prefer a rule to a report. "A ceiling is lowered, never raised" outlives "the ceiling is 33".
  • When a document and a gate disagree, the gate is right. Several status blocks in this repo describe blockers that were fixed after they were written. Re-measure before quoting status prose.
  • Declare the omission. Where a reader expects numbers, say in one sentence that the document records none and why — otherwise the next author helpfully adds them back.
  • Mark inferred claims as inferred. Confidence is a fact about the claim; it does not drift.

Scope

Applies to docs/*.md, docs/design/**, stdlib/*.md, tracker/readme.md, AGENTS.md, and every README.md. docs/README.md says which tier a document is in.

Does not apply to dated snapshots (*-YYYY-MM-DD.md), docs/reports/**, docs/essays/**, docs/discussions/**, docs/archive/**, or generated files (docs/gate-log.md, docs/status-report*, docs/types-and-concepts-*.txt) — recording a moment is their whole purpose, and the date in the name is the honest label.

For README voice and structure, use the write-readme skill; this skill governs which facts any document may state.

Before you finish

Re-read your own draft hunting only for numbers, and delete or re-home each one that fails the three-month test. This is the step that gets skipped — the rule is easy to agree with while drafting and easy to violate in the same paragraph.

© cdiggins, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/write-docs of cdiggins/plato.

Open the folder on GitHubat commit f6e02cf

Compare with similar skills

Write Docs 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.

Write Docs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Write Docs this skillcdiggins/plato106—~1.1kAutomated safety check: PassMIT
Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills21k—~1.9kAutomated safety check: PassMIT
Compound Learning WriterEveryInc/compound-engineering-plugin25k—~2kAutomated safety check: PassMIT
Compound Learnings RefreshEveryInc/compound-engineering-plugin25k—~2kAutomated safety check: PassMIT
Dsh Web Documentationzhu1090093659/dsh-web8.4k—~479Automated safety check: PassApache-2.0
Codebase Handbook BuilderRuhan-Wang/Harness_Handbook331—~2.2kAutomated safety check: PassApache-2.0

Similar skills

  • Neat-Freak Knowledge Closeout

    KKKKhazix/khazix-skills

    Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.

    21k GitHub stars~1.9k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed
  • Compound Learning Writer

    EveryInc/compound-engineering-plugin

    Records one solved and verified problem as a durable learning in the repository, but only when the reasoning is not already clear from the final code, tests or docs.

    25k GitHub stars~2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Compound Learnings Refresh

    EveryInc/compound-engineering-plugin

    Audits a repo's stored learnings against the current codebase, fixes stale, overlapping or superseded docs and reports on every document.

    25k GitHub stars~2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Dsh Web Documentation

    zhu1090093659/dsh-web

    A skill your agent uses when adding or editing dsh-web README files, docs, AGENTS.md instructions, user-facing configuration text, or bilingual documentation pairs.

    8.4k GitHub stars~479 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Codebase Handbook Builder

    Ruhan-Wang/Harness_Handbook

    Generates, refreshes, validates and uses a compact handbook that maps where a change touches in a repository, using the active Codex session and no external LLM API.

    331 GitHub stars~2.2k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • New Command Docs

    tractorjuice/arc-kit

    This skill should be used when a new ArcKit command has been added and documentation needs updating across the repository.

    2.3k GitHub stars~2.3k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from cdiggins/plato

  • Track Backlog

    cdiggins/plato

    View and manage the tracker backlog — show in-progress work, current priorities, sprint contents; triage untriaged items; promote ideas to ready; plan a sprint (big rocks + little rocks…

    106 GitHub stars~1k tokensUpdated 11 days ago
    Auto-check passed
  • Track Idea

    cdiggins/plato

    Log a new idea into tracker/ with elaboration — assumptions, design decisions, related work links, approach brainstorm, and simplest implementation.

    106 GitHub stars~1.3k tokensUpdated 11 days ago
    Auto-check passed
  • Track Issue

    cdiggins/plato

    Log a concrete issue (bug, technical debt, open design problem, or retire candidate) into tracker/ with elaboration — symptoms/impact, affected code links, root-cause notes, fix approaches, and…

    106 GitHub stars~1.7k tokensUpdated 11 days ago
    Auto-check passed
  • Write Readme

    cdiggins/plato

    Write or review a project README.md in plain technical-writer prose — problem it solves and doesn't, honest assessment of tested vs untested, trade-offs, prior art, organization, and usage.

    106 GitHub stars~1.6k tokensUpdated 11 days ago
    Auto-check passed

Questions about Write Docs

What does Write Docs do?

Read BEFORE writing or editing any durable document in this repo — docs/.md, stdlib/.md, tracker/readme.md, AGENTS.md, any README. Write Docs is an agent skill from cdiggins/plato.md, any README.

When should I use Write Docs?

Write Docs fits situations like: the user says document X; update the docs; A task produces a lasting write-up.

How do I install Write Docs in Claude Code?

Run `npx skills add cdiggins/plato --skill write-docs -a claude-code`. Or copy the skill folder (.claude/skills/write-docs in cdiggins/plato) into .claude/skills/write-docs in your project. Claude Code loads it when a task matches its description.

How do I install Write Docs in Codex?

Run `npx skills add cdiggins/plato --skill write-docs -a codex`. Or copy the skill folder (.claude/skills/write-docs in cdiggins/plato) into .agents/skills/write-docs in your project. Codex loads it when a task matches its description.

Can I use Write Docs in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cdiggins/plato --skill write-docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write-docs, .gemini/skills/write-docs, .github/skills/write-docs and .opencode/skills/write-docs in your project.

What does Write Docs need to run?

Going by SKILL.md and its folder, Write Docs needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Write Docs access the network?

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.

Is Write Docs safe to install?

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.

What licence does Write Docs use?

Write Docs is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Write Docs use?

About 1.1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Write Docs?

Skills that share tags, products or a category with Write Docs: Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars), Compound Learning Writer (EveryInc/compound-engineering-plugin, 25k stars), Compound Learnings Refresh (EveryInc/compound-engineering-plugin, 25k stars) and Dsh Web Documentation (zhu1090093659/dsh-web, 8.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Write Docs?

cdiggins (a GitHub user) maintains it in cdiggins/plato, which has 106 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 26, 2026.

Source: cdiggins/plato on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.