jeffallan/claude-skills

code-documenter

Generates, formats, and validates technical documentation — including docstrings, OpenAPI/Swagger specs, JSDoc annotations, doc portals, and user guides.

Quelltext ansehen
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

Code 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

  1. Discover - Ask for format preference and exclusions
  2. Detect - Identify language and framework
  3. Analyze - Find undocumented code
  4. Document - Apply consistent format
  5. Validate - Test all code examples compile/run:
  • Python: python -m doctest file.py for doctest blocks; pytest --doctest-modules for module-wide checks
  • TypeScript/JavaScript: tsc --noEmit to 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
  1. Report - Generate coverage summary

Quick-Reference Examples

Google-style Docstring (Python)

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)

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)

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:

TopicReferenceLoad When
Python Docstringsreferences/python-docstrings.mdGoogle, NumPy, Sphinx styles
TypeScript JSDocreferences/typescript-jsdoc.mdJSDoc patterns, TypeScript
FastAPI/Django APIreferences/api-docs-fastapi-django.mdPython API documentation
NestJS/Express APIreferences/api-docs-nestjs-express.mdNode.js API documentation
Coverage Reportsreferences/coverage-reports.mdGenerating documentation reports
Documentation Systemsreferences/documentation-systems.mdDoc sites, static generators, search, testing
Interactive API Docsreferences/interactive-api-docs.mdOpenAPI 3.1, portals, GraphQL, WebSocket, gRPC, SDKs
User Guides & Tutorialsreferences/user-guides-tutorials.mdGetting 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:

  1. Code Documentation: Documented files + coverage report
  2. API Docs: OpenAPI specs + portal configuration
  3. Doc Sites: Site configuration + content structure + build instructions
  4. 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

Documentation

aus demselben Repository

Weitere Skills

Alle Skills
jeffallan
Community

typescript-pro

Implements advanced TypeScript type systems, creates custom type guards, utility types, and branded types, and configures tRPC for end-to-end type safety. Use when building TypeScript applications requiring advanced generics, conditional or mapped types, discriminated unions, monorepo setup, or full-stack type safety with tRPC.

Installationen
89
GitHub Stars
11.845
Aktualisiert
3. Okt.
jeffallan
Community

python-pro

Use when building Python 3.11+ applications requiring type safety, async programming, or robust error handling. Generates type-annotated Python code, configures mypy in strict mode, writes pytest test suites with fixtures and mocking, and validates code with black and ruff. Invoke for type hints, async/await patterns, dataclasses, dependency injection, logging configuration, and structured error handling.

Installationen
12
GitHub Stars
11.845
Aktualisiert
3. Okt.
jeffallan
Community

angular-architect

Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS patterns, and optimizes bundle performance. Use when building Angular 17+ applications with standalone components or signals, setting up NgRx stores, establishing RxJS reactive patterns, performance tuning, or writing Angular tests for enterprise apps.

Installationen
3
GitHub Stars
11.827
Aktualisiert
3. Okt.
jeffallan
Community

api-designer

Use when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture. Invoke for resource modeling, versioning strategies, pagination patterns, error handling standards.

Installationen
3
GitHub Stars
11.827
Aktualisiert
3. Okt.