Release Documentation Audit
garrytan/gstack
Audits project docs against what shipped, updating README, ARCHITECTURE, CONTRIBUTING and CLAUDE.md, tidying the changelog and listing documentation debt in the PR.
Writes READMEs, API references, architecture notes, developer guides, changelogs and inline comments after first mapping the codebase.
$ npx skills add bytedance/deer-flow --skill code-documentation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bytedance/deer-flow code-documentation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/public/code-documentation .claude/skills/code-documentation && rm -rf skills-srcUse ~/.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/
Install the "code-documentation" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/code-documentation into .claude/skills/code-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-documentation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/bytedance/deer-flow/tree/main/skills/public/code-documentationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add bytedance/deer-flow --skill code-documentation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bytedance/deer-flow code-documentation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/public/code-documentation .agents/skills/code-documentation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "code-documentation" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/code-documentation into .agents/skills/code-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-documentation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bytedance/deer-flow --skill code-documentation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bytedance/deer-flow code-documentation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/public/code-documentation .cursor/skills/code-documentation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "code-documentation" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/code-documentation into .cursor/skills/code-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-documentation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/bytedance/deer-flow.git --path skills/public/code-documentation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add bytedance/deer-flow --skill code-documentation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bytedance/deer-flow code-documentation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/public/code-documentation .gemini/skills/code-documentation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "code-documentation" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/code-documentation into .gemini/skills/code-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-documentation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install bytedance/deer-flow code-documentationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add bytedance/deer-flow --skill code-documentation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/public/code-documentation .github/skills/code-documentation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "code-documentation" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/code-documentation into .github/skills/code-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-documentation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bytedance/deer-flow --skill code-documentation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bytedance/deer-flow code-documentation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/public/code-documentation .opencode/skills/code-documentation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "code-documentation" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/code-documentation into .opencode/skills/code-documentation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-documentation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
code-documentationWrites READMEs, API references, architecture notes, developer guides, changelogs and inline comments after first mapping the codebase.
Before writing a line of documentation, the agent surveys the project: languages from file extensions and manifests such as `package.json`, `pyproject.toml`, `go.mod` or `Cargo.toml`, the frameworks in the dependencies, the build system and package manager, the directory layout, entry points and any docs already present. That survey decides how large the documentation should be, from a single README up to a set of linked guides.
The skill covers README files, API reference pages derived from the source, architecture and design documents with diagrams, onboarding and contribution guides, changelogs built from commit history or release notes, and inline documentation in the conventions of the language, including JSDoc, docstrings, GoDoc, Javadoc and Rustdoc. It can also update documentation that already exists. The excerpt is cut off, so the later phases are not described here.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 35cdcab. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown, bash, python, typescript and go).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
keepachangelog.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Code Documentation Writer loads about 3.5k tokens when it runs. Until then it costs about 121 tokens; SKILL.md has 895 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from bytedance/deer-flow at commit 35cdcab, republished under its MIT licence (© bytedance). 895 words, ~3,456 tokens.
.claude/skills/code-documentation/SKILL.md (or your agent's skills folder).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.
Always load this skill when:
Before writing any documentation, thoroughly understand the codebase.
Identify the project fundamentals:
| Field | How to Determine |
|---|---|
| Language(s) | Check file extensions, package.json, pyproject.toml, go.mod, Cargo.toml, etc. |
| Framework | Look at dependencies for known frameworks (React, Django, Express, Spring, etc.) |
| Build System | Check for Makefile, CMakeLists.txt, webpack.config.js, build.gradle, etc. |
| Package Manager | npm/yarn/pnpm, pip/uv/poetry, cargo, go modules, etc. |
| Project Structure | Map out the directory tree to understand the architecture |
| Entry Points | Find main files, CLI entry points, exported modules |
| Existing Docs | Check for existing README, docs/, wiki, or inline documentation |
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"Based on analysis, determine what documentation to produce:
| Project Size | Recommended Documentation |
|---|---|
| Single file / script | Inline comments + usage header |
| Small library | README with API reference |
| Medium project | README + API docs + examples |
| Large project | README + Architecture + API + Contributing + Changelog |
Every project needs a README. Follow this structure:
# Project Name
[One-line project description — what it does and why it matters]
[](#) [](#)
## 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]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 |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 sacrificedGenerate 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) {Verify the documentation covers:
| Standard | Check |
|---|---|
| Accuracy | Every code example must actually work with the described API |
| Completeness | No public API surface left undocumented |
| Consistency | Same formatting and structure throughout |
| Freshness | Documentation matches the current code, not an older version |
| Accessibility | No jargon without explanation, acronyms defined on first use |
| Examples | Every complex concept has at least one practical example |
Ensure:
#, ##, ###)```python, ```bash)code formatting for function names, file paths, variable names, and CLI commands| Language | Doc Format | Style Guide |
|---|---|---|
| Python | Google-style docstrings | PEP 257 |
| TypeScript/JavaScript | TSDoc / JSDoc | TypeDoc conventions |
| Go | GoDoc comments | Effective Go |
| Rust | Rustdoc (///) | Rust API Guidelines |
| Java | Javadoc | Oracle Javadoc Guide |
| C/C++ | Doxygen | Doxygen manual |
After generation:
/mnt/user-data/outputs/present_files tooldeep-research skill for documenting third-party integrations or dependencies© bytedance, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/public/code-documentation of bytedance/deer-flow.
Open the folder on GitHubat commit 35cdcab
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in bytedance/deer-flow, which our catalogue first saw on October 7, 2026.
Code Documentation Writer 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Code Documentation Writer this skillbytedance/deer-flow | 83k | 1 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Release Documentation Auditgarrytan/gstack | 136k | — | ~9.5k | Automated safety check: Notes | MIT | |
| Docs Interfacesjh941213/my-cc-harness | 126 | — | ~863 | Automated safety check: Notes | None | |
| Technical Writingcitypaul/.dotfiles | 739 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 44k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT |
garrytan/gstack
Audits project docs against what shipped, updating README, ARCHITECTURE, CONTRIBUTING and CLAUDE.md, tidying the changelog and listing documentation debt in the PR.
jh941213/my-cc-harness
Generate interface/API docs — OpenAPI 3.1/AsyncAPI 3.0 specs, API topology diagrams, interface flow (sequence) diagrams, API changelog.
citypaul/.dotfiles
Writing developer-facing prose that can be skimmed first and trusted enough to finish — READMEs, guides, tutorials, reference docs, proposals, PR descriptions, release notes.
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
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.
Agents365-ai/drawio-skill
Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.
bytedance/deer-flow
Deploys a project to Vercel with one script and no login, then returns a live preview URL and a claim link for moving the deployment into your own Vercel account.
bytedance/deer-flow
Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.
bytedance/deer-flow
Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.
bytedance/deer-flow
Turns an image request into a structured JSON prompt and runs a bundled Python script to generate the picture, optionally guided by reference images.
bytedance/deer-flow
Analyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown.
bytedance/deer-flow
Walks through an end-to-end smoke test of a DeerFlow deployment: pull the latest code, deploy with Docker or locally, verify services, run health checks and write a report.
Categories
Writes READMEs, API references, architecture notes, developer guides, changelogs and inline comments after first mapping the codebase. toml`, the frameworks in the dependencies, the build system and package manager, the directory layout, entry points and any docs already present. That survey decides how large the documentation should be, from a single README up to a set of linked guides.
Code Documentation Writer fits situations like: creating a README for a repository that has none; generating API reference pages from the source of a library; adding docstrings or JSDoc comments across a module; writing a contribution or onboarding guide for new developers.
Run `npx skills add bytedance/deer-flow --skill code-documentation -a claude-code`. Or copy the skill folder (skills/public/code-documentation in bytedance/deer-flow) into .claude/skills/code-documentation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bytedance/deer-flow --skill code-documentation -a codex`. Or copy the skill folder (skills/public/code-documentation in bytedance/deer-flow) into .agents/skills/code-documentation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bytedance/deer-flow --skill code-documentation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-documentation, .gemini/skills/code-documentation, .github/skills/code-documentation and .opencode/skills/code-documentation in your project.
SKILL.md names no scripts, command-line tools or credentials: Code Documentation Writer is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: keepachangelog.com. This is read from the text; nothing was executed.
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. Review the folder before installing.
Code Documentation Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Code Documentation Writer: Release Documentation Audit (garrytan/gstack, 136k stars), Docs Interfaces (jh941213/my-cc-harness, 126 stars), Technical Writing (citypaul/.dotfiles, 739 stars) and Diagram Design (cathrynlavery/diagram-design, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bytedance (a GitHub organization) maintains it in bytedance/deer-flow, which has 83,441 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 7, 2026.
Source: bytedance/deer-flow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.