Documentation Skill
Write documentation that helps people accomplish their goals quickly and accurately.
Documentation Types
| Type |
Purpose |
Audience |
| README |
First impression — what it does, how to install, how to start |
New users and contributors |
| API Reference |
Complete description of every endpoint, function, or class |
Developers integrating the code |
| Guide / Tutorial |
Step-by-step walkthrough of a specific task |
Users learning a feature |
| Architecture Doc |
System design, component relationships, data flow |
Team members and maintainers |
| Changelog |
Notable changes per version |
Users upgrading between versions |
Core Guidelines
- Audience first. A README for end-users reads differently from an architecture doc.
- Examples over theory. Show working code before explaining concepts.
- Keep it scannable. Headings, bullet points, tables, short paragraphs.
- Keep it accurate. Outdated docs are worse than no docs. Update alongside code.
- Be concise. Every sentence should earn its place.
Formatting
- Use Markdown. Fenced code blocks with language identifiers (
```python).
- Tables for comparisons. Note: / Warning: prefixes for callouts.
Python Docstrings — Google Style
def calculate_total(items: list[dict], tax_rate: float = 0.0) -> float:
"""Calculate the total price for a list of items with optional tax.
Args:
items: A list of dicts, each with a "price" key (float).
tax_rate: Tax rate as a decimal (e.g., 0.08). Defaults to 0.0.
Returns:
The total price including tax, rounded to two decimal places.
Raises:
ValueError: If any item is missing the "price" key.
"""
JavaScript — JSDoc
/**
* Calculate the total price for a list of items with optional tax.
*
* @param {Array<{price: number}>} items - Item objects with a price property.
* @param {number} [taxRate=0] - Tax rate as a decimal (e.g., 0.08).
* @returns {number} Total price including tax, rounded to two decimal places.
* @throws {Error} If any item is missing the price property.
*/
README Template
- Project name and one-line description
- Quick start — install and run in under 60 seconds
- Features — what it does (bullet list)
- Usage — common use cases with code examples
- Configuration — env vars, config files, options
- Contributing — dev setup, tests, submitting changes
- License
Guidelines
- Write docs at the same time as the code, not after.
- Prefer self-documenting code; reserve comments for "why" not "what."
- Follow Keep a Changelog: group under Added, Changed, Fixed, Removed.
- Test code examples in documentation to ensure they work.
Source: SalesTeamToolbox/frood — distributed by TomeVault.
1---2name: documentation-583description: Write clear technical documentation — APIs, guides, READMEs, inline docs. Use when this capability is needed.4---56# Documentation Skill78Write documentation that helps people accomplish their goals quickly and accurately.910## Documentation Types1112| Type | Purpose | Audience |13|---|---|---|14| **README** | First impression — what it does, how to install, how to start | New users and contributors |15| **API Reference** | Complete description of every endpoint, function, or class | Developers integrating the code |16| **Guide / Tutorial** | Step-by-step walkthrough of a specific task | Users learning a feature |17| **Architecture Doc** | System design, component relationships, data flow | Team members and maintainers |18| **Changelog** | Notable changes per version | Users upgrading between versions |1920## Core Guidelines21221. **Audience first.** A README for end-users reads differently from an architecture doc.232. **Examples over theory.** Show working code before explaining concepts.243. **Keep it scannable.** Headings, bullet points, tables, short paragraphs.254. **Keep it accurate.** Outdated docs are worse than no docs. Update alongside code.265. **Be concise.** Every sentence should earn its place.2728## Formatting2930- Use **Markdown**. Fenced code blocks with language identifiers (` ```python `).31- Tables for comparisons. **Note:** / **Warning:** prefixes for callouts.3233### Python Docstrings — Google Style34```python35def calculate_total(items: list[dict], tax_rate: float = 0.0) -> float:36 """Calculate the total price for a list of items with optional tax.3738 Args:39 items: A list of dicts, each with a "price" key (float).40 tax_rate: Tax rate as a decimal (e.g., 0.08). Defaults to 0.0.4142 Returns:43 The total price including tax, rounded to two decimal places.4445 Raises:46 ValueError: If any item is missing the "price" key.47 """48```4950### JavaScript — JSDoc51```javascript52/**53 * Calculate the total price for a list of items with optional tax.54 *55 * @param {Array<{price: number}>} items - Item objects with a price property.56 * @param {number} [taxRate=0] - Tax rate as a decimal (e.g., 0.08).57 * @returns {number} Total price including tax, rounded to two decimal places.58 * @throws {Error} If any item is missing the price property.59 */60```6162## README Template63641. **Project name and one-line description**652. **Quick start** — install and run in under 60 seconds663. **Features** — what it does (bullet list)674. **Usage** — common use cases with code examples685. **Configuration** — env vars, config files, options696. **Contributing** — dev setup, tests, submitting changes707. **License**7172## Guidelines7374- Write docs at the same time as the code, not after.75- Prefer self-documenting code; reserve comments for "why" not "what."76- Follow [Keep a Changelog](https://keepachangelog.com/): group under Added, Changed, Fixed, Removed.77- Test code examples in documentation to ensure they work.7879---80> Source: [SalesTeamToolbox/frood](https://github.com/SalesTeamToolbox/frood) — distributed by [TomeVault](https://tomevault.io).81<!-- tomevault:4.0:skill_md:2026-06-16 -->