Official agent skill

Write

by docker in docker/docs

Write or edit reader-facing technical prose for immediate comprehension.

OfficialApache-2.0Auto-check passedDevelopment

Install Write

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

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

GitHub CLI
$ gh skill install docker/docs write --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/docker/docs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/write .claude/skills/write && 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
GitHub stars
4.7k
Token cost
~1.1k tokens
SKILL.md length
498 words
Files
2 (incl. scripts)
Skills in repo
13
Repo updated
First seen
Licence
Apache-2.0

At a glance

Write or edit reader-facing technical prose for immediate comprehension.

  • Works in 6 steps: Create a branch → Read then edit → Front matter check → …
  • PR titles and descriptions
  • SKILL.md covers Prose review, 1. Create a branch, 2. Read then edit and 3. Front matter check, plus 4 more sections
  • Runs Shell scripts from its folder; calls git

What it does

Write is an agent skill from docker/docs, published by the product's own GitHub organization. Write or edit reader-facing technical prose for immediate comprehension. Use for documentation, PR titles and descriptions, release notes, design documents, user-facing explanations, and substantive comments. Also use when asked to make writing clearer, more natural, less AI-generated, or easier to read. For documentation fixes, handles edits, formatting, self-review, and commits after research identifies what to change. Do not use for code-only tasks with no prose deliverable.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/post-edit.sh`).

It sits in Development, covering Changelog and release notes. The repository describes itself as: Source repo for Docker's Documentation. The licence is Apache-2.0.

When your agent uses it

  • PR titles and descriptions
  • Design documents
  • User-facing explanations
  • Substantive comments

Example prompts

  • “/write”

Requirements

  • A Bash shell

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Create a branch
  2. Read then edit
  3. Front matter check
  4. Validate
  5. Self-review
  6. Commit

What it can do on your machine

Read from SKILL.md and the folder at commit 7ba25ee. 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

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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 loads about 1.1k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 498 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); the scripts in this folder are not scanned.

SKILL.md

The full file from docker/docs at commit 7ba25ee, republished under its Apache-2.0 licence (© docker). 498 words, ~1,109 tokens.

Download SKILL.mdSave it as .claude/skills/write/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
write
description
Write or edit reader-facing technical prose for immediate comprehension. Use for documentation, PR titles and descriptions, release notes, design documents, user-facing explanations, and substantive comments. Also use when asked to make writing clearer, more natural, less AI-generated, or easier to read. For documentation fixes, handles edits, formatting, self-review, and commits after research identifies what to change. Do not use for code-only tasks with no prose deliverable.

Write

Follow the human-readable prose guidance in AGENTS.md and the style rules in STYLE.md. Apply the prose review below to every prose deliverable, including titles and short comments.

For a prose-only request, return the requested text after reviewing it. Use the numbered workflow for a documentation fix after research has identified what to change. Branch and commit steps apply to that workflow, not to drafting a title, description, or comment. Publishing prose requires authorization from the user.

Prose review

Before returning or committing prose, read it as if explaining the change to an experienced colleague. Fix sentences that require a second reading even when their grammar is correct. Lint passing does not replace this review.

  • Replace invented labels and stacks of nouns with the action or relationship they describe: "post-update configuration validation" becomes "validate the configuration after the update"
  • Use direct verbs: "perform an evaluation of" becomes "evaluate"
  • State concrete behavior instead of vague claims: "improve navigation discoverability" becomes "show the current page in the sidebar" when that is the actual change
  • Keep established technical terms, exact identifiers, and qualifications needed for accuracy. Clarify the surrounding sentence instead of replacing a precise term with a vague one
  • Check titles and headings separately. Use enough words to make their meaning clear without relying on the body to explain an invented label

Make these edits silently. Return the requested prose without a report of this review unless the user asks for one.

1. Create a branch

bash
git checkout -b fix/issue-<number>-<short-desc> main

Use a short kebab-case description derived from the issue title (3-5 words).

2. Read then edit

Always read each file before modifying it. Make the minimal change that fixes the issue. Do not improve surrounding content, add comments, or address adjacent problems.

Follow the writing guidelines in CLAUDE.md, STYLE.md, and COMPONENTS.md.

Show full SKILL.md (203 more words)Show less

3. Front matter check

Every content page requires title, description, and keywords in its front matter. If any are missing from a file you touch, add them.

4. Validate

rumdl runs automatically after each edit via the PostToolUse hook. Run lint manually after all edits are complete:

bash
scripts/lint.sh <changed-markdown-files>

The lint script runs rumdl and Vale on only the files you pass it, so the output is scoped to your changes. Fix errors and warnings on lines you added or changed, and review each suggestion. Vale can exit successfully when warnings or suggestions remain in its output.

5. Self-review

Re-read each changed file: right file, right lines, change is complete, front matter is present. Run git diff and verify only intended changes are present. Apply the prose review to the changed text and the commit message.

6. Commit

Stage only the changed files:

bash
git add <files>
git diff --cached --name-only  # verify — no package-lock.json or other noise
git commit -m "$(cat <<'EOF'
docs: <short description under 72 chars> (fixes #NNNN)

<What was wrong: one sentence citing the specific problem.>
<What was changed: one sentence describing the exact edit.>

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

The commit body is mandatory. A reviewer reading only the commit should understand the problem and the fix without opening the issue.

Notes

  • Never edit _vendor/ or data/cli/ — these are vendored
  • If a file doesn't exist, check for renames: git log --all --full-history -- "**/filename.md"
  • If the fix requires a URL that cannot be verified, stop and report a blocker rather than guessing

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

Files

SKILL.md and 1 other file (scripts) in .agents/skills/write of docker/docs.

  • SKILL.md
  • scripts/post-edit.sh

Open the folder on GitHubat commit 7ba25ee

Compare with similar skills

Write 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 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Write this skilldocker/docs4.7k—~1.1kAutomated safety check: PassApache-2.0
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT
StarRocks Release NotesStarRocks/starrocks12k—~1.9kAutomated safety check: NotesApache-2.0
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT
Mole CLI Release Flowtw93/Mole70k—~2.5kAutomated safety check: PassGPL-3.0

Similar skills

  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • StarRocks Release Notes

    StarRocks/starrocks

    Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.

    12k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Release

    PrefectHQ/fastmcp

    Cut a FastMCP release end to end. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed

More from docker/docs

All 13 skills in this repo
  • Official

    Audit a documentation site for agent-friendliness: discovery, markdown delivery, crawlability, semantic structure, machine-readable surfaces, and content legibility.

    4.7k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Official

    Handle Hugo docs information-architecture moves: discover old vs new URLs, add front matter aliases (Phase 1), update in-repo links (Phase 2), interactive List 2 resolution and fragment validation…

    4.7k GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • Create Lab Guide

    docker/docs

    Official

    Clone a dockersamples Labspace repo, extract learning objectives and module structure from labspace.yaml, and produce a Hugo guide page under content/guides/ with correct frontmatter…

    4.7k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Curate Whats New

    docker/docs

    Official

    Curate noteworthy Docker launches from documentation pull requests merged during a requested period.

    4.7k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Fix Issue

    docker/docs

    Official

    Fix a single GitHub issue end-to-end: triage, research, write the fix, review, and create a PR.

    4.7k GitHub stars~595 tokensUpdated today
    Auto-check passed
  • Maintain PR

    docker/docs

    Official

    Maintain and follow up on a single Docker documentation pull request that you own or are responsible for updating.

    4.7k GitHub stars~825 tokensUpdated today
    Auto-check passed

Categories

Questions about Write

What does Write do?

Write or edit reader-facing technical prose for immediate comprehension. Write is an agent skill from docker/docs, published by the product's own GitHub organization. Write or edit reader-facing technical prose for immediate comprehension.

When should I use Write?

Write fits situations like: PR titles and descriptions; design documents; user-facing explanations; substantive comments.

How do I install Write in Claude Code?

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

How do I install Write in Codex?

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

Can I use Write 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 docker/docs --skill write -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, .gemini/skills/write, .github/skills/write and .opencode/skills/write in your project.

What does Write need to run?

Going by SKILL.md and its folder, Write needs a shell for the scripts in its folder and the command-line tools its instructions call (git). Our summary lists: A Bash shell.

Does Write access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Write 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Write use?

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

How many tokens does Write use?

About 1.1k tokens (SKILL.md is roughly 4.4k 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?

Skills that share tags, products or a category with Write: Simple English (moeru-ai/airi, 50k stars), StarRocks Release Notes (StarRocks/starrocks, 12k stars), Cutting A Release (TriliumNext/Trilium, 38k stars) and React Router Release Notes Prep (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Write?

docker (a GitHub organization, an official publisher) maintains it in docker/docs, which has 4,667 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.

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