Documentation Standards
documentation
Documentation standards. Apply when completing full feature development, introducing new architecture patterns, or adding new public APIs.
SKILL.md
Full skill instructions
Documentation Standards
Core Principle
"Code tells you how; Comments tell you why; Docs tell you how to use." Documentation is not a dev diary; it's a user manual for future maintainers.
Trigger Conditions
- ✅ Must create: Completed a full Feature module, introduced new architecture pattern, or added new public API
- ❌ Forbidden: Just fixed a bug, refactored internal private method, or adjusted styles. Don't pollute
/docs/with fragmented docs
File Path & Naming
- Path:
/docs/specs/ - Naming:
{feature-name}.md(use kebab-case, e.g.,user-authentication.md)
Documentation Structure Template
Documentation must be concise and powerful, strictly following:
1. Core Concept
- One sentence explaining what this module does
- Linus perspective: What's its core data structure?
2. Data Flow (optional)
- Use Mermaid flowchart or text to describe data flow path
- What's the input? What's the output? Who holds state?
3. Usage Guide
- Show, don't tell. Less talk, more code
- Provide 1-2 Minimal Working Examples
// ✅ Correct usage example
const user = await authService.login(credentials);
4. Edge Cases
- When will this module crash?
- What are known limitations? (e.g., concurrency cap, unsupported file types)
5. Maintainer Notes
- If you're the architect, what do you want the successor to know?
- Any non-intuitive design decision rationales
Example
File: /docs/specs/payment-flow.md
Content:
Payment Flow Module
Handles Stripe payment intent creation and callback verification. Core based on PaymentIntent state machine.
Usage
...
Edge Cases
- ⚠️ Doesn't support transactions below 0.50 USD
- Webhooks may be resent, must ensure idempotent handling
