CommunityCodierung & Entwicklunggithub.com

code-documentation

Nutze diesen Skill, wenn der Benutzer wünscht, Dokumentation für Code, APIs, Bibliotheken, Repositories oder Softwareprojekte zu generieren, erstellen oder verbessern. Unterstützt README-Erstellung, API-Referenzdokumentation, Inline-Kommentare, Architektur-Dokumentation, Changelog-Erstellung und Entwicklerleitfäden. Auslöser bei Anfragen wie 'dokumentiere diesen Code', 'erstelle eine README', 'generiere API-Dokumentation', 'schreibe einen Entwicklerleitfaden' oder bei der Analyse von Codebasen zu Dokumentationszwecken.

Was ist code-documentation?

Dieser Skill generiert professionelle und umfassende Dokumentation für Softwareprojekte, Codebasen, Bibliotheken und APIs. Er folgt den Best Practices von Projekten wie React, Django, Stripe und Kubernetes, um eine präzise, gut strukturierte und nützliche Dokumentation zu erstellen, die sowohl für neue Mitwirkende als auch für erfahrene Entwickler geeignet ist. Die Ausgabe reicht von einzelnen README-Dateien bis hin zu mehrteiligen Entwicklerleitfäden, die stets an die Komplexität des Projekts und die Bedürfnisse des Benutzers angepasst wird. Der Skill umfasst die Analyse der Codebasis, die Generierung von READMEs, API-Referenzen, Architekturdiagrammen, Inline-Code-Dokumentation und Changelogs. Er eignet sich besonders für Entwickler und Teams, die ihre Projekte dokumentieren müssen, um die Zusammenarbeit zu verbessern, die Wartbarkeit zu erhöhen und die Nutzung durch Dritte zu erleichtern. Der Skill unterstützt verschiedene Dokumentations-Workflows und passt seinen Stil an die jeweilige Sprache und das Ökosystem des Projekts an.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bytedance/deer-flow/tree/main/skills/public/code-documentation

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Vorschau

Aus dem Skill-README

Badge

Dokumentation

Code-Dokumentations-Skill

Übersicht

Dieser Skill generiert professionelle, umfassende Dokumentation für Softwareprojekte, Codebasen, Bibliotheken und APIs. Er folgt den Best Practices von Projekten wie React, Django, Stripe und Kubernetes, um eine genaue, gut strukturierte und sowohl für neue Mitwirkende als auch für erfahrene Entwickler nützliche Dokumentation zu erstellen.

Die Ausgabe reicht von einzelnen README-Dateien bis hin zu mehrteiligen Entwicklerleitfäden, die stets an die Komplexität des Projekts und die Bedürfnisse des Benutzers angepasst wird.

Kernfunktionen

  • Erstellen umfassender README.md-Dateien mit Badges, Installation, Nutzung und API-Referenz
  • Erstellung von API-Referenzdokumentation durch Quellcode-Analyse
  • Erstellung von Architektur- und Design-Dokumentation mit Diagrammen
  • Erstellung von Entwickler-Onboarding- und Beitragsleitfäden
  • Generierung von Changelogs aus Commit-Verläufen oder Versionshinweisen
  • Erstellung von Inline-Code-Dokumentation gemäß sprachspezifischer Konventionen
  • Unterstützung von JSDoc, Docstrings, GoDoc, Javadoc und Rustdoc-Formaten
  • Anpassung des Dokumentationsstils an die Sprache und das Ökosystem des Projekts

Wann dieser Skill verwendet werden sollte

Diesen Skill immer laden, wenn:

  • Der Benutzer darum bittet, Code zu "dokumentieren", "Dokumente zu erstellen" oder "Dokumentation zu schreiben"
  • Der Benutzer eine README, API-Referenz oder einen Entwicklerleitfaden anfordert
  • Der Benutzer eine Codebasis oder ein Repository teilt und eine Dokumentation wünscht
  • Der Benutzer darum bittet, bestehende Dokumentation zu verbessern oder zu aktualisieren
  • Der Benutzer Architektur-Dokumentation einschließlich Diagrammen benötigt
  • Der Benutzer ein Changelog oder einen Migrationsleitfaden anfordert

Dokumentations-Workflow

Phase 1: Codebasis-Analyse

Bevor Dokumentation geschrieben wird, muss die Codebasis gründlich verstanden werden.

Schritt 1.1: Projekt-Erkennung

Identifiziere die Projektgrundlagen:

FeldErmittlungsmethode
Sprache(n)Dateierweiterungen, package.json, pyproject.toml, go.mod, Cargo.toml usw. prüfen
FrameworkAbhängigkeiten auf bekannte Frameworks prüfen (React, Django, Express, Spring usw.)
Build-SystemNach Makefile, CMakeLists.txt, webpack.config.js, build.gradle usw. suchen
Paketmanagernpm/yarn/pnpm, pip/uv/poetry, cargo, go modules usw.
ProjektstrukturVerzeichnisbaum kartieren, um die Architektur zu verstehen
EinstiegspunkteHauptdateien, CLI-Einstiegspunkte, exportierte Module finden
Vorhandene DokusNach vorhandenen READMEs, docs/, Wiki oder Inline-Dokumentation suchen

Schritt 1.2: Codestruktur-Analyse

Verwende Sandbox-Tools, um die Codebasis zu erkunden:

# Verzeichnisstruktur abrufen
ls /mnt/user-data/uploads/projekt-verzeichnis/

# Schlüsseldateien lesen
read_file /mnt/user-data/uploads/projekt-verzeichnis/package.json
read_file /mnt/user-data/uploads/projekt-verzeichnis/pyproject.toml

# Nach öffentlichen API-Oberflächen suchen
grep -r "export " /mnt/user-data/uploads/projekt-verzeichnis/src/
grep -r "def " /mnt/user-data/uploads/projekt-verzeichnis/src/ --include="*.py"
grep -r "func " /mnt/user-data/uploads/projekt-verzeichnis/ --include="*.go"

Schritt 1.3: Dokumentationsumfang festlegen

Basierend auf der Analyse festlegen, welche Dokumentation erstellt werden soll:

ProjektgrößeEmpfohlene Dokumentation
Einzeldatei / SkriptInline-Kommentare + Nutzungskopf
Kleine BibliothekREADME mit API-Referenz
Mittleres ProjektREADME + API-Dokumente + Beispiele
Großes ProjektREADME + Architektur + API + Mitwirken + Changelog

Phase 2: Dokumentations-Generierung

Schritt 2.1: README-Generierung

Jedes Projekt braucht eine README. Dieser Struktur folgen:

# Projektname

[Einzeilige Projektbeschreibung – was es tut und warum es wichtig ist]

[![Badge](https://raw.githubusercontent.com/bytedance/deer-flow/main/link)](#) [![Badge](https://raw.githubusercontent.com/bytedance/deer-flow/main/link)](#)

## Funktionen

- [Hauptfunktion 1 – kurze Beschreibung]
- [Hauptfunktion 2 – kurze Beschreibung]
- [Hauptfunktion 3 – kurze Beschreibung]

## Schnellstart

### Voraussetzungen

- [Voraussetzung 1 mit Versionsanforderung]
- [Voraussetzung 2 mit Versionsanforderung]

### Installation

[Installationsbefehle mit kopierfertigen Codeblöcken]

### Grundlegende Nutzung

[Minimales Arbeitsbeispiel, das die Kernfunktionalität demonstriert]

## Dokumentation

- [Link zur vollständigen API-Referenz, falls separat]
- [Link zu Architektur-Dokumenten, falls separat]
- [Link zum Beispiele-Verzeichnis, falls vorhanden]

## API-Referenz

[Inline-API-Referenz für kleinere Projekte ODER Link zu generierten Dokumenten]

## Konfiguration

[Umgebungsvariablen, Konfigurationsdateien oder Laufzeitoptionen]

## Beispiele

[2-3 praktische Beispiele, die typische Anwendungsfälle abdecken]

## Entwicklung

### Einrichtung

[Wie eine Entwicklungsumgebung eingerichtet wird]

### Testen

[Wie Tests ausgeführt werden]

### Build

[Wie das Projekt gebaut wird]

## Mitwirken

[Richtlinien zum Mitwirken oder Link zur CONTRIBUTING.md]

## Lizenz

[Lizenzinformationen]

Schritt 2.2: API-Referenz-Generierung

Für jede öffentliche API-Oberfläche dokumentieren:

Funktions- / Methoden-Dokumentation:

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

Kurze Beschreibung, was diese Funktion tut.

**Parameter:**

| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|-----------|------|----------|---------|-------------|
| `param1` | `string` | Ja | — | Beschreibung von param1 |
| `param2` | `number` | Ja | — | Beschreibung von param2 |
| `options` | `Object` | Nein | `{}` | Konfigurationsoptionen |
| `options.timeout` | `number` | Nein | `5000` | Timeout in Millisekunden |

**Rückgabewert:** `Promise<Result>` — Beschreibung des Rückgabewerts

**Wirft:**
- `ValidationError` — Wenn param1 leer ist
- `TimeoutError` — Wenn der Vorgang das Timeout überschreitet

**Beispiel:**

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

**Klassen-Dokumentation**:

```markdown
### `ClassName`

Kurze Beschreibung der Klasse und ihres Zwecks.

**Konstruktor:**

```javascript
new ClassName(konfiguration)
ParameterTypBeschreibung
konfiguration.option1stringBeschreibung
konfiguration.option2booleanBeschreibung

Methoden:

Eigenschaften:

EigenschaftTypBeschreibung
eigenschaft1stringBeschreibung
eigenschaft2numberSchreibgeschützt. Beschreibung

#### Schritt 2.3: Architektur-Dokumentation

Für mittelgroße bis große Projekte Architektur-Dokumentation einfügen:

```markdown
# Architektur-Übersicht

## Systemdiagramm

[Mermaid-Diagramm, das die hochrangige Architektur zeigt, einfügen]

```mermaid
graph TD
    A[Client] --> B[API-Gateway]
    B --> C[Dienst A]
    B --> D[Dienst B]
    C --> E[(Datenbank)]
    D --> E

Komponenten-Übersicht

Komponentenname

  • Zweck: Was diese Komponente tut
  • Ort: src/components/name/
  • Abhängigkeiten: Wovon sie abhängt
  • Öffentliche API: Wichtige Exporte oder Schnittstellen

Datenfluss

[Beschreiben, wie Daten für Schlüsseloperationen durch das System fließen]

Design-Entscheidungen

Entscheidungstitel

  • Kontext: Welche Situation führte zu dieser Entscheidung
  • Entscheidung: Was wurde entschieden
  • Begründung: Warum dieser Ansatz gewählt wurde
  • Kompromisse: Was wurde geopfert

#### Schritt 2.4: Inline-Code-Dokumentation

Sprachangepasste Inline-Dokumentation generieren:

**Python (Docstrings — Google-Stil)**:
```python
def process_data(input_path: str, options: dict | None = None) -> ProcessResult:
    """Verarbeitet Daten aus dem angegebenen Dateipfad.

    Liest die Eingabedatei, wendet Transformationen basierend auf den
    bereitgestellten Optionen an und gibt ein strukturiertes Ergebnisobjekt zurück.

    Args:
        input_path: Absoluter Pfad zur Eingabedatendatei.
            Unterstützt CSV-, JSON- und Parquet-Formate.
        options: Optionales Konfigurationswörterbuch.
            - "validate" (bool): Eingabevalidierung aktivieren. Standardwert: True.
            - "format" (str): Ausgabeformat ("json" oder "csv"). Standardwert: "json".

    Returns:
        Ein ProcessResult mit den transformierten Daten und Metadaten.

    Raises:
        FileNotFoundError: Wenn input_path nicht existiert.
        ValidationError: Wenn die Validierung aktiviert ist und die Daten fehlerhaft sind.

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

TypeScript (JSDoc / TSDoc):

/**
 * Ruft Benutzerdaten von der API ab und transformiert sie für die Anzeige.
 *
 * @param userId - Die eindeutige Kennung des Benutzers
 * @param options - Konfigurationsoptionen für den Abrufvorgang
 * @param options.includeProfile - Ob das vollständige Profil eingeschlossen werden soll. Standardwert: `false`.
 * @param options.cache - Cache-Dauer in Sekunden. Auf `0` setzen, um zu deaktivieren.
 * @returns Die transformierten Benutzerdaten, bereit zum Rendern
 * @throws {NotFoundError} Wenn die Benutzer-ID nicht existiert
 * @throws {NetworkError} Wenn die API nicht erreichbar ist
 *
 * @example
 * ```ts
 * const user = await fetchUser("usr_123", { includeProfile: true });
 * console.log(user.displayName);
 * ```
 */

Go (GoDoc):

// ProcessData liest die Eingabedatei am angegebenen Pfad, wendet die angegebenen
// Transformationen an und gibt das verarbeitete Ergebnis zurück.
//
// Der Eingabepfad muss ein absoluter Pfad zu einer CSV- oder JSON-Datei sein.
// Wenn options nil ist, werden Standardoptionen verwendet.
//
// ProcessData gibt einen Fehler zurück, wenn die Datei nicht existiert oder nicht analysiert werden kann.
func ProcessData(inputPath string, options *ProcessOptions) (*Result, error) {

Phase 3: Qualitätssicherung

Schritt 3.1: Vollständigkeitsprüfung der Dokumentation

Überprüfen, ob die Dokumentation Folgendes abdeckt:

  • Was es ist — Klare Projektbeschreibung, die ein Neuling verstehen kann
  • Warum es existiert — Problem, das es löst, und Wertversprechen
  • Wie zu installieren — Kopierfertige Installationsbefehle
  • Wie zu verwenden — Mindestens ein minimales Arbeitsbeispiel
  • API-Oberfläche — Alle öffentlichen Funktionen, Klassen und Typen dokumentiert
  • Konfiguration — Alle Umgebungsvariablen, Konfigurationsdateien und Optionen
  • Fehlerbehandlung — Häufige Fehler und wie sie behoben werden
  • Mitwirken — Wie die Entwicklungsumgebung eingerichtet und Änderungen eingereicht werden

Schritt 3.2: Qualitätsstandards

StandardPrüfung
GenauigkeitJedes Codebeispiel muss mit der beschriebenen API tatsächlich funktionieren
VollständigkeitKeine öffentliche API-Oberfläche undokumentiert lassen
KonsistenzGleiche Formatierung und Struktur durchgängig
AktualitätDokumentation entspricht dem aktuellen Code, nicht einer älteren Version
ZugänglichkeitKein Fachjargon ohne Erklärung, Akronyme bei erster Verwendung definiert
BeispieleJedes komplexe Konzept hat mindestens ein praktisches Beispiel

Schritt 3.3: Querverweis-Validierung

Sicherstellen:

  • Alle erwähnten Dateipfade existieren im Projekt
  • Alle referenzierten Funktionen und Klassen existieren im Code
  • Alle Codebeispiele verwenden die korrekten Funktionssignaturen
  • Versionsnummern entsprechen der tatsächlichen Version des Projekts
  • Alle Links (intern und extern) sind gültig

Dokumentations-Stilrichtlinie

Schreibprinzipien

  1. Mit dem "Warum" beginnen — Bevor erklärt wird, wie etwas funktioniert, erklären, warum es existiert
  2. Progressive Offenlegung — Einfach beginnen, Komplexität schrittweise hinzufügen
  3. Zeigen, nicht erzählen — Codebeispiele bevorzugen statt langer Erklärungen
  4. Aktivform — "Die Funktion gibt X zurück" nicht "X wird von der Funktion zurückgegeben"
  5. Präsens — "Der Server startet auf Port 8080" nicht "Der Server wird auf Port 8080 starten"
  6. Zweite Person — "Sie können konfigurieren..." nicht "Benutzer können konfigurieren..."

Formatierungsregeln

  • ATX-Überschriften verwenden (#, ##, ###)
  • Codeblöcke mit Sprachangabe (```python, ```bash) verwenden
  • Tabellen für strukturierte Informationen verwenden (Parameter, Optionen, Konfiguration)
  • Hinweise für wichtige Notizen, Warnungen und Tipps verwenden
  • Zeilenlänge lesbar halten (Text auf ~80-100 Zeichen im Quelltext umbrechen)
  • Code-Formatierung für Funktionsnamen, Dateipfade, Variablennamen und CLI-Befehle verwenden

Sprachspezifische Konventionen

SpracheDokumentationsformatStilrichtlinie
PythonGoogle-Stil DocstringsPEP 257
TypeScript/JavaScriptTSDoc / JSDocTypeDoc-Konventionen
GoGoDoc-KommentareEffective Go
RustRustdoc (///)Rust API Guidelines
JavaJavadocOracle Javadoc Guide
C/C++DoxygenDoxygen Handbuch

Ausgabe-Behandlung

Nach der Generierung:

  • Dokumentationsdateien nach /mnt/user-data/outputs/ speichern
  • Bei mehrteiliger Dokumentation die Verzeichnisstruktur des Projekts beibehalten
  • Generierte Dateien dem Benutzer mit dem present_files-Tool präsentieren
  • Iteration über bestimmte Abschnitte oder Anpassung des Detailgrads anbieten
  • Zusätzliche Dokumentation vorschlagen, die wertvoll sein könnte

Hinweise

  • Vor dem Schreiben von Dokumentation immer den tatsächlichen Code analysieren – nie über API-Signaturen oder Verhalten raten
  • Wenn vorhandene Dokumentation existiert, deren Struktur beibehalten, es sei denn, der Benutzer bittet explizit um eine Neufassung
  • Bei großen Codebasen zuerst die öffentliche API-Oberfläche und die wichtigsten Abstraktionen dokumentieren
  • Die Dokumentation sollte in derselben Sprache wie die vorhandene Dokumentation des Projekts verfasst sein; Standard ist Englisch, wenn keine vorhanden ist
  • Bei der Generierung von Changelogs das Format Keep a Changelog verwenden
  • Dieser Skill funktioniert gut in Kombination mit dem Skill deep-research zur Dokumentation von Integrationen oder Abhängigkeiten Dritter

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

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

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/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/chart-visualization

This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.

bytedance/claude-to-deerflow

Interact with DeerFlow AI agent platform via its HTTP API. Use this skill when the user wants to send messages or questions to DeerFlow for research/analysis, start a DeerFlow conversation thread, check DeerFlow status or health, list available models/skills/agents in DeerFlow, manage DeerFlow memory, upload files to DeerFlow threads, or delegate complex research tasks to DeerFlow. Also use when the user mentions deerflow, deer flow, or wants to run a deep research task that DeerFlow can handle.

bytedance/consulting-analysis

Use this skill when the user requests to generate, create, or write professional research reports including but not limited to market analysis, consumer insights, brand analysis, financial analysis, industry research, competitive intelligence, investment due diligence, or any consulting-grade analytical report. This skill operates in two phases — (1) generating a structured analysis framework with chapter skeleton, data query requirements, and analysis logic, and (2) after data collection by other skills, producing the final consulting-grade report with structured narratives, embedded charts, and strategic insights.

bytedance/data-analysis

Use this skill when the user uploads Excel (.xlsx/.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to CSV/JSON/Markdown.

bytedance/deep-research

Use this skill instead of WebSearch for ANY question requiring web research. Trigger on queries like "what is X", "explain X", "compare X and Y", "research X", or before content generation tasks. Provides systematic multi-angle research methodology instead of single superficial searches. Use this proactively when the user's question needs online information.

bytedance/find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

bytedance/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.

bytedance/github-deep-research

Conduct multi-round deep research on any GitHub Repo. Use when users request comprehensive analysis, timeline reconstruction, competitive analysis, or in-depth investigation of GitHub. Produces structured markdown reports with executive summaries, chronological timelines, metrics analysis, and Mermaid diagrams. Triggers on Github repository URL or open source projects.

bytedance/image-generation

Use this skill when the user requests to generate, create, imagine, or visualize images including characters, scenes, products, or any visual content. Supports structured prompts and reference images for guided generation.

bytedance/podcast-generation

Use this skill when the user requests to generate, create, or produce podcasts from text content. Converts written content into a two-host conversational podcast audio format with natural dialogue.

bytedance/ppt-generation

Use this skill when the user requests to generate, create, or make presentations (PPT/PPTX). Creates visually rich slides by generating images for each slide and composing them into a PowerPoint file.

bytedance/skill-creator

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

bytedance/surprise-me

Create a delightful, unexpected "wow" experience for the user by dynamically discovering and creatively combining other enabled skills. Triggers when the user says "surprise me" or any request expressing a desire for an unexpected creative showcase. Also triggers when the user is bored, wants inspiration, or asks for "something interesting".

bytedance/vercel-deploy

Deploy applications and websites to Vercel. Use this skill when the user requests deployment actions such as "Deploy my app", "Deploy this to production", "Create a preview deployment", "Deploy and give me the link", or "Push this live". No authentication required - returns preview URL and claimable deployment link.

bytedance/video-generation

Use this skill when the user requests to generate, create, or imagine videos. Supports structured prompts and reference image for guided generation.

bytedance/web-design-guidelines

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

chart-visualization

This skill should be used when the user wants to visualize data. It intelligently selects the most suitable chart type from 26 available options, extracts parameters based on detailed specifications, and generates a chart image using a JavaScript script.

Verwandte Skills