agentleFS
strands-agentsstrands-agents/box/.agents/skills/docs-writer/SKILL.md

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
  1. Very specific:

    Ask the placement question: does the reader need this page to use Box, or to trust or change Box?

    line 25
  2. Very specific:

    Stop if the page belongs to another owner: decisions.md (the kd skill), terminology.md, or tenets.md (only when the user asks).

    line 28
  3. Distinctive:

    Read the README of the guide, and each page the new page links to or replaces.

    line 30
  4. Distinctive:

    Read the code on current main before you write about it.

    line 34
  5. Very specific:

    Write down what you can't find: it goes to Tier 3 of claim-verification.md, not onto the page.

    line 42
  6. Very specific:

    Start from the skeleton for the subject in page-templates.md.

    line 58
  7. Distinctive:

    Use the register for the content type (Layer 3).

    line 68
  8. Distinctive:

    Read each paragraph aloud as you go.

    line 69
  9. Very specific:

    Follow claim-verification.md for each claim and each example.

    line 78
  10. Distinctive:

    Run the mechanical check and clear or justify each hit:

    line 89
  11. Very specific:

    Run the docs-reviewer skill on the draft in a fresh context.

    line 99
  12. Very specific:

    Add one row for a new page to the README.md of its guide.

    line 104
  13. Distinctive:

    Commit, push, or open a pull request.

    line 125
  14. Very specific:

    Write an entry in decisions.md.

    line 126
  15. Distinctive:

    Add or change a term in the terminology lock without the user's approval.

    line 127
  16. Distinctive:

    A command and its binary can have different names: Check what ships before you name one.

    line 134
  17. Very specific:

    --all-features is required: when you run a test to verify a claim.

    line 135
  18. Distinctive:

    The first draft carries detail from other pages: Always.

    line 137

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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/ or docs/design/, if known.
  • Existing content: the page to rewrite.

Process

Step 1: Place and classify

  1. Read voice-guide.md and docs/design/terminology.md.
  2. Ask the placement question: does the reader need this page to use Box, or to trust or change Box? That picks docs/user/ or docs/design/.
  3. Classify the content type. A page in docs/design/ is an explanation.
  4. Stop if the page belongs to another owner: decisions.md (the kd skill), terminology.md, or tenets.md (only when the user asks).
  5. 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.md and 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.md call 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

  1. The page, written to the target file.
  2. A short note on the content type and each editorial choice.
  3. Each claim you left out because you couldn't verify it, with the symbol and the tier that failed.
  4. 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.
  5. Each decisions.md entry that the code contradicts. Report it, and don't edit it: the kd skill owns that file.

In rewrite mode, also report:

  1. Each claim in the original that current main contradicts, as its own list, so the author can fix the original even if they don't take the rewrite.
  2. Whether the row for the page in its guide's README.md needs 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.md when the user asks.
  • Write an entry in decisions.md. That's the kd skill.
  • 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-features is 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.

Download now (ZIP)

  • Other versions29 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 29

    1. google-gemini/gemini-cli★ 109ksame name
    2. maximhq/bifrost★ 9.3ksame name
    3. strands-agents/sdk-python★ 9ksame name
    4. strands-agents/harness-sdk★ 8.9ksame name
    5. Devolutions/IronRDP★ 3.2ksame name
    6. prisma/docs★ 1.1ksame name
    7. prisma/web★ 1.1ksame name
    8. event-driven-io/emmett★ 550same name
    9. Cosmian/kms★ 362same name
    10. 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.
    • SentrySkill

      security-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

    • GoogleSkill

      code-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.

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.