docs-writer
google-gemini/gemini-cli
Write, review, and edit documentation for Gemini CLI with consistent standards and style.
What is docs-writer?
The docs-writer skill ensures accurate, clear, and consistent technical documentation for the Gemini CLI project. Use it whenever you need to write, review, or edit files in the `/docs` directory or any `.md` files in the repository.
- Enforces voice, tone, and grammar standards (active voice, present tense, conversational but professional)
- Applies consistent formatting rules (80-character wrapping, sentence case headings, semantic HTML)
- Manages documentation structure (BLUF introductions, hierarchical headings, proper list formatting)
- Handles links and cross-references (relative paths, descriptive anchor text, deep link updates)
- Audits documentation for gaps, outdated content, and consistency with current codebase
- Applies special formatting for callouts, details sections, and accessibility requirements
How to install docs-writer
npx skills add https://github.com/google-gemini/gemini-cli --skill docs-writerHow to use docs-writer
- 1.Clarify the documentation request and understand whether you're writing new content or editing existing content
- 2.Investigate relevant code in the `packages/` directory to ensure accuracy
- 3.Audit the latest versions of relevant files in the `docs/` directory
- 4.Identify all pages that reference content you're changing and check if `docs/sidebar.json` needs updates
- 5.Create a step-by-step plan before making changes
- 6.Execute your plan using file system tools, applying the documented standards and style rules
- 7.Verify changes for consistency, accuracy, and adherence to all formatting and voice guidelines
Use cases
- Writing new documentation pages or sections for Gemini CLI features
- Editing existing docs to fix grammar, clarity, or outdated information
- Reviewing documentation for adherence to project standards and style guide
- Updating documentation when code behavior changes or new features are added
- Auditing the entire documentation set for gaps and consistency issues
- Technical writers and documentation maintainers
- Developers contributing to Gemini CLI documentation
- Project leads ensuring documentation quality and consistency
- Anyone updating README, CONTRIBUTING, or docs files in the repository
docs-writer FAQ
Use active voice and present tense, address readers as 'you,' and adopt a professional but friendly and direct tone. Avoid jargon, slang, marketing hype, idioms, and cultural references. Use contractions like 'don't' and 'it's,' and be clear about requirements (must) versus recommendations (we recommend).
Use numbered lists for sequential steps and bulleted lists otherwise. Introduce steps with a complete sentence, start each step with an imperative verb, put conditions before instructions, and clearly mark optional steps. Keep list items parallel in structure.
When you change a heading, you must check for deep links to that heading in other pages and update them accordingly. Also verify that relative links still exist after your changes.
Use relative links in the `/docs/` directory (relative to the current file's directory, without including `/docs/` in the path). Use descriptive anchor text that makes sense out of context. For meta files like README.md and CONTRIBUTING.md, use absolute links instead.
Follow Phase 2 preparation: clarify the request, investigate relevant code for accuracy, audit existing documentation, identify all referencing pages, and create a step-by-step plan before making changes.
Full instructions (SKILL.md)
Source of truth, from google-gemini/gemini-cli.
name: docs-writer
description:
Always use this skill when the task involves writing, reviewing, or editing
files in the /docs directory or any .md files in the repository.
docs-writer skill instructions
As an expert technical writer and editor for the Gemini CLI project, you produce
accurate, clear, and consistent documentation. When asked to write, edit, or
review documentation, you must ensure the content strictly adheres to the
provided documentation standards and accurately reflects the current codebase.
Adhere to the contribution process in CONTRIBUTING.md and the following
project standards.
Phase 1: Documentation standards
Adhering to these principles and standards when writing, editing, and reviewing.
Voice and tone
Adopt a tone that balances professionalism with a helpful, conversational approach.
- Perspective and tense: Address the reader as "you." Use active voice and present tense (e.g., "The API returns...").
- Tone: Professional, friendly, and direct.
- Clarity: Use simple vocabulary. Avoid jargon, slang, and marketing hype.
- Global Audience: Write in standard US English. Avoid idioms and cultural references.
- Requirements: Be clear about requirements ("must") vs. recommendations ("we recommend"). Avoid "should."
- Word Choice: Avoid "please" and anthropomorphism (e.g., "the server thinks"). Use contractions (don't, it's).
Language and grammar
Write precisely to ensure your instructions are unambiguous.
- Abbreviations: Avoid Latin abbreviations; use "for example" (not "e.g.") and "that is" (not "i.e.").
- Punctuation: Use the serial comma. Place periods and commas inside quotation marks.
- Dates: Use unambiguous formats (e.g., "January 22, 2026").
- Conciseness: Use "lets you" instead of "allows you to." Use precise, specific verbs.
- Examples: Use meaningful names in examples; avoid placeholders like "foo" or "bar."
- Quota and limit terminology: For any content involving resource capacity
or using the word "quota" or "limit", strictly adhere to the guidelines in
the
quota-limit-style-guide.mdresource file. Generally, Use "quota" for the administrative bucket and "limit" for the numerical ceiling.
Formatting and syntax
Apply consistent formatting to make documentation visually organized and accessible.
-
Overview paragraphs: Every heading must be followed by at least one introductory overview paragraph before any lists or sub-headings.
-
Text wrap: Wrap text at 80 characters (except long links or tables).
-
Casing: Use sentence case for headings, titles, and bolded text.
-
Naming: Always refer to the project as
Gemini CLI(neverthe Gemini CLI). -
Lists: Use numbered lists for sequential steps and bulleted lists otherwise. Keep list items parallel in structure.
-
UI and code: Use bold for UI elements and
code fontfor filenames, snippets, commands, and API elements. Focus on the task when discussing interaction. -
Accessibility: Use semantic HTML elements correctly (headings, lists, tables).
-
Media: Use lowercase hyphenated filenames. Provide descriptive alt text for all images.
-
Details section: Use the
<details>tag to create a collapsible section. This is useful for supplementary or data-heavy information that isn't critical to the main flow.Example:
<details> <summary>Title</summary>- First entry
- Second entry
-
Callouts: Use GitHub-flavored markdown alerts to highlight important information. To ensure the formatting is preserved by
npm run format, place an empty line, then a prettier ignore comment directly before the callout block. Use<!-- prettier-ignore -->for standard Markdown files (.md) and{/* prettier-ignore */}for MDX files (.mdx). The callout type ([!TYPE]) should be on the first line, followed by a newline, and then the content, with each subsequent line of content starting with>. Available types areNOTE,TIP,IMPORTANT,WARNING, andCAUTION.Example (.md):
[!NOTE] This is an example of a multi-line note that will be preserved by Prettier.
Example (.mdx):
{/* prettier-ignore */}
[!NOTE] This is an example of a multi-line note that will be preserved by Prettier.
Links
- Accessibility: Use descriptive anchor text; avoid "click here." Ensure the link makes sense out of context, such as when being read by a screen reader.
- Use relative links in docs: Use relative links in documentation (
/docs/) to ensure portability. Use paths relative to the current file's directory (for example,../tools/fromdocs/cli/). Do not include the/docs/section of a path, but do verify that the resulting relative link exists. This does not apply to meta files such as README.MD and CONTRIBUTING.MD. - When changing headings, check for deep links: If a user is changing a heading, check for deep links to that heading in other pages and update accordingly.
Structure
- BLUF: Start with an introduction explaining what to expect.
- Experimental features: If a feature is clearly noted as experimental, add the following note immediately after the introductory paragraph:
[!NOTE] This is an experimental feature currently under active development. (Note: Use
{/* prettier-ignore */}if editing an.mdxfile.)
- Headings: Use hierarchical headings to support the user journey.
- Procedures:
- Introduce lists of steps with a complete sentence.
- Start each step with an imperative verb.
- Number sequential steps; use bullets for non-sequential lists.
- Put conditions before instructions (e.g., "On the Settings page, click...").
- Provide clear context for where the action takes place.
- Indicate optional steps clearly (e.g., "Optional: ...").
- Elements: Use bullet lists, tables, details, and callouts.
- Avoid using a table of contents: If a table of contents is present, remove it.
- Next steps: Conclude with a "Next steps" section if applicable.
Phase 2: Preparation
Before modifying any documentation, thoroughly investigate the request and the surrounding context.
- Clarify: Understand the core request. Differentiate between writing new content and editing existing content. If the request is ambiguous (e.g., "fix the docs"), ask for clarification.
- Investigate: Examine relevant code (primarily in
packages/) for accuracy. - Audit: Read the latest versions of relevant files in
docs/. - Connect: Identify all referencing pages if changing behavior. Check if
docs/sidebar.jsonneeds updates. - Plan: Create a step-by-step plan before making changes.
- Audit Docset: If asked to audit the documentation, follow the procedural guide in docs-auditing.md.
Phase 3: Execution
Implement your plan by either updating existing files or creating new ones
using the appropriate file system tools. Use replace for small edits and
write_file for new files or large rewrites.
Editing existing documentation
Follow these additional steps when asked to review or update existing documentation.
- Gaps: Identify areas where the documentation is incomplete or no longer reflects existing code.
- Structure: Apply "Structure (New Docs)" rules (BLUF, headings, etc.) when adding new sections to existing pages.
- Headers: If you change a header, you must check for links that lead to that header and update them.
- Tone: Ensure the tone is active and engaging. Use "you" and contractions.
- Clarity: Correct awkward wording, spelling, and grammar. Rephrase sentences to make them easier for users to understand.
- Consistency: Check for consistent terminology and style across all edited documents.
Phase 4: Verification and finalization
Perform a final quality check to ensure that all changes are correctly formatted and that all links are functional.
- Accuracy: Ensure content accurately reflects the implementation and technical behavior.
- Self-review: Re-read changes for formatting, correctness, and flow.
- Link check: Verify all new and existing links leading to or from modified pages. If you changed a header, ensure that any links that lead to it are updated.
- Format: If
npm run formatfails, it may be necessary to runnpm installfirst to ensure all formatting dependencies are available. Once all changes are complete, ask to executenpm run formatto ensure consistent formatting across the project. If the user confirms, execute the command.
Related skills
More from google-gemini/gemini-cli and the wider catalog.

github-issue-creator
Agent skill from google-gemini/gemini-cli.

pirate-skill
Speak like a pirate.

pr-address-comments
Use this skill if the user asks you to help them address GitHub PR comments for their current branch of the Gemini CLI. Requires `gh` CLI tool.

pr-creator
Create pull requests that follow repository templates and standards.

gemini-api-dev
Build with Google's Gemini API: text, chat, images, video, speech, and agentic workflows in Python and TypeScript.

gemini-interactions-api
Call Gemini API for text, chat, images, video, and agentic tasks using the Interactions API.