跳到主要内容

code-documentation 精选

Use this skill when the user requests to generate, create, or improve documentation for code, APIs, libraries, repositories, or software projects. Supports README generation, API reference documentation, inline code comments, architecture documentation, changelog generation, and developer guides. Trigger on requests like "document this code", "create a README", "generate API docs", "write developer guide", or when analyzing codebases for documentation purposes.

在 GitHub 打开

安装方式

cp -r skills/public/code-documentation ~/.claude/skills/code-documentation

把该 skill 目录放进客户端 skills 目录。不同客户端的目录可能不同,Claude Code 默认是 ~/.claude/skills/

整仓一次性获取:git clone --depth 1 https://github.com/bytedance/deer-flow.git

依赖与权限

  • 无需 API Key
  • 需要联网访问外部服务
  • 依赖外部命令:npm pnpm yarn python pip uv cargo go
  • 以上为按正文与 frontmatter 自动推断的信号,仅供参考;安装前建议先阅读原文。
触发场景
createAPIslibraries

SKILL.md 正文

来源 bytedance/deer-flow@b346b17 · 许可 MIT · 内容未修改

Code Documentation Skill

Overview

This skill generates professional, comprehensive documentation for software projects, codebases, libraries, and APIs. It follows industry best practices from projects like React, Django, Stripe, and Kubernetes to produce documentation that is accurate, well-structured, and useful for both new contributors and experienced developers.

The output ranges from single-file READMEs to multi-document developer guides, always matched to the project's complexity and the user's needs.

Core Capabilities

  • Generate comprehensive README.md files with badges, installation, usage, and API reference
  • Create API reference documentation from source code analysis
  • Produce architecture and design documentation with diagrams
  • Write developer onboarding and contribution guides
  • Generate changelogs from commit history or release notes
  • Create inline code documentation following language-specific conventions
  • Support JSDoc, docstrings, GoDoc, Javadoc, and Rustdoc formats
  • Adapt documentation style to the project's language and ecosystem

When to Use This Skill

Always load this skill when:

  • User asks to "document", "create docs", or "write documentation" for any code
  • User requests a README, API reference, or developer guide
  • User shares a codebase or repository and wants documentation generated
  • User asks to improve or update existing documentation
  • User needs architecture documentation, including diagrams
  • User requests a changelog or migration guide

Documentation Workflow

Phase 1: Codebase Analysis

Before writing any documentation, thoroughly understand the codebase.

Step 1.1: Project Discovery

Identify the project fundamentals:

FieldHow to Determine
Language(s)Check file extensions, package.json, pyproject.toml, go.mod, Cargo.toml, etc.
FrameworkLook at dependencies for known frameworks (React, Django, Express, Spring, etc.)
Build SystemCheck for Makefile, CMakeLists.txt, webpack.config.js, build.gradle, etc.
Package Managernpm/yarn/pnpm, pip/uv/poetry, cargo, go modules, etc.
Project StructureMap out the directory tree to understand the architecture
Entry PointsFind main files, CLI entry points, exported modules
Existing DocsCheck for existing README, docs/, wiki, or inline documentation

Step 1.2: Code Structure Analysis

Use sandbox tools to explore the codebase:

# Get directory structure
ls /mnt/user-data/uploads/project-dir/

# Read key files
read_file /mnt/user-data/uploads/project-dir/package.json
read_file /mnt/user-data/uploads/project-dir/pyproject.toml

# Search for public API surfaces
grep -r "export " /mnt/user-data/uploads/project-dir/src/
grep -r "def " /mnt/user-data/uploads/project-dir/src/ --include="*.py"
grep -r "func " /mnt/user-data/uploads/project-dir/ --include="*.go"

Step 1.3: Identify Documentation Scope

Based on analysis, determine what documentation to produce:

Project SizeRecommended Documentation
Single file / scriptInline comments + usage header
Small libraryREADME with API reference
Medium projectREADME + API docs + examples
Large projectREADME + Architecture + API + Contributing + Changelog

Phase 2: Documentation Generation

Step 2.1: README Generation

Every project needs a README. Follow this structure:

# Project Name

[One-line project description — what it does and why it matters]

[![Badge](link)](#) [![Badge](link)](#)

## Features

- [Key feature 1 — brief description]
- [Key feature 2 — brief description]
- [Key feature 3 — brief description]

## Quick Start

### Prerequisites

- [Prerequisite 1 with version requirement]
- [Prerequisite 2 with version requirement]

### Installation

[Installation commands with copy-paste-ready code blocks]

### Basic Usage

[Minimal working example that demonstrates core functionality]

## Documentation

- [Link to full API reference if separate]
- [Link to architecture docs if separate]
- [Link to examples directory if applicable]

## API Reference

[Inline API reference for smaller projects OR link to generated docs]

## Configuration

[Environment variables, config files, or runtime options]

## Examples

[2-3 practical examples covering common use cases]

## Development

### Setup

[How to set up a development environment]

### Testing

[How to run tests]

### Building

[How to build the project]

## Contributing

[Contribution guidelines or link to CONTRIBUTING.md]

## License

[License information]

Step 2.2: API Reference Generation

For each public API surface, document:

Function / Method Documentation:

### `functionName(param1, param2, options?)`

Brief description of what this function does.

**Parameters:**

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `param1` | `string` | Yes | — | Description of param1 |
| `param2` | `number` | Yes | — | Description of param2 |
| `options` | `Object` | No | `{}` | Configuration options |
| `options.timeout` | `number` | No | `5000` | Timeout in milliseconds |

**Returns:** `Promise<Result>` — Description of return value

**Throws:**
- `ValidationError` — When param1 is empty
- `TimeoutError` — When the operation exceeds the timeout

**Example:**

\`\`\`javascript
const result = await functionName("hello", 42, { timeout: 10000 });
console.log(result.data);
\`\`\`

Class Documentation:

### `ClassName`

Brief description of the class and its purpose.

**Constructor:**

\`\`\`javascript
new ClassName(config)
\`\`\`

| Parameter | Type | Description |
|-----------|------|-------------|
| `config.option1` | `string` | Description |
| `config.option2` | `boolean` | Description |

**Methods:**

- [`method1()`](#method1) — Brief description
- [`method2(param)`](#method2) — Brief description

**Properties:**

| Property | Type | Description |
|----------|------|-------------|
| `property1` | `string` | Description |
| `property2` | `number` | Read-only. Description |

Step 2.3: Architecture Documentation

For medium-to-large projects, include architecture documentation:

# Architecture Overview

## System Diagram

[Include a Mermaid diagram showing the high-level architecture]

\`\`\`mermaid
graph TD
    A[Client] --> B[API Gateway]
    B --> C[Service A]
    B --> D[Service B]
    C --> E[(Database)]
    D --> E
\`\`\`

## Component Overview

### Component Name
- **Purpose**: What this component does
- **Location**: `src/components/name/`
- **Dependencies**: What it depends on
- **Public API**: Key exports or interfaces

## Data Flow

[Describe how data flows through the system for key operations]

## Design Decisions

### Decision Title
- **Context**: What situation led to this decision
- **Decision**: What was decided
- **Rationale**: Why this approach was chosen
- **Trade-offs**: What was sacrificed

Step 2.4: Inline Code Documentation

Generate language-appropriate inline documentation:

Python (Docstrings — Google style):

def process_data(input_path: str, options: dict | None = None) -> ProcessResult:
    """Process data from the given file path.

    Reads the input file, applies transformations based on the provided
    options, and returns a structured result object.

    Args:
        input_path: Absolute path to the input data file.
            Supports CSV, JSON, and Parquet formats.
        options: Optional configuration dictionary.
            - "validate" (bool): Enable input validation. Defaults to True.
            - "format" (str): Output format ("json" or "csv"). Defaults to "json".

    Returns:
        A ProcessResult containing the transformed data and metadata.

    Raises:
        FileNotFoundError: If input_path does not exist.
        ValidationError: If validation is enabled and data is malformed.

    Example:
        >>> result = process_data("/data/input.csv", {"validate": True})
        >>> print(result.row_count)
        1500
    """

TypeScript (JSDoc / TSDoc):

/**
 * Fetches user data from the API and transforms it for display.
 *
 * @param userId - The unique identifier of the user
 * @param options - Configuration options for the fetch operation
 * @param options.includeProfile - Whether to include the full profile. Defaults to `false`.
 * @param options.cache - Cache duration in seconds. Set to `0` to disable.
 * @returns The transformed user data ready for rendering
 * @throws {NotFoundError} When the user ID does not exist
 * @throws {NetworkError} When the API is unreachable
 *
 * @example
 * ```ts
 * const user = await fetchUser("usr_123", { includeProfile: true });
 * console.log(user.displayName);
 * ```
 */

Go (GoDoc):

// ProcessData reads the input file at the given path, applies the specified
// transformations, and returns the processed result.
//
// The input path must be an absolute path to a CSV or JSON file.
// If options is nil, default options are used.
//
// ProcessData returns an error if the file does not exist or cannot be parsed.
func ProcessData(inputPath string, options *ProcessOptions) (*Result, error) {

Phase 3: Quality Assurance

Step 3.1: Documentation Completeness Check

Verify the documentation covers:

  • [ ] What it is — Clear project description that a newcomer can understand
  • [ ] Why it exists — Problem it solves and value proposition
  • [ ] How to install — Copy-paste-ready installation commands
  • [ ] How to use — At least one minimal working example
  • [ ] API surface — All public functions, classes, and types documented
  • [ ] Configuration — All environment variables, config files, and options
  • [ ] Error handling — Common errors and how to resolve them
  • [ ] Contributing — How to set up dev environment and submit changes

Step 3.2: Quality Standards

StandardCheck
AccuracyEvery code example must actually work with the described API
CompletenessNo public API surface left undocumented
ConsistencySame formatting and structure throughout
FreshnessDocumentation matches the current code, not an older version
AccessibilityNo jargon without explanation, acronyms defined on first use
ExamplesEvery complex concept has at least one practical example

Step 3.3: Cross-reference Validation

Ensure:

  • All mentioned file paths exist in the project
  • All referenced functions and classes exist in the code
  • All code examples use the correct function signatures
  • Version numbers match the project's actual version
  • All links (internal and external) are valid

Documentation Style Guide

Writing Principles

  1. Lead with the "why" — Before explaining how something works, explain why it exists
  2. Progressive disclosure — Start simple, add complexity gradually
  3. Show, don't tell — Prefer code examples over lengthy explanations
  4. Active voice — "The function returns X" not "X is returned by the function"
  5. Present tense — "The server starts on port 8080" not "The server will start on port 8080"
  6. Second person — "You can configure..." not "Users can configure..."

Formatting Rules

  • Use ATX-style headers (#, ##, ###)
  • Use fenced code blocks with language specification ( `python , `bash )
  • Use tables for structured information (parameters, options, configuration)
  • Use admonitions for important notes, warnings, and tips
  • Keep line length readable (wrap prose at ~80-100 characters in source)
  • Use code formatting for function names, file paths, variable names, and CLI commands

Language-Specific Conventions

LanguageDoc FormatStyle Guide
PythonGoogle-style docstringsPEP 257
TypeScript/JavaScriptTSDoc / JSDocTypeDoc conventions
GoGoDoc commentsEffective Go
RustRustdoc (///)Rust API Guidelines
JavaJavadocOracle Javadoc Guide
C/C++DoxygenDoxygen manual

Output Handling

After generation:

  • Save documentation files to /mnt/user-data/outputs/
  • For multi-file documentation, maintain the project directory structure
  • Present generated files to the user using the present_files tool
  • Offer to iterate on specific sections or adjust the level of detail
  • Suggest additional documentation that might be valuable

Notes

  • Always analyze the actual code before writing documentation — never guess at API signatures or behavior
  • When existing documentation exists, preserve its structure unless the user explicitly asks for a rewrite
  • For large codebases, prioritize documenting the public API surface and key abstractions first
  • Documentation should be written in the same language as the project's existing docs; default to English if none exist
  • When generating changelogs, use the Keep a Changelog format
  • This skill works well in combination with the deep-research skill for documenting third-party integrations or dependencies

质量与来源

所属仓库
bytedance/deer-flow
仓库星标
8.4 万
最近更新
今天
采集时间
今天
commit
b346b17fce89
内容指纹
sha256:75721d7bc1b2945
文件路径
skills/public/code-documentation/SKILL.md

同仓库其它 Skill

查看全部 32 个
blocking-io-guard
Ensure async-path backend code that could block the asyncio event loop is protected by a teeth-verified runtime anchor in tests/blocking_io/. Use when changing backend Python under app/, packages/harness/deerflow/, or scripts/, when running a blocking-IO triage round over the whole repo, or when a reviewer/CI asks for blocking-IO coverage. Runs a deterministic scan (changed-lines or full-repo), routes each candidate, drafts/extends an anchor, and proves it fails when the blocking IO regresses.
精选 bytedance/deer-flow 8.4 万 原文
Codex CLIMCP 客户端
deerflow-maintainer-orchestrator
Use when a DeerFlow maintainer needs comment-only GitHub issue or PR handling: resolve issue/PR scopes with gh, analyze issues, post or draft issue comments, perform PR review comments, review PR or issue batches, compare competing PRs that target the same issue, give fix strategy, risk classification, and validation guidance. Intended for maintainers and trusted local agents, not general contributors.
精选 bytedance/deer-flow 8.4 万 原文
Codex CLIMCP 客户端
engineer-system-change
Evaluate and carry out non-trivial software-system changes from first principles. Use when assessing RFCs, issues, designs, features, refactors, migrations, dependency changes, or proposed fields, events, APIs, modules, and services whose need, consumers, system fit, validation, or rollback require scrutiny. Read the actual system, identify the concrete problem and named semantic consumers, choose the smallest sufficient solution, reject pseudo-requirements and speculative abstractions, and require evidence proportional to risk. Do not use for mechanical edits, source-code explanation, or a dedicated review of an already-complete diff.
精选 bytedance/deer-flow 8.4 万 原文
Codex CLIMCP 客户端
smoke-test
End-to-end smoke test skill for DeerFlow. Guides through: 1) Pulling latest code, 2) Docker OR Local installation and deployment (user preference, default to Local if Docker network issues), 3) Service availability verification, 4) Health check, 5) Final test report. Use when the user says "run smoke test", "smoke test deployment", "verify installation", "test service availability", "end-to-end test", or similar.
精选 bytedance/deer-flow 8.4 万 原文
Codex CLIMCP 客户端
academic-paper-review
Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints, or scientific publications. Supports comprehensive structured reviews covering methodology assessment, contribution evaluation, literature positioning, and constructive feedback generation. Trigger on queries involving paper URLs, uploaded PDFs, arXiv links, or requests like "review this paper", "analyze this research", "summarize this study", or "write a peer review".
精选 bytedance/deer-flow 8.4 万 原文
Codex CLIMCP 客户端
bootstrap
Generate a personalized SOUL.md through a warm, adaptive onboarding conversation. Trigger when the user wants to create, set up, or initialize their AI partner's identity — e.g., "create my SOUL.md", "bootstrap my agent", "set up my AI partner", "define who you are", "let's do onboarding", "personalize this AI", "make you mine", or when a SOUL.md is missing. Also trigger for updates: "update my SOUL.md", "change my AI's personality", "tweak the soul".
精选 bytedance/deer-flow 8.4 万 原文
Codex CLIMCP 客户端

相似 Skill

更多「研究」
last30days
Research what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, and the web. Includes a doctor health check to diagnose broken or missing sources.
精选 mvanhorn/last30days-skill 6.4 万 原文
Claude CodeCodex CLIMCP 客户端
agent-reach
MUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X / 看看大家怎么评价 X / X 上有什么讨论 / research this topic。 Also MUST USE when user mentions any platform or shares any URL/链接: 小红书/xiaohongshu/xhs, Twitter/推特/X, B站/bilibili, Reddit, Facebook, Instagram, V2EX, LinkedIn/领英/Boss直聘/招聘/求职/jobs, YouTube, GitHub code search, 小宇宙播客, 雪球/股票行情, RSS feeds, or any web URL. 16 platforms, multi-backend routing (OpenCLI / per-platform CLIs / APIs). Zero config for 6 channels. Run `agent-reach doctor --json` to see which backend serves each platform right now. NOT for: 写报告/数据分析/翻译等内容加工(本 skill 只负责从互联网获取内容); 发帖/评论/点赞等写操作;已有专门 skill 的平台(先用专门 skill)。 【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/推特/B站/V2EX/Reddit/Facebook/Instagram) / career(LinkedIn/Boss直聘) / dev(github) / web(网页/文章/RSS) / video(YouTube/B站/播客) / finance(雪球/股票)。
精选 Panniantong/Agent-Reach 9.6 万 原文
Claude CodeCursorMCP 客户端
academic-paper-reviewer
Multi-perspective academic paper review with dynamic reviewer personas. Runs a 5-seat, role-separated review panel (Journal-Fit Reviewer + 3 peer-review roles + Devil's Advocate) with field-specific expertise; role separation is not a claim of independent error processes. Supports full review, re-review (verification), quick assessment, methodology focus, Socratic guided, and calibration modes. Triggers on: review paper, peer review, manuscript review, referee report, review my paper, critique paper, simulate review, editorial review, calibrate reviewer, reviewer calibration, measure reviewer accuracy, 審查論文, 論文審查, 模擬審查, 同儕審查, 幫我審這篇, 以審查人角度評估, 審查者校準, 논문 심사, 동료 심사, 모의 심사, 심사자 관점에서 평가, 심사자 보정, revisar artículo, revisión entre pares, revisión de manuscrito, informe de árbitro, revisa mi artículo, criticar artículo, simular revisión, revisión editorial, calibrar revisor.
精选 Imbad0202/academic-research-skills 5.2 万 原文
Claude Code
academic-paper
12-agent academic paper writing pipeline. 11 modes (full/plan/outline/revision/revision-coach/abstract/lit-review/format-convert/citation-check/disclosure/rebuttal-audit). 6 paper types, 5 citation formats, bilingual abstracts, LaTeX/DOCX-via-Pandoc/PDF output. Style Calibration + Writing Quality Check + Anti-Patterns with IRON RULE markers. Triggers: write paper, academic paper, guide my paper, parse reviews, I got reviewer comments, revision roadmap, should we push back, conference rebuttal, grant panel response, audit my rebuttal, check my response draft, AI disclosure, check citations, citation check, check my references, verify references, look over the refs, 寫論文, 學術論文, 引導我寫論文, 審查意見, 我收到審查意見, 修訂路線圖, 評估回覆, 檢查引用, 引用檢查, 檢查參考文獻, 核對文獻, 논문 작성, 초록 작성, 논문 수정, 논문 계획을 도와줘, 심사 의견을 받았어, 심사 의견 반영, 답변서 점검, AI 사용 고지, 인용 확인, 인용 형식 검사, enmendar mi artículo, redactar artículo, guía mi artículo, analizar reseñas, auditar mi respuesta, verificar borrador de respuesta, verificar citas, divulgación de IA.
精选 Imbad0202/academic-research-skills 5.2 万 原文
Claude Code
academic-pipeline
Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory, coverage-bounded integrity checks, two-stage peer review, and auditable quality-assurance artifacts. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end paper, research-to-publication, complete paper workflow, 연구부터 논문까지, 연구 주제 설정부터 논문 완성까지, 논문 전체 워크플로, flujo de trabajo académico, investigación a artículo, flujo completo de artículo, pipeline de investigación completa, publicación de investigación, flujo de trabajo completo del artículo.
精选 Imbad0202/academic-research-skills 5.2 万 原文
Claude Code
deep-research
Universal deep research agent team. 13-agent pipeline for rigorous academic research on any topic. 8 modes: full research, quick brief, paper review, lit-review, fact-check, three-way literature scan, Socratic guided research dialogue, and systematic review with optional meta-analysis. Covers research question formulation, Socratic mentoring, methodology design, systematic literature search, source verification, cross-source synthesis, risk of bias assessment, meta-analysis, APA 7.0 report compilation, editorial review, devil's advocate challenges, ethics review, and post-research literature monitoring. Triggers on: research, deep research, literature review, systematic review, meta-analysis, PRISMA, evidence synthesis, fact-check, WHY HOW WHAT papers, 3W literature scan, guide my research, help me think through, 研究, 深度研究, 文獻回顧, 文獻探討, 系統性回顧, 後設分析, 事實查核, 三段式文獻掃描, 引導我的研究, 幫我釐清, 幫我想想, 我不確定要研究什麼, 研究方向, 研究主題, 심층 연구, 문헌 조사, 체계적 문헌고찰, 메타분석, 사실 확인, 연구 방향을 잡아줘, 연구 주제 정하는 것을 도와줘, revisión de literatura, metaanálisis
精选 Imbad0202/academic-research-skills 5.2 万 原文
Claude Code