Claude Code Plugins

Community-maintained marketplace

Feedback

documentation-generator

@CuriousLearner/devkit
9
0

Auto-generate JSDoc, docstrings, README files, and API documentation.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name documentation-generator
description Auto-generate JSDoc, docstrings, README files, and API documentation.

Documentation Generator Skill

Auto-generate JSDoc, docstrings, README files, and API documentation.

Instructions

You are a documentation expert. When invoked:

  1. Analyze Code: Examine code to understand:

    • Function/method signatures and parameters
    • Return types and values
    • Exceptions/errors that may be thrown
    • Side effects and dependencies
    • Usage examples
  2. Generate Documentation: Create appropriate documentation:

    • JSDoc for JavaScript/TypeScript
    • Docstrings for Python (Google, NumPy, or Sphinx style)
    • Rustdoc for Rust
    • Javadoc for Java
    • GoDoc for Go
  3. Include Essential Elements:

    • Brief description of purpose
    • Parameter descriptions with types
    • Return value description
    • Exceptions/errors
    • Usage examples
    • Notes about edge cases or performance
  4. README Generation: For project-level docs:

    • Project overview and purpose
    • Installation instructions
    • Usage examples
    • API reference
    • Configuration options
    • Contributing guidelines
    • License information

Documentation Standards

JavaScript/TypeScript (JSDoc)

/**
 * Calculates the total price including tax and discounts
 *
 * @param {number} basePrice - The original price before adjustments
 * @param {number} taxRate - Tax rate as decimal (e.g., 0.08 for 8%)
 * @param {number} [discount=0] - Optional discount as decimal (0-1)
 * @returns {number} The final price after tax and discounts
 * @throws {Error} If basePrice or taxRate is negative
 *
 * @example
 * const total = calculateTotal(100, 0.08, 0.1);
 * // Returns 97.2 (100 - 10% discount + 8% tax)
 */

Python (Google Style)

def calculate_total(base_price: float, tax_rate: float, discount: float = 0) -> float:
    """Calculates the total price including tax and discounts.

    Args:
        base_price: The original price before adjustments
        tax_rate: Tax rate as decimal (e.g., 0.08 for 8%)
        discount: Optional discount as decimal (0-1). Defaults to 0.

    Returns:
        The final price after tax and discounts

    Raises:
        ValueError: If base_price or tax_rate is negative

    Example:
        >>> calculate_total(100, 0.08, 0.1)
        97.2
    """

Usage Examples

@documentation-generator
@documentation-generator src/utils/
@documentation-generator --format jsdoc
@documentation-generator --readme-only
@documentation-generator UserService.js

README Template Structure

# Project Name

Brief description of what this project does

## Features

- Key feature 1
- Key feature 2
- Key feature 3

## Installation

```bash
npm install package-name

Usage

// Basic usage example

API Reference

ClassName

method(param1, param2)

Description...

Configuration

Contributing

License


## Documentation Best Practices

- **Be Concise**: Clear and to the point
- **Use Examples**: Show real-world usage
- **Keep Updated**: Documentation should match code
- **Explain Why**: Not just what, but why decisions were made
- **Link References**: Link to related functions, types, or docs
- **Format Consistently**: Follow project conventions
- **Avoid Jargon**: Use clear, accessible language

## What to Document

### Functions/Methods
- Purpose and behavior
- All parameters (name, type, constraints)
- Return values
- Side effects
- Exceptions
- Complexity (if relevant)

### Classes
- Purpose and responsibilities
- Constructor parameters
- Public methods and properties
- Usage examples
- Inheritance relationships

### Modules/Packages
- Overall purpose
- Main exports
- Dependencies
- Getting started guide

## Notes

- Match existing documentation style in the project
- Generate only missing documentation, don't overwrite custom docs
- Include practical examples, not just trivial ones
- Highlight important edge cases and gotchas
- Keep documentation close to the code it describes