Token导航 LogoToken导航TokenDH.com
开发敏感数据github未标认证来源可访问许可证需确认审计提醒

documentation-writing文档写作

Agent Skill

用于辅助文档、README、Markdown、说明文和内容稿件的整理与改写。它适合让 Agent 提炼结构、补齐章节、统一术语、检查链接或把零散材料整理成可读文档。使用时应保留项目已有事实、命令和路径,不要把未确认的信息写成确定结论;涉及对外文案时,还需要控制语气,避免过度营销或夸大能力。

总安装

250

周安装

10

GitHub Stars

17

下载量

81
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:documentation-writing(文档写作)
来源仓库:https://github.com/vinnie357/claude-skills
仓库路径:skills/documentation-writing
安装命令:
npx skills add https://github.com/vinnie357/claude-skills --skill documentation-writing
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/vinnie357/claude-skills --skill documentation-writing

简介

documentation-writing 用于辅助文档、README、Markdown 和内容稿件的整理与改写。

  • 适合提炼结构、补齐章节、统一术语或把零散材料整理成可读文档。
  • 通过 npx skills add 命令从 GitHub 仓库安装,需指定技能名称和仓库地址。
  • 使用时应保留项目已有事实,避免将未确认信息写成确定结论。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Technical Documentation Writing

This skill activates when writing or improving technical documentation, including README files, API documentation, user guides, and inline code documentation.

When to Use This Skill

Activate when:

  • Writing README files
  • Creating API documentation
  • Writing user guides or tutorials
  • Documenting code with comments or docstrings
  • Creating architecture or design documents
  • Writing changelogs or release notes

README Files

Essential README Structure

Every README should include:

# Project Name

Brief one-liner description of the project.

## Overview

2-3 paragraphs explaining what the project does, why it exists, and who it's for.

## Features

- Key feature 1
- Key feature 2
- Key feature 3

## Installation

### Prerequisites

- Requirement 1 (with version)
- Requirement 2 (with version)

### Install Steps

Clone repository

git clone https://github.com/user/project.git cd project

Install dependencies

npm install # or pip install -r requirements.txt, mix deps.get, etc.

Configure

cp .env.example .env

Edit .env with your settings

Run

npm start


## Quick Start

Minimal example to get started

npm start


## Usage

### Basic Example

// Clear, runnable example const example = new Project() example.doSomething()


### Advanced Usage

More complex examples with explanations.

## Configuration

| Option | Type | Default | Description |
| --- | --- | --- | --- |
| `apiKey` | string | - | API key for authentication |
| `timeout` | number | 5000 | Request timeout in ms |

## API Reference

Link to detailed API documentation or include core APIs here.

## Development

### Setup Development Environment

Development-specific setup

npm install --dev npm run setup


### Running Tests

npm test npm run test:coverage


### Building

npm run build


## Contributing

Please read [CONTRIBUTING.md](https://github.com/vinnie357/claude-skills/blob/HEAD/plugins/core/skills/documentation/CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.

## License

This project is licensed under the MIT License - see the [LICENSE](https://github.com/vinnie357/claude-skills/blob/HEAD/plugins/core/skills/documentation/LICENSE) file for details.

## Acknowledgments

- Credits
- Inspirations
- Related projects

## Support

- Documentation: [https://docs.example.com](https://docs.example.com)
- Issues: [https://github.com/user/project/issues](https://github.com/user/project/issues)
- Discussions: [https://github.com/user/project/discussions](https://github.com/user/project/discussions)

README Best Practices

  • Start with a clear one-liner: Immediately tell readers what the project does
  • Include badges: Build status, coverage, version, license
  • Show, don't tell: Use code examples liberally
  • Keep it scannable: Use headers, lists, and code blocks
  • Make examples runnable: Readers should be able to copy-paste and run
  • Include visual aids: Screenshots, diagrams, GIFs when appropriate
  • Update regularly: Keep documentation in sync with code
  • Think about newcomers: Write for someone seeing the project for the first time

API Documentation

Documenting Functions

Elixir (@doc):

@doc """
Calculates the sum of two numbers.

## Parameters

- `a` - The first number (integer or float)
- `b` - The second number (integer or float)

## Returns

The sum of `a` and `b`.

## Examples

    iex> Math.add(2, 3)
    5

    iex> Math.add(2.5, 3.7)
    6.2

"""
@spec add(number(), number()) :: number()
def add(a, b) do
  a + b
end

JavaScript (JSDoc):

/**
 * Calculates the sum of two numbers.
 *
 * @param {number} a - The first number
 * @param {number} b - The second number
 * @returns {number} The sum of a and b
 *
 * @example
 * add(2, 3)
 * // => 5
 */
function add(a, b) {
  return a + b
}

Python (docstring):

def add(a: float, b: float) -> float:
    """
    Calculate the sum of two numbers.

    Args:
        a: The first number
        b: The second number

    Returns:
        The sum of a and b

    Examples:
        >>> add(2, 3)
        5
        >>> add(2.5, 3.7)
        6.2

    Raises:
        TypeError: If arguments are not numbers
    """
    return a + b

Rust (doc comments):

/// Calculates the sum of two numbers.
///
/// # Arguments
///
/// * `a` - The first number
/// * `b` - The second number
///
/// # Returns
///
/// The sum of `a` and `b`
///
/// # Examples
///
/// ```
/// use mylib::add;
///
/// assert_eq!(add(2, 3), 5);
/// assert_eq!(add(2.5, 3.7), 6.2);
/// ```
pub fn add(a: f64, b: f64) -> f64 {
    a + b
}

Module/Class Documentation

Document the purpose, usage, and public API:

defmodule MyApp.UserManager do
  @moduledoc """
  Manages user accounts and authentication.

  The UserManager provides functions for creating, updating, and authenticating
  users. It handles password hashing, session management, and user validation.

  ## Usage

      # Create a new user
      {:ok, user} = UserManager.create_user(%{
        email: "alice@example.com",
        password: "secure_password"
      })

      # Authenticate
      {:ok, user} = UserManager.authenticate("alice@example.com", "secure_password")

      # Update user
      {:ok, updated} = UserManager.update_user(user, %{name: "Alice Smith"})

  ## Configuration

  Configure in `config/config.exs`:

      config :my_app, MyApp.UserManager,
        password_min_length: 8,
        session_timeout: 3600

  """
end

API Endpoint Documentation

Document RESTful APIs clearly:

## Endpoints

### Create User

Creates a new user account.

**Endpoint:** `POST /api/users`

**Authentication:** Not required

**Request Body:**

{ "email": "alice@example.com", "password": "secure_password", "name": "Alice Smith" }


**Response (201 Created):**

{ "id": "123", "email": "alice@example.com", "name": "Alice Smith", "created_at": "2024-01-15T10:30:00Z" }


**Error Responses:**

- `400 Bad Request` - Invalid input `{"error": "validation_error", "details": {"email": ["must be a valid email address"], "password": ["must be at least 8 characters"]}}`
- `409 Conflict` - Email already exists `{"error": "email_taken", "message": "An account with this email already exists"}`

**Example:**

curl -X POST https://api.example.com/users \ -H "Content-Type: application/json" \ -d '{ "email": "alice@example.com", "password": "secure_password", "name": "Alice Smith" }'

User Guides and Tutorials

Tutorial Structure

# Tutorial: Building Your First [Feature]

## What You'll Build

Brief description of the end result.

## Prerequisites

- Knowledge requirement 1
- Installed tool 1
- Account/access requirement

## Step 1: [First Major Step]

Explanation of what we're doing and why.

// Code for this step


**What's happening here:**

- Explanation of key line 1
- Explanation of key line 2

## Step 2: [Next Step]

Continue with incremental steps...

## Testing

How to verify it works.

## Next Steps

- Related tutorial 1
- Advanced topic 1
- Further reading

Tutorial Best Practices

  • Show working code first: Let readers see the goal before diving into details
  • Explain the 'why': Don't just show what to do, explain reasoning
  • Incremental steps: Each step should build on the previous
  • Include checkpoints: Ways to verify progress
  • Provide complete code: Include a repository or final code snippet
  • Anticipate problems: Address common mistakes
  • Link to references: Point to relevant API docs and resources

Inline Code Documentation

When to Write Comments

DO write comments for:

  • Complex algorithms or business logic
  • Non-obvious decisions ("why" not "what")
  • Workarounds for bugs or limitations
  • Public APIs and exported functions
  • Configuration and constants

DON'T write comments for:

  • Obvious code
  • What the code does (prefer clear naming)
  • Outdated information
  • Commented-out code (use version control)

Good Comment Examples

# Good: Explains WHY
# Use exponential backoff to avoid overwhelming the API after rate limit errors
defp retry_with_backoff(attempt) do
  :timer.sleep(:math.pow(2, attempt) * 1000)
end

# Bad: Explains WHAT (obvious from code)
# Multiply 2 to the power of attempt and multiply by 1000
defp retry_with_backoff(attempt) do
  :timer.sleep(:math.pow(2, attempt) * 1000)
end

# Good: Documents workaround
# NOTE: Using String.to_existing_atom because the Erlang VM limits atoms to ~1M.
# All valid status atoms are pre-defined in this module.
def parse_status(status_string) do
  String.to_existing_atom(status_string)
end

# Good: Explains business rule
# Users must be at least 13 years old per COPPA regulations
@minimum_age 13

Architecture Documentation

Architecture Decision Records (ADR)

Document significant architectural decisions:

# ADR 001: Use PostgreSQL for Primary Database

## Status

Accepted

## Context

We need to choose a database for our application that supports:
- ACID transactions
- Complex queries with joins
- JSON data storage
- Full-text search
- Horizontal scalability (future requirement)

## Decision

We will use PostgreSQL as our primary database.

## Consequences

### Positive

- Mature, stable, well-documented
- Excellent JSON support with JSONB
- Built-in full-text search
- Strong consistency guarantees
- Large ecosystem of tools and extensions
- Can scale with read replicas and partitioning

### Negative

- More complex to operate than simpler databases
- Vertical scaling has limits (though sufficient for our needs)
- Requires more server resources than lighter alternatives

### Neutral

- Team needs to learn PostgreSQL-specific features
- May need to hire PostgreSQL expertise as we scale

## Alternatives Considered

- **MySQL**: Weaker JSON support, less feature-rich
- **MongoDB**: No ACID guarantees, eventual consistency issues
- **SQLite**: Not suitable for multi-user web applications

Changelog Documentation

Follow Keep a Changelog format:

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- New feature in development

## [1.2.0] - 2024-01-15

### Added
- User profile pictures
- Email notification preferences
- Dark mode support

### Changed
- Improved search performance by 40%
- Updated UI to match new brand guidelines

### Fixed
- Login redirect loop on Safari
- Memory leak in background sync process

### Deprecated
- Old `/v1/users` endpoint (use `/v2/users` instead)

## [1.1.0] - 2024-01-01

### Added
- Two-factor authentication
- Export user data to JSON

### Security
- Fixed XSS vulnerability in comment rendering

## [1.0.0] - 2023-12-15

### Added
- Initial release
- User registration and authentication
- Basic user profiles

Documentation Tools

Documentation Generators

  • Elixir: ExDoc - mix docs
  • JavaScript: JSDoc, TypeDoc
  • Python: Sphinx, MkDocs
  • Rust: rustdoc - cargo doc
  • Static sites: VitePress, Docusaurus, GitBook

Diagram Tools

  • Mermaid: Diagrams in Markdown ``` `mermaid graph TD A[User] -->|Requests| B[Load Balancer] B --> C[Web Server 1] B --> D[Web Server 2] C --> E[Database] D --> E `` `
  • PlantUML: UML diagrams as code
  • Excalidraw: Hand-drawn style diagrams
  • Draw.io: Flowcharts and diagrams

Documentation Style Guide

Writing Style

  • Use active voice: "The function returns" not "The value is returned"
  • Be concise: Remove unnecessary words
  • Use present tense: "Returns" not "Will return"
  • Be specific: "Timeout in milliseconds" not "Timeout value"
  • Avoid jargon: Or explain it when necessary
  • Use examples: Show, don't just tell

Formatting Conventions

  • Code: Use backticks for inline code
  • Commands: Show with $ prefix or in code blocks
  • File paths: Use code formatting
  • Emphasis: Use bold for important points, *italic* for slight emphasis
  • Lists: Use bullets for unordered, numbers for sequential steps
  • Headers: Use sentence case, not title case

Code Examples

  • Complete: Include all necessary imports and setup
  • Runnable: Readers should be able to copy and run
  • Realistic: Use meaningful variable names and realistic data
  • Commented: Explain non-obvious parts
  • Tested: Ensure examples actually work
  • Current: Keep in sync with latest API

Documentation Maintenance

Keeping Docs Updated

  • Update documentation in the same PR as code changes
  • Review docs during code review
  • Set up doc linting (broken links, outdated examples)
  • Schedule regular documentation audits
  • Use version tags in examples when API changes
  • Mark deprecated features clearly

Documentation Testing

# Elixir doctests - examples in docs are actual tests
defmodule Math do
  @doc """
  Adds two numbers.

  ## Examples

      iex> Math.add(2, 3)
      5

  """
  def add(a, b), do: a + b
end
/// Adds two numbers.
///
/// # Examples
///
/// ```
/// assert_eq!(add(2, 3), 5);
/// ```
pub fn add(a: i32, b: i32) -> i32 {
    a + b
}

Key Principles

  • Write for your audience: Tailor complexity to reader's experience level
  • Show examples: Code examples are worth a thousand words
  • Keep it current: Outdated docs are worse than no docs
  • Make it scannable: Use headers, lists, code blocks, and white space
  • Explain the 'why': Help readers understand reasoning, not just steps
  • Start simple: Begin with quickstart, then go deeper
  • Test documentation: Ensure examples run and links work
  • Iterate based on feedback: Improve based on user questions and confusion

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33%
按下载量换算27

Claude

32.4%
按下载量换算26

Cursor

17.38%
按下载量换算14

Gemini CLI

9.09%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills