api-doc-generator
Installation
SKILL.md
API 文档自动生成器
任务目标
- 本 Skill 用于:从项目代码中自动提取API信息并生成完整的API文档
- 能力包含:代码扫描、路由识别、模块划分、文档结构化、内容填充
- 触发条件:用户要求"生成API文档"、"分析项目API"、"编写接口文档"等
前置准备
依赖说明
本 Skill 仅使用 Python 标准库(ast, re, json, pathlib等),无需额外安装依赖。
非标准文件/文件夹准备
无需前置创建,输出目录将在文档生成时自动创建。
操作步骤
标准流程
-
步骤1:扫描项目API
- 调用
scripts/api_scanner.py扫描项目代码 - 参数:
--project-dir: 项目根目录(必需)--framework: 框架类型(auto/flask/fastapi/express,默认auto)--output: 输出JSON文件路径(默认api_scan_result.json)
- 输出:包含所有API端点信息的JSON文件
- 调用
-
步骤2:模块划分与层级分析
- 调用
scripts/module_classifier.py分析API结构 - 参数:
--input: 上一步输出的JSON文件路径--output: 输出JSON文件路径(默认api_modules.json)
- 输出:带模块分组和层级信息的API清单
- 调用
-
步骤3:生成文档结构
- 在项目根目录下创建
api/文件夹 - 根据
references/doc-structure.md中的规范创建文档框架:api/overview.md- API概述api/authentication.md- 认证方式api/base-info.md- 基础信息api/endpoints/- 端点详情(按模块组织)api/error-handling.md- 错误处理api/rate-limiting.md- 速率限制api/changelog.md- 变更日志api/support.md- 支持与反馈
- 在项目根目录下创建
-
步骤4:填充文档内容
- 根据模块划分结果,为每个模块创建独立的端点文档
- 使用
assets/templates/中的模板填充内容 - 补充说明文字、示例代码、注意事项等
可选分支
- 当项目使用Flask框架:在步骤1中明确指定
--framework flask以提高识别准确率 - 当项目使用FastAPI框架:在步骤1中明确指定
--framework fastapi以利用类型注解信息 - 当项目使用Express框架:在步骤1中明确指定
--framework express以识别JavaScript路由 - 当需要自定义模块分组:在步骤2后,手动调整模块分组逻辑再生成文档
资源索引
必要脚本
- 见 scripts/api_scanner.py
- 用途:扫描项目代码,提取API路由和参数信息
- 参数:--project-dir, --framework, --output
- 见 scripts/module_classifier.py
- 用途:基于路由路径自动划分模块和层级结构
- 参数:--input, --output
领域参考
- 见 references/doc-structure.md
- 何时读取:在步骤3生成文档结构时参考
- 内容:API文档的标准章节结构和格式规范
- 见 references/framework-patterns.md
- 何时读取:理解脚本如何识别不同框架的路由定义
- 内容:各Web框架的路由定义模式和识别规则
输出资产
- 见 assets/templates/
- 用途:提供各章节和端点的文档模板
- 包含:overview-template.md, endpoint-template.md, module-template.md
注意事项
- 脚本使用正则表达式和AST解析识别路由,对于复杂的动态路由可能无法完全识别,需要手动补充
- 参数提取依赖于代码注释和类型注解,建议在代码中完善文档字符串
- 模块划分基于路径的第一段,对于特殊结构可能需要手动调整
- 生成文档后,建议人工审核并补充业务说明、使用示例等
- 仅在需要时读取参考文档,保持上下文简洁
使用示例
示例1:Flask项目文档生成
# 1. 扫描Flask项目
python scripts/api_scanner.py \
--project-dir /path/to/flask/project \
--framework flask \
--output api_scan_result.json
# 2. 划分模块
python scripts/module_classifier.py \
--input api_scan_result.json \
--output api_modules.json
# 3-4. 智能体根据模板生成完整文档
示例2:FastAPI项目文档生成
# FastAPI项目会自动识别类型注解和Pydantic模型
python scripts/api_scanner.py \
--project-dir /path/to/fastapi/project \
--framework fastapi
python scripts/module_classifier.py \
--input api_scan_result.json
示例3:Express项目文档生成
# Node.js Express项目
python scripts/api_scanner.py \
--project-dir /path/to/express/project \
--framework express
python scripts/module_classifier.py \
--input api_scan_result.json
Related skills
More from morning-start/coze-skills
coze-skill-creator
从配置或需求描述创建完整技能,支持工具配置、工作流编排和代码生成
51recruitment-processor
自动处理多份招聘markdown文档,识别文档中的图片内容(包括在线图片链接),提取关键信息(职位、薪资、截止时间等),根据用户条件筛选,生成结构化总结报告
47project-wiki
智能项目知识助手,支持基础文档生成(README/ROADMAP/CHANGELOG/ARCHITECTURE)、文档流程管理和知识库查询
34python-team
通过自主学习、PM、架构师、高级程序员四角色协同,从自然语言需求自动生成完整Python项目交付物。支持功能扩展、项目重构、技能调用。支持网络搜索、知识整合、版本控制、Python 3.11+特性、UV包管理、loguru日志、项目规模自适应(文件夹/单文件)。支持数据库设计与实现(SQLite、PostgreSQL、MongoDB、向量数据库、图数据库)、数据层抽象(Repository 模式)、数据库切换。适用于软件需求澄清、快速原型开发、项目初始化、功能扩展、代码重构等场景。
32six-layer-architect
六层架构全栈开发技能,支持从任意层级发起贯穿式修改,自动协调UI层/前端服务层/前端API层/后端API层/后端服务层/数据层六层配合,实现跨层一致性代码生成与重构,适用于Vue3+FastAPI+PostgreSQL技术栈
27tech-comparison
根据用户输入的技术选项或项目需求进行多维度对比分析,输出结构化技术选型报告。适用场景:前端框架选型、后端技术对比、数据库选型、部署方案评估
22