writing-documentation-for-llms by CaptainCrouton89
Create effective documentation that LLMs can discover and use. Use when documenting code, APIs, features, or creating reference materials. Covers structure, conciseness, examples, and anti-patterns for optimal LLM comprehension.
Content & Writing
497 Stars
69 Forks
Updated Oct 16, 2025, 06:19 PM
Why Use This
This skill provides specialized capabilities for CaptainCrouton89's codebase.
Use Cases
Developing new features in the CaptainCrouton89 repository
Refactoring existing code to follow CaptainCrouton89 standards
Understanding and working with CaptainCrouton89's codebase structure
---
name: Writing Documentation for LLMs
description: Create effective documentation that LLMs can discover and use. Use when documenting code, APIs, features, or creating reference materials. Covers structure, conciseness, examples, and anti-patterns for optimal LLM comprehension.
---
# Writing Documentation for LLMs
## When to Use
- Creating documentation, guides, or reference materials
- Writing API docs, feature specs, or knowledge bases
- Structuring information for LLM discovery
- Evaluating documentation quality and comprehensiveness
## Core Principles
### Assume Competence
LLMs already know fundamentals. Only add information they don't have. Every section should justify its token cost.
**Verbose** (~150 tokens):
```
PDF (Portable Document Format) files are a common file format that contains text, images, and other content. To extract text from a PDF, you'll need to use a library. There are many libraries available for PDF processing...
```
**Concise** (~50 tokens):
```
Use pdfplumber for text extraction:
```python
import pdfplumber
with pdfplumber.open("file.pdf") as pdf:
text = pdf.pages[0].extract_text()
```
```
### Match Specificity to Task Fragility
**Narrow instructions** (low freedom) when:
- Operations are error-prone or destructive
- Consistency is critical
- Exact sequence required
**General guidance** (high freedom) when:
- Multiple approaches are valid
- Context determines best path
- Heuristics guide the approach
## Structure Best Practices
### Progressive Disclosure
Organize like a table of contents. Main file provides overview; detailed materials referenced only when needed.
- Main file: high-level guide with references (<500 lines)
- Reference files: one per domain/topic
- Avoid nested references (file A → B → C)
### Table of Contents
For files >100 lines, include TOC so LLMs see full scope even with partial reads.
### Consistent Terminology
Choose one term and use it throughout:
- Always "API endpoint" (not "URL", "route", "path")
- Always "field" (not "box", "element")
- Always "extract" (not "pull", "get")
## Content Patterns
### Descriptions: What + When
Enable discovery with concrete capability + context:
**Good**: "Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, forms, or document extraction."
**Bad**: "Helps with documents"
### Examples Over Explanations
Show concrete input/output examples before abstract descriptions.
### Workflows with Clear Steps
Break complex operations into sequential steps. Use checklists for complex workflows.
### Feedback Loops
Use validator patterns for quality-critical tasks:
1. Make edits
2. **Validate** — Run validation
3. If validation fails — Review, fix, retry
4. **Only proceed when validation passes**
## Anti-patterns to Avoid
- **Too many options**: Present single recommended approach, alternatives only if necessary
- **Deeply nested references**: Keep one level deep from main file
- **Vague terminology**: Use specific, discoverable language
- **Windows-style paths**: Always use forward slashes (e.g., `scripts/helper.py`)
- **Time-sensitive information**: Use "Old patterns" sections with details collapsed