docs-writer

作者: google-gemini

针对Gemini CLI文档进行技术写作与编辑,严格遵循风格规范。强制执行全面的文档标准,涵盖语气、语调、语法、格式和结构,确保所有.md文件和/docs目录内容的一致性。在修改前需调研相关代码和现有文档,并检查受影响的页面及侧边栏导航更新。应用标题、列表、流程、链接和可访问性等具体规则...

npx skills add https://github.com/google-gemini/gemini-cli --skill docs-writer

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.md resource 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 (never the 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 font for 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:

    Title
    • 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 are NOTE, TIP, IMPORTANT, WARNING, and CAUTION.

    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/ from docs/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 .mdx file.)

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

  1. 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.
  2. Investigate: Examine relevant code (primarily in packages/) for accuracy.
  3. Audit: Read the latest versions of relevant files in docs/.
  4. Connect: Identify all referencing pages if changing behavior. Check if docs/sidebar.json needs updates.
  5. Plan: Create a step-by-step plan before making changes.
  6. 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.

  1. Accuracy: Ensure content accurately reflects the implementation and technical behavior.
  2. Self-review: Re-read changes for formatting, correctness, and flow.
  3. 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.
  4. Format: If npm run format fails, it may be necessary to run npm install first to ensure all formatting dependencies are available. Once all changes are complete, ask to execute npm run format to ensure consistent formatting across the project. If the user confirms, execute the command.

来自 google-gemini 的更多技能

agent-tui
google-gemini
Main Agents: Do NOT use this skill directly. If you need to test the TUI, invoke the `tui_tester` subagent. Drive terminal UI (TUI) applications…
gemini-api-cli
google-gemini
使用Gemini API CLI工具的指南。当你需要通过命令行与Gemini API交互、管理代理或生成媒体(图像、……)时使用。
behavioral-evals
google-gemini
创建、运行、修复和推广行为评估的指南。用于验证代理决策逻辑、调试故障、调试提示…
gemini-live-api-dev
google-gemini
通过WebSocket与Gemini进行实时双向流式传输,支持音频、视频和文本对话。具备音频输入/输出(16 kHz PCM)、视频帧、文本以及带语音活动检测的自动转录功能,可实现中断处理。包含原生音频特性:情感对话、主动音频和思考模式;支持同步和异步工具调用的函数调用;以及Google搜索接地功能。提供会话管理,包括上下文压缩、恢复等。
gemini-omni-flash-api
google-gemini
使用此技能进行生成式视频编辑、文本转视频、图像参考视频生成以及首帧到视频的过渡动画,基于…
gemini-api-dev
google-gemini
使用Google的Gemini模型构建应用程序,支持多模态内容、函数调用和结构化输出,覆盖Python、JavaScript、Go和Java语言。可访问当前Gemini 3模型(Pro、Flash、Pro Image),具备100万token上下文;旧版Gemini 2.x和1.5模型已弃用。支持文本生成、图像/音频/视频理解、函数调用、结构化JSON输出、代码执行、上下文缓存和嵌入功能。提供官方SDK:google-genai(Python)...
gemini-interactions-api
google-gemini
Gemini模型与代理的统一接口,支持服务端状态、流式传输和工具编排。兼容当前多款模型(gemini-3-flash-preview、gemini-3-pro-preview、gemini-2.5-flash/pro)及Deep Research代理;自动将已弃用的模型ID替换为当前替代方案。通过previous_interaction_id将对话历史卸载至服务端,实现有状态的多轮交互,无需手动管理历史记录。内置工具编排功能包括...
deliver
google-gemini
将简报的浓缩版发布到 Google Chat 或 Slack 的传入 webhook,使每日运行自行投递——当没有 webhook 时静默跳过……