hezaohezao/code-documentation
Generate docs: README, API reference, architecture, guides.
npx skills add https://github.com/HezaoHezao/poirot --skill code-documentation
Generate professional, comprehensive documentation for software projects,
codebases, libraries, and APIs. Follows best practices from React, Django,
Stripe, Kubernetes to produce accurate, well-structured docs.
| Field | How to Determine |
|-------|-----------------|
| Language(s) | File extensions, package.json, pyproject.toml, go.mod |
| Framework | Dependencies (React, Django, Express, Spring) |
| Build System | Makefile, CMakeLists.txt, webpack.config.js |
| Package Manager | npm/yarn/pnpm, pip/uv/poetry, cargo |
| Project Structure | Map directory tree |
| Entry Points | main files, CLI entry points, exported modules |
| Existing Docs | README, docs/, wiki, inline docs |
# Discover project structure
list_dir(".")
# Read key files
read_file("package.json") # or pyproject.toml, go.mod, etc.
# Find all source files
bash("find . -name '*.py' -not -path '*/venv/*' -not -path '*/.venv/*' | head -30")
# Find entry points
bash("grep -rl 'if __name__' --include='*.py' . | head -10")
# Find API routes/endpoints
bash("grep -rn '@app.route\|@router\.\|def get\|def post' --include='*.py' . | head -20")
# Find exported modules
bash("grep -rn 'export\|module.exports' --include='*.js' --include='*.ts' . | head -20")
# Find classes (for API reference)
bash("grep -rn '^class ' --include='*.py' . | head -20")
# Project Name
> One-line description
## Features
- Feature 1
- Feature 2
## Installation
\`\`\`bash
pip install project-name
\`\`\`
## Quick Start
\`\`\`python
from project import Client
client = Client()
result = client.do_thing()
\`\`\`
## API Reference
### `Client.do_thing(param: str) -> Result`
Description of what this does.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| param | str | Yes | The input |
## Configuration
| Key | Default | Description |
|-----|---------|-------------|
## Contributing
See CONTRIBUTING.md
## License
MIT
For each public function/class:
architecture-diagram skill)| Language | Inline Format | Reference Format |
|----------|--------------|-----------------|
| Python | docstrings (Google/NumPy style) | Sphinx, MkDocs |
| JavaScript/TypeScript | JSDoc/TSDoc | JSDoc, TypeDoc |
| Go | GoDoc comments | godoc |
| Java | Javadoc | javadoc |
| Rust | rustdoc (///) | rustdoc |
# From git log
bash("git log --oneline --no-decorate v1.0.0..HEAD | head -50")
# Generate changelog from commits
bash("git log v1.0.0..HEAD --pretty=format:'- %s (%h)' --no-merges")
update. Note the commit/version the docs were generated from.
include copy-pasteable examples.
details. Internal code should have inline comments, not API docs.
and minimum versions.
Take hezaohezao/code-documentation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.