reference-docs Skill
Bietet Patterns und Templates für das Schreiben von klarer, schnell scannbarer API-, Symbol- und technischen Referenzdokumentation.
- GitHub Stars
- 87
- Dateien
- 1
- Letzter Commit
- 15. Sept. 2026
- Lizenz
- Apache-2.0
- Erlaubte Tools
- —
Was macht der reference-docs Skill?
reference-docs ist ein Agent Skill. Bietet Patterns und Templates für das Schreiben von klarer, schnell scannbarer API-, Symbol- und technischen Referenzdokumentation.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den reference-docs skill
Technical Writer und Developer, die präzise und scannbare Dokumentationen für APIs, Symbole und technische Spezifikationen erstellen müssen, können diesen Skill nutzen, um hohe Standards an Klarheit zu halten. Er bietet strukturierte Templates und Schreibmuster, die speziell für erfahrene Nutzer entwickelt wurden, die technische Details schnell nachschlagen müssen, anstatt ein neues Konzept zu lernen.
Wenn ein Agent damit beauftragt wird, Referenzmaterial zu schreiben, sollte er diesen Skill zusammen mit docs-style laden, um sicherzustellen, dass die grundlegenden Schreibprinzipien eingehalten werden. Der Skill erstellt strukturierten Markdown-Content, einschließlich Parametertabellen, Beschreibungen von Rückgabewerten und ausführbaren Code-Beispielen. Er konzentriert sich darauf, die Funktionsweise eines Produkts zu beschreiben – wie Commands, Optionen und Limits – ohne dabei in Tutorials oder Erklärungen abzuschweifen. Durch das Befolgen der vorgegebenen Gates stellt der Output sicher, dass jedes Beispiel realistische Werte verwendet und jede Tabelle konsistente Spalten für erforderliche und optionale Felder enthält.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den reference-docs Skill
Jeder Befehl kopiert den Skill-Ordner in das Skills-Verzeichnis des Clients. Starte den Client neu oder beginne eine neue Session, um ihn zu laden.Den reference-docs Skill in Plugin installieren
/plugin marketplace add existential-birds/beagle /plugin install beagle-docs@existential-birds
Den reference-docs Skill in Claude Code installieren
~/.claude/skills/reference-docs/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs ~/.claude/skills/reference-docsDen reference-docs Skill in Claude Code (project) installieren
.claude/skills/reference-docs/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs .claude/skills/reference-docsDen reference-docs Skill in Codex installieren
~/.agents/skills/reference-docs/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs ~/.agents/skills/reference-docsDen reference-docs Skill in Gemini CLI installieren
~/.gemini/skills/reference-docs/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs ~/.gemini/skills/reference-docsDen reference-docs Skill in Claude.ai installieren
npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs reference-docs && zip -r reference-docs.zip reference-docs # claude.ai → Customize → Skills → + → Create skill → Upload a skill → reference-docs.zip
SKILL.md
Auf GitHub ansehenReference Documentation Patterns
Reference documentation is information-oriented - helping experienced users find precise technical details quickly. This skill provides patterns for writing clear, scannable reference pages.
Dependency: Always use this skill in conjunction with docs-style for core writing principles. To confirm reference is the right type — rather than a tutorial, how-to, or explanation — see docs-style/references/diataxis-compass.md.
Purpose and Audience
- Who: Experienced users seeking specific information
- Goal: Quick lookup of technical details
- Mode: Not for learning, for looking up
- Expectation: Brevity, consistency, completeness
Document Structure Template
Use this template when creating reference documentation:
---
title: "[Symbol/API Name]"
description: "One-line description of what it does"
---
# [Name]
Brief description (1-2 sentences). State what it is and its primary purpose.
## Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `param1` | `string` | Yes | What this parameter controls |
| `param2` | `number` | No | Optional behavior modification. Default: `10` |
## Returns
| Type | Description |
|------|-------------|
| `ReturnType` | What the function returns and when |
## Example
```language
import { symbolName } from 'package';
// Complete, runnable example showing common use case
const result = symbolName({
param1: 'realistic-value',
param2: 42
});
console.log(result);
// Expected output: { ... }
Related
- RelatedSymbol - Brief description
- AnotherSymbol - Brief description
## Writing Principles
### Describe, and Only Describe
Reference is austere, neutral, and authoritative — a map the reader can trust without independent verification. Its one job is to describe the machinery: commands, options, parameters, return values, limits, warnings. It does not instruct (that's How-To), teach (Tutorial), or argue (Explanation). When you feel the urge to explain *why* or walk the reader through a task, link out instead of inlining it; a digression interrupts and obscures the facts the reader came to consult.
### Structure Mirrors the Product
> "The structure of the documentation should mirror the structure of the product."
Organise reference so a reader can navigate the code and the docs in parallel — one reference entry per module, class, endpoint, or command, in the product's own order. Don't impose a narrative or thematic structure the product doesn't have; consistency of placement is what makes reference fast to consult.
### Brevity Over Explanation
- State facts, not rationale
- Avoid "why" - save that for Explanation docs
- Cut unnecessary words
**Do:**
```markdown
Returns the user's display name.
Avoid:
This function is useful when you need to get the user's display name
because it handles all the edge cases for you automatically.
Scannable Tables, Not Prose
Do:
| Name | Type | Description |
|------|------|-------------|
| `userId` | `string` | Unique user identifier |
| `options` | `Options` | Configuration object |
Avoid:
The first parameter is `userId`, which should be a string containing
the unique user identifier. The second parameter is `options`, which
is an Options object containing the configuration.
Consistent Format Across Entries
All reference pages for similar items should follow identical structure:
- Same heading order
- Same table columns
- Same code example format
- Same related links section
Every Example Must Be Runnable
- Include all imports
- Show complete, working code
- Use realistic values (not "foo", "bar", "test123")
- Include expected output when helpful
Code Example Patterns
Show Common Use Case First
## Example
### Basic Usage
```typescript
const user = await getUser('user-123');
console.log(user.name);
With Options
const user = await getUser('user-123', {
includeMetadata: true,
fields: ['name', 'email', 'role']
});
### Include Setup and Context
```markdown
```typescript
import { Client } from '@example/sdk';
// Initialize client (required once per application)
const client = new Client({ apiKey: process.env.API_KEY });
// Now use the function
const result = await client.users.list();
### Use Realistic Values
**Do:** `userId: 'usr_a1b2c3d4'`
**Avoid:** `userId: 'foo'`
**Do:** `email: 'jane.smith@company.com'`
**Avoid:** `email: 'test@test.com'`
## Parameter Documentation Patterns
### Required vs Optional
Clearly indicate which parameters are required:
```markdown
| Name | Type | Required | Default | Description |
|------|------|----------|---------|-------------|
| `apiKey` | `string` | Yes | - | Your API key |
| `timeout` | `number` | No | `30000` | Request timeout in ms |
| `retries` | `number` | No | `3` | Number of retry attempts |
Complex Types
For object parameters, document the shape:
## Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `options` | `UserOptions` | No | Configuration options |
### UserOptions
| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `includeDeleted` | `boolean` | No | Include soft-deleted users |
| `fields` | `string[]` | No | Fields to return |
| `limit` | `number` | No | Maximum results (default: 100) |
Enum Values
Document allowed values clearly:
| Name | Type | Values | Description |
|------|------|--------|-------------|
| `status` | `string` | `active`, `pending`, `suspended` | User account status |
Return Value Documentation
Simple Returns
## Returns
`User` - The requested user object, or `null` if not found.
Complex Returns
## Returns
| Property | Type | Description |
|----------|------|-------------|
| `data` | `User[]` | Array of user objects |
| `pagination` | `Pagination` | Pagination metadata |
| `total` | `number` | Total matching records |
Error Conditions
## Errors
| Error | Condition |
|-------|-----------|
| `NotFoundError` | User does not exist |
| `UnauthorizedError` | Invalid or expired API key |
| `RateLimitError` | Too many requests |
API Reference Specifics
HTTP Endpoints
## Endpoint
```http
GET /api/v1/users/{userId}
Path Parameters
| Name | Type | Description |
|---|---|---|
userId |
string |
The user's unique identifier |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
fields |
string |
No | Comma-separated list of fields |
Headers
| Name | Required | Description |
|---|---|---|
Authorization |
Yes | Bearer token |
X-Request-ID |
No | Request tracking ID |
Response
{
"id": "usr_a1b2c3d4",
"name": "Jane Smith",
"email": "jane@company.com"
}
## Component/Props Reference
For UI components:
```markdown
## Props
| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `variant` | `'primary' \| 'secondary'` | `'primary'` | Visual style |
| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Button size |
| `disabled` | `boolean` | `false` | Disable interactions |
| `onClick` | `() => void` | - | Click handler |
## Slots
| Name | Description |
|------|-------------|
| `default` | Button content |
| `icon` | Icon to display before text |
Related Links Section
Always include links to related content:
## Related
- [createUser](/reference/create-user) - Create a new user
- [updateUser](/reference/update-user) - Modify user properties
- [deleteUser](/reference/delete-user) - Remove a user
- [User Authentication Guide](/guides/authentication) - How authentication works
Gates (completion order)
Use this sequenced workflow before treating a reference page as complete. Finish step n before n+1; each step has a Pass you can check on the written page alone (no “I verified internally”).
- Structure — Sections match your project template (typically Parameters, Returns, Example, Related; HTTP docs add Endpoint, Path/Query, Headers, Response). Pass: every required section exists, or a one-line omission note appears under Related (e.g. “No query parameters”).
- Tables — Parameters/returns/errors use tables with consistent columns per Consistent Format Across Entries and Required vs Optional. Pass: no blank Description cells; no
TBD/???for shipped APIs. - Runnable example — At least one example meets Every Example Must Be Runnable and Use Realistic Values. Pass: imports included; user-visible strings are realistic (not generic
foo/barunless the API is illustrative-only). - Related — Pass:
## Relatedcontains ≥1 Markdown link to another reference or guide, or one explicit sentence that there are no related symbols.
Checklist for Reference Pages
After the Gates (completion order) above, confirm:
- Title matches the symbol/API name exactly
- Description is one clear sentence
- All parameters documented with types
- Required vs optional clearly marked
- Default values specified for optional parameters
- Return type and structure documented
- At least one complete, runnable example
- Example uses realistic values
- Related pages linked
- Format matches other reference pages in the docs
When to Use Reference vs Other Doc Types
| User's mindset | Doc type | Example |
|---|---|---|
| "I want to learn" | Tutorial | "Build your first integration" |
| "I want to do X" | How-To | "How to configure SSO" |
| "I want to understand" | Explanation | "How our caching works" |
| "I need to look up Y" | Reference | "API endpoint reference" |
Reference and Explanation are the two cognition-oriented types and are easily confused: Reference states neutral facts to consult while working; Explanation discusses reasoning to read while reflecting. For the full compass procedure and distinctions, see docs-style/references/diataxis-compass.md.
Related Skills
- docs-style: Core writing conventions and components
- Diataxis compass: Type selection, the 2×2 map, and the quality model
- tutorial-docs: Tutorial patterns for learning-oriented content
- howto-docs: How-To guide patterns for task-oriented content
- explanation-docs: Conceptual documentation patterns
Dateien in diesem Skill
1reference-docs Skill-Fragen
Wie installiere ich den reference-docs Skill in Claude Code?
Führe npx degit existential-birds/beagle/plugins/beagle-docs/skills/reference-docs ~/.claude/skills/reference-docs aus. Claude Code lädt Skills aus ~/.claude/skills (alle Projekte) oder .claude/skills (ein Projekt) und nutzt einen Skill, wenn seine Beschreibung zur Aufgabe passt.
Welche Clients können den reference-docs Skill nutzen?
Jeder Client, der das Agent Skills-Format liest: Claude Code, Codex, Gemini CLI und claude.ai (als ZIP hochladen). Skripte im Skill laufen nur dort, wo der Client Codeausführung erlaubt.
Was ist der Unterschied zwischen Referenz- und Erklärungsdokumentation?
Referenzdokumentation liefert neutrale Fakten für den schnellen Nachschlag während der Arbeit, während Erklärungsdokumentation die zugrunde liegende Logik für das Verständnis beim Lesen erläutert.