/SKILL.md
Use when finishing a feature, fixing a bug, or changing an API and need to write/update PRD, API docs, CHANGELOG, or API CHANGELOG. Triggers include phrases like "生成文档"、"写文档"、"更新文档"、"补充 PRD"、"维护 changelog"、"接口文档"、"release notes",or after completing development tasks that affect users or API consumers.
npx skillsauth add lilyjem/dev-docs-skill dev-docsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
把"开发完成"和"文档完成"绑定。本 Skill 提供:
templates/scripts/prompts/核心原则:每次代码变更都应有对应文档变更——CHANGELOG 是必填项,PRD 在新功能时创建,API 文档在接口变更时同步。
应当使用的场景:
[Unreleased] 转为正式版本不应使用的场景:
Changed 段记录)python scripts/update_docs.py init)| 场景 | 必更文档 | 命令入口 |
|------|----------|----------|
| 新功能 | PRD + CHANGELOG(Added)+ API 文档(如有接口) | req → changelog -t added → api -t add |
| 接口变更 | API.md + API_CHANGELOG + CHANGELOG | api -t change → 手动改 API.md |
| Bug 修复 | CHANGELOG(Fixed) | changelog -t fixed |
| 废弃接口 | API_CHANGELOG(标注迁移路径) | api -t deprecate |
| 移除接口 | API_CHANGELOG + CHANGELOG(Breaking) | api -t remove → changelog -t removed |
| 发版 | 把 [Unreleased] 转正 + 打 tag | release --version x.y.z |
| 文档校验 | 校验格式/链接/版本 | validate |
| 文件 | 路径 | 作用 |
|------|------|------|
| PRD 模板 | templates/PRD.md | 需求文档结构 |
| API 模板 | templates/API.md | 接口文档结构 |
| CHANGELOG 模板 | templates/CHANGELOG.md | Keep a Changelog 格式 |
| API CHANGELOG 模板 | templates/API_CHANGELOG.md | 接口变更追踪 |
| 变更分析 | scripts/analyze_changes.py | 解析 git diff,识别 API 改动 |
| 文档更新 | scripts/update_docs.py | 维护 CHANGELOG / API CHANGELOG / PRD |
| 文档校验 | scripts/validate_docs.py | 校验格式、链接、版本一致性 |
| API 文档生成 | scripts/generate_api_doc.py | 从代码/OpenAPI 生成完整 API.md |
| AI Prompt 模板 | prompts/*.md | 让 LLM 写更智能的描述 |
变更类型?
├─ 新功能 ──────────► [W1: 新功能流程]
├─ 接口变更 ────────► [W2: 接口流程]
├─ Bug 修复 ────────► [W3: 修复流程]
└─ 准备发版 ────────► [W4: 发版流程]
# 1. 分析变更,识别 API 改动(多语言自动识别)
python scripts/analyze_changes.py
# 2. 创建需求文档
python scripts/update_docs.py req -n "feature-name" -t "功能标题" -a "Jem"
# → 生成 docs/requirements/REQ-feature-name.md,按 templates/PRD.md 结构
# 3. 追加 CHANGELOG
python scripts/update_docs.py changelog -t added -m "支持邮箱登录"
# 4. 如有新接口
python scripts/update_docs.py api -t add -e "POST /api/auth/login" -d "邮箱密码登录"
# 5.(可选)从代码自动生成 API.md
python scripts/generate_api_doc.py --source ./src --output docs/api/API.md
# 6. 校验文档
python scripts/validate_docs.py
python scripts/update_docs.py api -t change -e "GET /api/users" -d "新增 status 筛选参数"
# 手动同步 docs/api/API.md 中该接口的参数表与示例
python scripts/update_docs.py changelog -t changed -m "用户列表接口支持按状态筛选"
Breaking Change 必须在 API_CHANGELOG 条目前加
⚠️ Breaking并在 CHANGELOG 中独立成段。
python scripts/update_docs.py changelog -t fixed -m "修复日期跨时区解析错误"
# 把 [Unreleased] 段落转换为正式版本,自动注入日期与对比链接
python scripts/update_docs.py release --version 1.2.0
# 同时处理 API_CHANGELOG(如有变更)
python scripts/update_docs.py release --version 1.2.0 --target api
# 打 tag(手动)
git tag -a v1.2.0 -m "Release 1.2.0"
每次启动新项目,先运行:
python scripts/update_docs.py init
生成的目录结构:
docs/
├── CHANGELOG.md # 项目变更日志
├── architecture.md # 架构文档(已有则跳过)
├── api/
│ ├── API.md # API 接口详细文档
│ ├── API_CHANGELOG.md # API 变更日志
│ └── openapi.yaml # (可选)OpenAPI 规范
└── requirements/
└── REQ-{feature}.md # 各功能的需求文档
analyze_changes.py 自动识别以下框架的接口定义。所有模式集中在 scripts/api_patterns.py,方便扩展。
| 语言 | 框架 | 识别模式 |
|------|------|----------|
| Python | FastAPI | @app.get(...)、@router.post(...) |
| Python | Flask | @app.route("/path", methods=["POST"]) |
| Python | Django | path("...", view)、url(r"...") |
| Node.js | Express/Koa | app.get("/path", ...)、router.post(...) |
| Node.js | NestJS | @Get(...)、@Post(...) 控制器装饰器 |
| Java | Spring | @GetMapping、@PostMapping、@RequestMapping |
| Go | Gin | r.GET("/path", handler)、r.POST(...) |
| Go | Echo | e.GET(...)、e.POST(...) |
| Go | net/http | http.HandleFunc("/path", ...)、mux.Handle(...) |
| 通用 | OpenAPI 3.0 | 解析 openapi.yaml / openapi.json |
当 git diff 信息丰富时,仅靠正则无法生成高质量描述。prompts/ 提供了三个为 LLM 设计的 prompt 模板:
| 模板 | 用途 |
|------|------|
| prompts/changelog_from_diff.md | 把 git diff + commit messages → CHANGELOG 用户视角条目 |
| prompts/api_doc_from_code.md | 从代码 + docstring → 完整接口文档段落 |
| prompts/prd_from_feature.md | 从功能描述 + 代码改动 → PRD 草稿 |
在 Cursor / Claude Code 中使用:
用户:帮我用 prompts/changelog_from_diff.md 模板,根据当前 git diff 生成 CHANGELOG
AI 会读取模板、注入 diff、产出符合 Keep a Changelog 风格的条目。
| 错误做法 | 正确做法 |
|----------|----------|
| CHANGELOG 写"修改 auth.py" | 写"支持邮箱密码登录"(用户视角) |
| 废弃接口直接删除 | 先用 api -t deprecate 标注迁移路径,下个大版本再删 |
| Breaking Change 不显式标注 | API_CHANGELOG 条目前必须加 ⚠️ Breaking |
| PRD 占位符不替换就交付 | 用 validate_docs.py 检查残留的 {xxx} 与 [待填写:] |
| API 路径硬编码到 PRD | PRD 只列接口清单,详情链接到 API.md |
| 多人同一天编辑 [Unreleased] 冲突 | 让脚本插入新条目(自动避免格式破坏) |
| 一次发版混入未发布的实验功能 | 发版前 review [Unreleased] 段落,移除未发布特性 |
如果你有这些念头,停下来检查:
提交前自检(也可用 python scripts/validate_docs.py):
⚠️ Breaking{占位符} 与 [待填写:]package.json / pyproject.toml 等一致YYYY-MM-DDupdate_docs.py 完成就别手改 Markdown,避免破坏链接定义与格式。validate_docs.py 接入 CI,未通过禁止合并。superpowers:writing-skillssuperpowers:test-driven-developmentsuperpowers:verification-before-completiondevelopment
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.