thebushidocollective/han/document
Claude Code and agent skill by thebushidocollective/han
- community
Checking that the SKILL.md file is still in the repository.
Generate or update documentation for code, APIs, or systems
Install
npx vskill@latest install thebushidocollective/han/documentSKILL.md
Documentation Skill
Create clear, useful documentation that helps people understand and use your code.
Core Principle
Write for the reader, not for yourself.
Name
han-core:document - Generate or update documentation for code, APIs, or systems
Synopsis
Types of Documentation
1. README Files
Purpose: Help users understand what the project does and how to use it
Audience: New users, potential contributors
Key sections:
- What it does (one paragraph)
- Installation instructions
- Quick start example
- Common use cases
- Link to full documentation
- How to contribute
- License
2. API Documentation
Purpose: Help developers use your API correctly
Audience: Other developers integrating with your code
Key information:
- Endpoint/function signature
- Parameters and types
- Return values
- Error cases
- Authentication requirements
- Examples
3. Inline Comments
Purpose: Explain non-obvious decisions and complex logic
Audience: Future developers (including future you)
When to add:
- Non-obvious decisions ("why" not "what")
- Complex algorithms
- Workarounds
- Edge cases
- Performance considerations
- Security considerations
4. Technical Guides
Purpose: Teach how to accomplish specific tasks
Audience: Developers working with the system
Types:
- How-to guides (step-by-step)
- Architecture overviews (system structure)
- Integration guides (connecting systems)
- Troubleshooting guides (debugging help)
5. Architecture Decision Records (ADRs)
Purpose: Document important technical decisions and their rationale
Audience: Current and future team members
Key information:
- Context (what problem exists)
- Decision (what was chosen)
- Alternatives considered
- Consequences (trade-offs)
Documentation Principles
Good documentation:
- For the reader: Written for their level and needs
- Clear: No jargon unless necessary
- Concrete: Examples over abstract descriptions
- Complete: Answers the key questions
- Maintained: Updated when code changes
Bad documentation:
- Explains "what" instead of "why"
- Assumes too much knowledge
- No examples
- Out of date
- Too verbose or too terse
README Template
npm install project-name
import { Thing } from 'project-name'
const thing = new Thing() thing.doSomething() // Output: ...
const result = functionName('hello', 10) console.log(result) // "hello repeated 10 times"
npm install project-name
API Documentation Template
REST API
{ "Content-Type": "application/json", "Authorization": "Bearer <admin_token>" }
{ "email": "user@example.com", "name": "John Doe", "role": "user" }
{ "id": "abc123", "email": "user@example.com", "name": "John Doe", "role": "user", "createdAt": "2024-01-01T00:00:00Z" }
{ "error": "Invalid email format", "field": "email" }
{ "error": "Authentication required" }
{ "error": "Admin access required" }
{ "error": "Email already exists", "field": "email" }
{ "error": "Rate limit exceeded. Try again in 60 seconds.", "retryAfter": 60 }
curl -X POST https://api.example.com/users \ -H "Content-Type: application/json" \ -H "Authorization: Bearer abc123..." \ -d '{ "email": "user@example.com", "name": "John Doe", "role": "user" }'
const response = await fetch('https://api.example.com/users', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer abc123...' }, body: JSON.stringify({ email: 'user@example.com', name: 'John Doe', role: 'user' }) })
const user = await response.json() console.log(user.id) // "abc123"
Function/Method Documentation
Inline Comment Guidelines
When to Comment
DO comment:
- Why: Explains reasoning for non-obvious decisions
- Trade-offs: Documents deliberate choices
- Workarounds: Explains temporary solutions
- Complex logic: Clarifies difficult algorithms
- Edge cases: Documents special handling
- Performance: Explains optimization choices
- Security: Notes security considerations
DON'T comment:
- What: Code is self-explanatory
- Redundant: Comment repeats code
- Obvious: Anyone can see what it does
Good vs Bad Comments
Comment Formats
Single-line comments:
Multi-line comments:
Doc comments (JSDoc/TSDoc):
TODO comments:
Technical Guide Template
Command to run
command --option value
// Full code example
Architecture Decision Record Template
Documentation Best Practices
1. Write for Your Audience
Different audiences need different docs:
- New users: Quick start, common use cases
- API consumers: Complete reference, examples
- Contributors: Architecture, dev setup
- Maintainers: Design decisions, trade-offs
2. Show, Don't Just Tell
Bad:
Good:
3. Keep Examples Runnable
Test your examples:
- Copy/paste should work
- Include all imports
- Show complete code, not fragments
- Verify examples actually run
4. Maintain Documentation
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/core/skills/document/SKILL.md
Popularity
- Repository stars
- 198
- Repository forks
- 21
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/thebushidocollective/han/document)