Skills jeffallan claude-skills
code-documenter
- Use it when:
- Code lacks docstrings or API docs, or you need a documentation site, a getting-started guide or a tutorial.
- It does:
- Asks your preferred format and what to skip, detects the language and framework, finds undocumented code, documents it, then tests the examples.
- You get:
- Documented files and a coverage report, or OpenAPI specs, a doc site setup or Markdown guides, depending on the task.
- Checks:
- Python doctests, typed TypeScript examples with tsc --noEmit, and OpenAPI specs with npx @redocly/cli lint, fixing whatever fails before reporting.
- Coverage report:
- How many functions, classes and endpoints are documented, coverage before and after, the files changed and what's still missing.
TL;DR
It asks which docstring style you want before starting, never assuming one, then applies it consistently: Google, NumPy or Sphinx style in Python, JSDoc in TypeScript and JavaScript. For API docs it picks the approach that fits the framework, such as FastAPI, Django, NestJS or Express. Every public function and class gets parameter types, descriptions and the errors it raises, while obvious getters and setters stay brief. Examples that don't compile or run are fixed and re-checked before the report. Reference files cover Python docstrings, JSDoc, API docs for Python and Node frameworks, coverage reports, documentation site generators, interactive API docs including GraphQL, WebSocket and gRPC, and user guides and tutorials.
Summarizes the skill at 078a25c.
npx skills add https://github.com/jeffallan/claude-skills --skill code-documenter skills.sh pageSource on GitHubAll skills from jeffallan/claude-skills
- Total Downloads
- 6,000 on skills.sh, Nov 9, 2026
- Repo stars
- 12,279 jeffallan/claude-skills
- First seen
- Jan 20, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 124 |
| Sep 28 | 120 |
| Oct 5 | 129 |
| Oct 12 | 138 |
| Oct 19 | 181 |
| Oct 26 | 155 |
| Nov 2 | 157 |
| Nov 9 | 124 |
| Category |
Articles, docs, internal comms, research write-ups and prose that doesn't read as generated. |
|---|---|
| Type |
A multi-step process the agent follows: interview, debug, run a TDD loop, review. |
| Effect |
Its own steps create or change files, git state or local tools. |
| Needs |
A specific command-line tool or desktop app must be installed, such as gh, agent-browser, LibreOffice, Obsidian or a vendor CLI. |
| Publisher |
Everyone else. Unverified vendor claims default to community. |
| Topics |
SKILL.md
From jeffallan/claude-skills at 078a25c. Checked daily, last changed Nov 6, 2026.
Frontmatter
name: code-documenter
description: Generates, formats, and validates technical documentation — including docstrings, OpenAPI/Swagger specs, JSDoc annotations, doc portals, and user guides. Use when adding docstrings to functions or classes, creating API documentation, building documentation sites, or writing tutorials and user guides. Invoke for OpenAPI/Swagger specs, JSDoc, doc portals, getting started guides.
license: MIT
metadata:
author: https://github.com/Jeffallan
company: https://synergetic.solutions
version: "1.1.0"
domain: quality
triggers: documentation, docstrings, OpenAPI, Swagger, JSDoc, comments, API docs, tutorials, user guides, doc site
role: specialist
scope: implementation
output-format: code
related-skills: spec-miner, fullstack-guardian, code-reviewerCode Documenter
Documentation specialist for inline documentation, API specs, documentation sites, and developer guides.
When to Use This Skill
- Adding docstrings to functions, classes, and modules
- Writing OpenAPI/Swagger specs or JSDoc annotations
- Creating API documentation for REST or GraphQL endpoints
- Building documentation sites or developer portals
- Writing getting-started guides, tutorials, and user guides
Core Workflow
- Discover - Ask for format preference and exclusions
- Detect - Identify language and framework
- Analyze - Find undocumented code
- Document - Apply consistent format
- Validate - Test all code examples compile/run:
- Python:
python -m doctest file.pyfor doctest blocks;pytest --doctest-modulesfor module-wide checks - TypeScript/JavaScript:
tsc --noEmitto confirm typed examples compile - OpenAPI: validate spec with
npx @redocly/cli lint openapi.yaml - If validation fails: fix examples and re-validate before proceeding to the Report step
- Python:
- Report - Generate coverage summary
Quick-Reference Examples
Google-style Docstring (Python)
def fetch_user(user_id: int, active_only: bool = True) -> dict:
"""Fetch a single user record by ID.
Args:
user_id: Unique identifier for the user.
active_only: When True, raise an error for inactive users.
Returns:
A dict containing user fields (id, name, email, created_at).
Raises:
ValueError: If user_id is not a positive integer.
UserNotFoundError: If no matching user exists.
"""
NumPy-style Docstring (Python)
def compute_similarity(vec_a: np.ndarray, vec_b: np.ndarray) -> float:
"""Compute cosine similarity between two vectors.
Parameters
----------
vec_a : np.ndarray
First input vector, shape (n,).
vec_b : np.ndarray
Second input vector, shape (n,).
Returns
-------
float
Cosine similarity in the range [-1, 1].
Raises
------
ValueError
If vectors have different lengths.
"""
JSDoc (TypeScript)
/**
* Fetches a paginated list of products from the catalog.
*
* @param {string} categoryId - The category to filter by.
* @param {number} [page=1] - Page number (1-indexed).
* @param {number} [limit=20] - Maximum items per page.
* @returns {Promise<ProductPage>} Resolves to a page of product records.
* @throws {NotFoundError} If the category does not exist.
*
* @example
* const page = await fetchProducts('electronics', 2, 10);
* console.log(page.items);
*/
async function fetchProducts(
categoryId: string,
page = 1,
limit = 20
): Promise<ProductPage> { ... }
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Python Docstrings | references/python-docstrings.md |
Google, NumPy, Sphinx styles |
| TypeScript JSDoc | references/typescript-jsdoc.md |
JSDoc patterns, TypeScript |
| FastAPI/Django API | references/api-docs-fastapi-django.md |
Python API documentation |
| NestJS/Express API | references/api-docs-nestjs-express.md |
Node.js API documentation |
| Coverage Reports | references/coverage-reports.md |
Generating documentation reports |
| Documentation Systems | references/documentation-systems.md |
Doc sites, static generators, search, testing |
| Interactive API Docs | references/interactive-api-docs.md |
OpenAPI 3.1, portals, GraphQL, WebSocket, gRPC, SDKs |
| User Guides & Tutorials | references/user-guides-tutorials.md |
Getting started, tutorials, troubleshooting, FAQs |
Constraints
MUST DO
- Ask for format preference before starting
- Detect framework for correct API doc strategy
- Document all public functions/classes
- Include parameter types and descriptions
- Document exceptions/errors
- Test code examples in documentation
- Generate coverage report
MUST NOT DO
- Assume docstring format without asking
- Apply wrong API doc strategy for framework
- Write inaccurate or untested documentation
- Skip error documentation
- Document obvious getters/setters verbosely
- Create documentation that's hard to maintain
Output Formats
Depending on the task, provide:
- Code Documentation: Documented files + coverage report
- API Docs: OpenAPI specs + portal configuration
- Doc Sites: Site configuration + content structure + build instructions
- Guides/Tutorials: Structured markdown with examples + diagrams
Knowledge Reference
Google/NumPy/Sphinx docstrings, JSDoc, OpenAPI 3.0/3.1, AsyncAPI, gRPC/protobuf, FastAPI, Django, NestJS, Express, GraphQL, Docusaurus, MkDocs, VitePress, Swagger UI, Redoc, Stoplight
Maintained by @jeffallan, Principal Consultant at Synergetic Solutions