docs-writer
Skill490 starsChanged 6 days agoApache-2.0View on GitHub
Draft or rewrite a Box documentation page in docs/user/ (tutorial, how-to, or reference for an operator) or docs/design/ (explanation for a security evaluator or a contributor), or a crate README.md that serves a consumer. Use when asked to write a doc, draft a page, rewrite a page that failed audit, document a feature or a component, or write an architecture or security page. Not for docs/design/decisions.md (use kd), local specs (use spec), or research notes (use explore).
We split this skill into the rules it gives an agent
18 rules. 0 are common, 9 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 27 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
Ask the placement question: does the reader need this page to use Box, or to trust or change Box?
- Very specific: line 28
Stop if the page belongs to another owner: decisions.md (the kd skill), terminology.md, or tenets.md (only when the user asks).
- Distinctive: line 30
Read the README of the guide, and each page the new page links to or replaces.
- Distinctive: line 34
Read the code on current main before you write about it.
- Very specific: line 42
Write down what you can't find: it goes to Tier 3 of claim-verification.md, not onto the page.
- Very specific: line 58
Start from the skeleton for the subject in page-templates.md.
- Distinctive: line 68
Use the register for the content type (Layer 3).
- Distinctive: line 69
Read each paragraph aloud as you go.
- Very specific: line 78
Follow claim-verification.md for each claim and each example.
- Distinctive: line 89
Run the mechanical check and clear or justify each hit:
- Very specific: line 99
Run the docs-reviewer skill on the draft in a fresh context.
- Very specific: line 104
Add one row for a new page to the README.md of its guide.
- Distinctive: line 125
Commit, push, or open a pull request.
- Very specific: line 126
Write an entry in decisions.md.
- Distinctive: line 127
Add or change a term in the terminology lock without the user's approval.
- Distinctive: line 134
A command and its binary can have different names: Check what ships before you name one.
- Very specific: line 135
--all-featuresis required: when you run a test to verify a claim. - Distinctive: line 137
The first draft carries detail from other pages: Always.
“Common” is measured: kept by at least 6 in 10 of the 27 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Documentation writer
Draft or rewrite one Box documentation page in the voice of
voice-guide.md.
Inputs
- Topic: what the page covers. Required.
- Content type: tutorial, how-to, reference, or explanation. Classify it in Step 1 if the user doesn't give it.
- Target file: the path in
docs/user/ordocs/design/, if known. - Existing content: the page to rewrite.
Process
Step 1: Place and classify
- Read
voice-guide.mdanddocs/design/terminology.md. - Ask the placement question: does the reader need this page to use Box, or to trust or change
Box? That picks
docs/user/ordocs/design/. - Classify the content type. A page in
docs/design/is an explanation. - Stop if the page belongs to another owner:
decisions.md(thekdskill),terminology.md, ortenets.md(only when the user asks). - Read the README of the guide, and each page the new page links to or replaces.
Step 2: Gather the facts
Read the code on current main before you write about it.
- For each claim you expect to make, find the code that implements it and the test that pins it.
- For a design page, find each relevant entry in
docs/design/decisions.mdand note its anchor. - For a user page, find the parser that owns each key, verb, or action.
- Note every place where the terminology lock disagrees with what the code, the binaries, or
decisions.mdcall something.
Write down what you can't find: it goes to Tier 3 of
claim-verification.md, not onto the page.
Step 3: Sort the facts
You'll have far more than the page needs. Write a fact sheet to .agents/drafts/<page>-facts.md
that puts each fact in one of three piles:
- This page. It's at the page's altitude and the reader needs it here.
- Another page. It belongs to a sibling topic. It gets one clause and a link at most.
- Nowhere. An implementation detail that no reader of either page needs.
Expect most facts to land outside "this page".
Step 4: Outline
Start from the skeleton for the subject in
page-templates.md. A page about several parts gets one
section per part. Read the outline for scope creep and for detail that belongs to another page.
Show the outline to the user before you draft when the page is new, or when the outline changes the structure of an existing page. Raise each terminology clash from Step 2 at the same time.
Step 5: Draft
- Each section opens with what the reader needs first (Layer 2).
- Use the register for the content type (Layer 3).
- Read each paragraph aloud as you go. Rewrite any sentence a person wouldn't say.
- User guide: describe what is, and explain why only when the reason changes the operator's action.
- Design guide: keep each claim within what its test pins, name no test, and link each decision by anchor.
- Examples are complete, realistic, and one concept per block, with the output below the command.
- Diagrams show the main path only.
Step 6: Verify
Follow claim-verification.md for each claim and each
example. Don't skip this step. Remove each claim you can't verify, and report it.
Step 7: Cut
Cut by altitude, not by a percentage. Look first for detail that belongs to another page, then for a list said twice, then for sentences that restate the one before. Keep what this page's reader needs. Most of the quality comes from this step.
Step 8: Check
Run the mechanical check and clear or justify each hit:
.agents/skills/docs-reviewer/check-prose.sh <target-file>Compile each Mermaid block with mmdc.
Step 9: Review
Run the docs-reviewer skill on the draft in a fresh context. Fix its findings, then run it again
until the verdict is "Ship it".
Step 10: Link the page
Add one row for a new page to the README.md of its guide. Remove the page from the "still to
come" list in docs/design/README.md if it's there.
Output
- The page, written to the target file.
- A short note on the content type and each editorial choice.
- Each claim you left out because you couldn't verify it, with the symbol and the tier that failed.
- Open questions for the user: terminology, scope, and accuracy. When no user is in the loop (another agent ran this skill), this list replaces asking.
- Each
decisions.mdentry that the code contradicts. Report it, and don't edit it: thekdskill owns that file.
In rewrite mode, also report:
- Each claim in the original that current
maincontradicts, as its own list, so the author can fix the original even if they don't take the rewrite. - Whether the row for the page in its guide's
README.mdneeds new wording for the new outline.
What this skill doesn't do
- Commit, push, or open a pull request. Follow the commit flow in
AGENTS.mdwhen the user asks. - Write an entry in
decisions.md. That's thekdskill. - Add or change a term in the terminology lock without the user's approval.
- Change code to agree with a page.
Gotchas
- A design page isn't a decision entry. It explains how the parts fit together for a reader who wasn't there. Summarize a decision and link its anchor. Don't copy the argument.
- A command and its binary can have different names. Check what ships before you name one.
--all-featuresis required when you run a test to verify a claim. Without it, some suites are skipped and report success.- The first draft carries detail from other pages. Always.
Other versions29 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 29
- google-gemini/gemini-cli★ 109ksame name
- maximhq/bifrost★ 9.3ksame name
- strands-agents/sdk-python★ 9ksame name
- strands-agents/harness-sdk★ 8.9ksame name
- Devolutions/IronRDP★ 3.2ksame name
- prisma/docs★ 1.1ksame name
- prisma/web★ 1.1ksame name
- event-driven-io/emmett★ 550same name
- Cosmian/kms★ 362same name
- yamcodes/arkenv★ 147same name
19 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use security-review and code-review.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
SentrySkillsecurity-review
Finds exploitable application security vulnerabilities in code changes. Use for Warden security scans, appsec review, OWASP-style checks, authentication or authorization bugs, injection, XSS, SSRF, path traversal, secrets, unsafe crypto, webhook verification, open redirects, or sensitive data exposure.
Also in 4 projects that use this
GoogleSkillcode-review
Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.
Also in 4 projects that use this
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- authoring-box-policySkill
- debug-os-failure-on-githubSkill
- docs-auditSkill
- docs-plannerSkill
- docs-reviewerSkill
- docs-syncSkill
- exploreSkill
- kdSkill
- setting-up-a-boxSkill
- specSkill
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.

