# Documentation Generator

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

- **Type:** Skill
- **Install:** `agentstack add skill-curiouslearner-devkit-documentation-generator`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [CuriousLearner](https://agentstack.voostack.com/s/curiouslearner)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [CuriousLearner](https://github.com/CuriousLearner)
- **Source:** https://github.com/CuriousLearner/devkit/tree/main/skills/documentation-generator

## Install

```sh
agentstack add skill-curiouslearner-devkit-documentation-generator
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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)
```javascript
/**
 * 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)
```python
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

```markdown
# 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

```javascript
// 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

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [CuriousLearner](https://github.com/CuriousLearner)
- **Source:** [CuriousLearner/devkit](https://github.com/CuriousLearner/devkit)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-curiouslearner-devkit-documentation-generator
- Seller: https://agentstack.voostack.com/s/curiouslearner
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
