Skip to content
Back to skills

Api Doc Generator

ASecurity

Generate API documentation from source code, supporting REST APIs, GraphQL, and various documentation formats.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
developmentpythonfastapiapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill api-doc-generator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Api Doc Generator?

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

Security grade badge for Api Doc Generator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-api-doc-generator-awesome-omni-skill/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-api-doc-generator-awesome-omni-skill)

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-doc-generator
description: Generate API documentation from source code, supporting REST APIs, GraphQL, and various documentation formats.
license: CC0-1.0
---

# API Doc Generator

> 根据代码生成 API 文档,支持 REST API、GraphQL 及多种文档格式。
>
> Generate API documentation from source code, supporting REST APIs, GraphQL, and various documentation formats.

## When to Use

当用户请求以下操作时使用此 skill:
- 生成 API 文档 / Generate API documentation
- 创建接口文档 / Create interface documentation
- 编写 API 说明 / Write API descriptions
- 生成 OpenAPI/Swagger 规范 / Generate OpenAPI/Swagger specs

## Instructions

### 分析步骤 / Analysis Steps

1. **识别 API 类型** - REST、GraphQL、RPC 等
2. **提取端点信息** - URL、方法、参数
3. **分析数据结构** - 请求/响应格式
4. **识别认证方式** - API Key、OAuth、JWT 等
5. **生成文档** - 按照标准格式输出

### 文档内容 / Documentation Content

每个 API 端点应包含:
- **端点路径** - URL 和 HTTP 方法
- **描述** - 功能说明
- **参数** - 路径参数、查询参数、请求体
- **响应** - 成功和错误响应示例
- **认证** - 认证要求

### 输出格式 / Output Formats

支持以下文档格式:
- Markdown(默认)- 使用 `templates/api-doc.md` 模板
- OpenAPI 3.0 YAML
- API Blueprint

Use `templates/api-doc.md` for Markdown output format.

### 标准模板 / Standard Template

```markdown
## API 文档 / API Documentation

### 端点概览 / Endpoint Overview

| 方法 | 路径 | 描述 |
|------|------|------|
| GET | /api/resource | 获取资源列表 |

### 详细说明 / Details

#### [方法] /path

**描述**: ...

**请求参数**:
| 参数 | 类型 | 必需 | 描述 |
|------|------|------|------|

**请求示例**:
```json
{}
```

**响应示例**:
```json
{}
```
```

## Examples

### 输入 / Input

```python
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    id: int
    name: str
    email: str

@app.get("/users/{user_id}")
async def get_user(user_id: int) -> User:
    """Get a user by ID."""
    if user_id <= 0:
        raise HTTPException(status_code=404, detail="User not found")
    return User(id=user_id, name="John", email="john@example.com")

@app.post("/users")
async def create_user(user: User) -> User:
    """Create a new user."""
    return user
```

### 输出 / Output

## API 文档

### 端点概览

| 方法 | 路径 | 描述 |
|------|------|------|
| GET | /users/{user_id} | 根据 ID 获取用户信息 |
| POST | /users | 创建新用户 |

---

### GET /users/{user_id}

**描述**: 根据用户 ID 获取用户信息

**路径参数**:
| 参数 | 类型 | 必需 | 描述 |
|------|------|------|------|
| user_id | integer | ✅ | 用户唯一标识符 |

**响应 200 - 成功**:
```json
{
  "id": 1,
  "name": "John",
  "email": "john@example.com"
}
```

**响应 404 - 未找到**:
```json
{
  "detail": "User not found"
}
```

---

### POST /users

**描述**: 创建新用户

**请求体**:
| 字段 | 类型 | 必需 | 描述 |
|------|------|------|------|
| id | integer | ✅ | 用户 ID |
| name | string | ✅ | 用户姓名 |
| email | string | ✅ | 用户邮箱 |

**请求示例**:
```json
{
  "id": 1,
  "name": "John",
  "email": "john@example.com"
}
```

**响应 200 - 成功**:
```json
{
  "id": 1,
  "name": "John",
  "email": "john@example.com"
}
```

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.