reference-documentation
8
总安装量
6
周安装量
#33820
全站排名
安装命令
npx skills add https://github.com/nickcrew/claude-ctx-plugin --skill reference-documentation
Agent 安装分布
opencode
6
gemini-cli
5
codebuddy
5
github-copilot
5
codex
5
kimi-cli
5
Skill 文档
Reference Documentation
Create exhaustive, searchable, and precisely organized technical reference documentation that serves as the definitive source of truth for APIs, configurations, and system interfaces.
When to Use This Skill
- Building API reference documentation (REST, GraphQL, gRPC)
- Creating configuration guides with every parameter documented
- Writing schema documentation for databases or data models
- Producing CLI reference with all commands, flags, and examples
- Generating complete technical specifications
- Documenting error codes, status codes, and exception catalogs
- Creating migration guides for version upgrades
Quick Reference
| Resource | Purpose | Load when |
|---|---|---|
references/documentation-patterns.md |
API doc structure, glossary patterns, cross-referencing, versioned docs, parameter tables, configuration guides | Structuring any reference document |
Workflow Overview
Phase 1: Inventory â Catalog all public interfaces, parameters, and constraints
Phase 2: Author â Draft structured entries with examples and cross-links
Phase 3: Verify â Validate against implementation and tests
Phase 4: Organize â Structure for optimal retrieval and searchability
Phase 5: Maintain â Version tracking, deprecation, and update cadence
Phase 1: Inventory
Enumerate everything that needs documentation before writing anything.
Inventory Checklist
- All public API endpoints / methods / functions
- All configuration parameters and their defaults
- All error codes and exception types
- All environment variables
- All CLI commands and flags
- All schema fields and constraints
- All event types and payloads
- Deprecation timeline for removed features
Source of Truth Priority
- Implementation code (actual behavior)
- Tests (expected behavior with assertions)
- Type definitions / schemas (declared contracts)
- Existing documentation (may be stale â verify)
Phase 2: Author
Entry Format
Every documented item uses a consistent structure:
### methodName
**Type**: `(param1: string, param2?: number) => Promise<Result>`
**Since**: v2.1.0
**Deprecated**: No
**Description**:
Brief explanation of purpose and behavior.
**Parameters**:
| Name | Type | Required | Default | Description |
|------|------|----------|---------|-------------|
| `param1` | `string` | Yes | â | What this parameter controls |
| `param2` | `number` | No | `10` | What this parameter controls |
**Returns**: `Promise<Result>` â description of return value
**Throws**:
- `ValidationError` â when param1 is empty
- `TimeoutError` â when operation exceeds 30s
**Examples**:
Basic usage:
\`\`\`typescript
const result = await methodName("value");
\`\`\`
With options:
\`\`\`typescript
const result = await methodName("value", 20);
\`\`\`
**See Also**: [relatedMethod](#relatedmethod), [Configuration Guide](#configuration)
Writing Rules
- Document behavior, not implementation â what it does, not how
- Every parameter gets a row â no exceptions, even obvious ones
- Every entry gets an example â at least one working code sample
- State constraints explicitly â valid ranges, length limits, format requirements
- Cross-reference related items â link to related methods, configs, and error codes
Phase 3: Verify
Verification Methods
| What to verify | How |
|---|---|
| Method signatures | Compare against source code type definitions |
| Default values | Check source code initializers |
| Error conditions | Read implementation and test assertions |
| Examples | Run them or trace them against the code |
| Deprecated items | Check for deprecation markers in source |
Accuracy Checklist
- All signatures match current implementation
- All default values are correct
- All error conditions are documented
- All examples work against current version
- No removed features are still documented
- No new features are undocumented
Phase 4: Organize
Document Hierarchy
1. Overview â What this API/system does, quick orientation
2. Quick Reference â Cheat sheet of common operations with examples
3. Authentication â How to authenticate (if applicable)
4. Detailed Reference â Complete documentation, grouped logically
5. Error Reference â All error codes with causes and fixes
6. Glossary â Terms specific to this system
7. Changelog â What changed in each version
Navigation Aids
- Table of contents with deep linking at the top
- Alphabetical index for large reference sets
- Category grouping for logical discovery
- Search keywords embedded in headings and descriptions
- Version badges on entries added or changed in recent versions
Phase 5: Maintain
Versioning Strategy
- Tag every entry with the version it was introduced (
**Since**: v2.1.0) - Mark deprecations with migration guidance (
**Deprecated**: v3.0 â use newMethod instead) - Maintain a changelog section at the bottom of reference docs
- Separate docs by major version when breaking changes accumulate
Update Triggers
Reference documentation must be updated when:
- A public API signature changes
- A new parameter, endpoint, or command is added
- Default values or constraints change
- Features are deprecated or removed
- Error codes or behaviors change
Content Patterns
Parameter Tables
Always use tables for parameters â never inline lists:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
timeout |
number |
No | 30000 |
Request timeout in milliseconds |
retries |
number |
No | 3 |
Number of retry attempts |
Status Code Tables
| Code | Name | Description | Resolution |
|---|---|---|---|
400 |
Bad Request | Invalid input parameters | Check request body against schema |
401 |
Unauthorized | Missing or invalid auth token | Re-authenticate and retry |
429 |
Rate Limited | Too many requests | Back off and retry after Retry-After header |
Configuration Blocks
# config.yaml
server:
port: 3000 # Port to listen on (1024-65535)
host: "0.0.0.0" # Bind address
timeout: 30000 # Request timeout in ms
max_body_size: "1mb" # Maximum request body size
Anti-Patterns
- Documenting internal/private interfaces that can change without notice
- Using “obvious” or “self-explanatory” instead of writing a real description
- Omitting error documentation because “it’s clear from the types”
- Copy-pasting examples without verifying they still work
- Mixing tutorial-style narrative into reference entries (keep them separate)
- Letting documentation fall behind implementation for more than one release