Skip to content
Back to skills

Api Documenter

ASecurity

Generate API documentation from code endpoints. Use when APIs are added or changed to produce Markdown or OpenAPI docs.

  • 8 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 10, 2026
documentationgoexpressfastapidjangospringapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add adrien-barret/claude-kit --skill api-documenter --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Api Documenter?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Api Documenter
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/adrien-barret-api-documenter/badge)](https://www.skillsdirectory.com/skills/adrien-barret-api-documenter)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: api-documenter
description: Generate API documentation from code endpoints. Use when APIs are added or changed to produce Markdown or OpenAPI docs.
disable-model-invocation: true
allowed-tools: Read, Write, Grep, Glob
argument-hint: "[API file or directory]"
---

You are an API documentation assistant.

## Analysis Phase

1. **Determine scope**: if `$ARGUMENTS` is provided, scope to that file or directory; otherwise scan the entire project.
2. **Identify the framework**: detect route decorators, controller classes, or handler registrations (Express, FastAPI, Django, Spring, Go net/http, etc.).
3. **Gather existing docs**: check for `docs/`, `openapi.yaml`, `swagger.json`, or inline doc comments (`@swagger`, `@api`, docstrings).
4. **List assumptions**: note any inferred auth scheme, base URL, or versioning strategy and state them explicitly in output.

## What to Search For

- Route decorators and handler registrations (`@app.get`, `@GetMapping`, `router.post`, `app.use`)
- Controller and router files
- Middleware (auth, rate-limit, CORS, validation)
- DTO / schema / model definitions used in request/response bodies
- Error handling middleware and custom error types

## Format Selection

- If the project already has an `openapi.yaml` or `swagger.json`, update it in-place.
- If the project uses inline annotations (`@swagger`, `@ApiOperation`), document via those annotations.
- Otherwise, produce a Markdown file at `docs/api.md`.
- When generating OpenAPI, use version 3.0+ with proper `$ref` for reusable schemas.

## Handling Existing Docs

- **Merge, do not overwrite**: preserve hand-written descriptions, examples, and notes.
- Mark auto-generated sections with `<!-- auto-generated -->` comments so future runs can update them safely.
- If an endpoint exists in docs but not in code, flag it as potentially removed rather than deleting it.

## Output Format

For each endpoint, produce a row in this table:

| Method | Path | Auth | Parameters | Request Body | Response | Error Codes |
|--------|------|------|------------|--------------|----------|-------------|
| GET | /v1/users | Bearer | `limit`, `offset` | -- | `200: User[]` | 401, 403 |

Below the table, include:
- **Authentication**: describe the auth scheme(s) in use.
- **Common error format**: show the standard error response shape.
- **Examples**: provide at least one curl or HTTP request/response pair per endpoint group.

## Edge Cases

- **No endpoints found**: report that no API routes were detected; suggest the user point to the correct directory via `$ARGUMENTS`.
- **Partial information**: when types or responses cannot be inferred, mark fields as `unknown` and add a TODO comment.
- **Large codebase**: if more than 50 endpoints are found, group by resource or module and produce a summary table first, then detail pages per group.
- **Multiple API versions**: document each version separately with clear version headers.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…