Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate docs: README, API reference, architecture, guides.
.claude/skills/hezaohezao-code-documentation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-06 | ✓→✗ | ▼ Worse | 192% | 0% |
| case-09 | ✓→✗ | ▼ Worse | -84% | 0% |
| case-19 | ✓→✗ | ▼ Worse | 136% | 0% |
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 |
bash# 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")
bash# 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")
markdown# 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 |
bash# 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.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 2,948 | 9,182 | +211% | 1 | 1 | 0% | 343 | 1,331 | +288% | 0 | 0 | — |
case-02 | fail→fail | 44,505 | 5,089 | -89% | 1 | 1 | 0% | 3,751 | 1,406 | -63% | 0 | 0 | — |
case-03 | fail→fail | 18,876 | 20,291 | +7% | 1 | 1 | 0% | 3,603 | 6,132 | +70% | 0 | 0 | — |
case-04 | pass→pass | 12,334 | 13,894 | +13% | 1 | 1 | 0% | 2,073 | 3,736 | +80% | 0 | 0 | — |
case-05 | pass→pass | 22,029 | 41,714 | +89% | 1 | 1 | 0% | 3,955 | 5,500 | +39% | 0 | 0 | — |
case-06 | pass→fail | 15,693 | 14,732 | -6% | 1 | 1 | 0% | 1,429 | 4,179 | +192% | 0 | 0 | — |
case-07 | pass→pass | 7,479 | 9,860 | +32% | 1 | 1 | 0% | 1,124 | 1,982 | +76% | 0 | 0 | — |
case-08 | pass→pass | 27,957 | 31,417 | +12% | 1 | 1 | 0% | 4,130 | 6,217 | +51% | 0 | 0 | — |
case-09 | pass→fail | 42,723 | 4,281 | -90% | 1 | 1 | 0% | 8,222 | 1,342 | -84% | 0 | 0 | — |
case-10 | pass→pass | 20,807 | 16,075 | -23% | 1 | 1 | 0% | 3,327 | 3,728 | +12% | 0 | 0 | — |
case-11 | pass→pass | 8,580 | 8,705 | +1% | 1 | 1 | 0% | 1,551 | 2,722 | +75% | 0 | 0 | — |
case-12 | pass→pass | 8,992 | 11,170 | +24% | 1 | 1 | 0% | 1,512 | 2,809 | +86% | 0 | 0 | — |
case-13 | fail→pass | 14,071 | 14,806 | +5% | 1 | 1 | 0% | 2,130 | 3,651 | +71% | 0 | 0 | — |
case-14 | pass→pass | 13,215 | 15,942 | +21% | 1 | 1 | 0% | 2,157 | 3,965 | +84% | 0 | 0 | — |
case-15 | pass→pass | 10,499 | 14,656 | +40% | 1 | 1 | 0% | 1,851 | 3,915 | +112% | 0 | 0 | — |
case-16 | pass→pass | 15,312 | 28,712 | +88% | 1 | 1 | 0% | 2,364 | 4,135 | +75% | 0 | 0 | — |
case-17 | fail→pass | 13,773 | 13,604 | -1% | 1 | 1 | 0% | 2,316 | 3,626 | +57% | 0 | 0 | — |
case-18 | pass→pass | 20,546 | 23,084 | +12% | 1 | 1 | 0% | 3,406 | 5,103 | +50% | 0 | 0 | — |
case-19 | pass→fail | 10,434 | 23,781 | +128% | 1 | 1 | 0% | 1,654 | 3,906 | +136% | 0 | 0 | — |
case-20 | fail→fail | 16,700 | 5,010 | -70% | 1 | 1 | 0% | 3,567 | 1,373 | -62% | 0 | 0 | — |
case-21 | pass→pass | 8,457 | 10,438 | +23% | 1 | 1 | 0% | 1,440 | 2,850 | +98% | 0 | 0 | — |
case-22 | pass→pass | 17,503 | 14,202 | -19% | 1 | 1 | 0% | 2,744 | 3,146 | +15% | 0 | 0 | — |
case-23 | pass→pass | 21,339 | 17,193 | -19% | 1 | 1 | 0% | 3,024 | 4,075 | +35% | 0 | 0 | — |
case-24 | fail→fail | 16,939 | 11,919 | -30% | 1 | 1 | 0% | 2,601 | 2,913 | +12% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 20 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -4 percentage points is the difference between those two pass rates over the 20 comparable cases. 5 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.