--- name: feature-guide description: 生成 PowerX 功能使用指导文档(人性化、可执行、与实现对齐)。强制包含业务背景、模块关系、流程图、泳道图、页面/接口/命令步骤、验收、排障、回滚与代码映射。 --- # PowerX 功能使用指导文档技能(Feature Guide) ## 适用场景 当你需要为 PowerX 平台能力编写“可直接执行、跨角色可协作”的功能文档时使用本技能。典型场景: - 新功能上线,需要给研发/QA/运维/项目负责人一份可照着操作的手册。 - 功能已经实现,但现有文档偏实现细节,缺少端到端操作链路。 - 需要把“Web Admin 页面 + Admin/Tenant API + 后端实现 + 观测指标”串成闭环。 ## 目标 输出一份**可执行 + 可验收 + 可追溯**的 PowerX 文档,满足: 1. 先讲清“为什么做”(业务背景/痛点/目标)。 2. 再讲清“谁在什么环境下怎么用”(角色、范围、限制)。 3. 给出“从 0 到跑通”的操作步骤(页面、接口、命令、预期结果、失败处理)。 4. 关键行为可追溯到代码实现(路由/handler/service/config/test)。 5. 包含流程图与泳道图,帮助跨角色理解协作与边界。 ## 必须遵守的文档结构(强制) 最终文档必须按以下顺序组织章节: 1. **功能背景与目标** 2. **角色与适用范围**(谁看、在哪个环境用) 3. **整体架构与模块关系**(含模块关系图) 4. **核心流程**(含流程图) 5. **跨角色协作流程**(含泳道图) 6. **前置条件与依赖**(配置、权限、数据、Feature Flag) 7. **操作步骤(按场景拆分)** - 页面操作步骤(Web Admin) - 接口调用步骤(Admin/Tenant API) - 本地联调步骤(backend/web-admin/脚本) 8. **预期结果与验收标准** 9. **代码实现映射**(路由/服务/配置/测试) 10. **常见问题与排障** 11. **回滚与风险控制** 12. **变更记录**(版本、日期、责任人) ## 图示规范(强制) ### 1) 流程图(必须) - 使用 Mermaid `flowchart LR` 或 `flowchart TD` - 必须包含“输入/处理/输出/失败分支” - 至少体现 1 条失败分支与回退路径 ### 2) 泳道图(必须) - 使用 Mermaid `flowchart LR` + `subgraph` 模拟泳道 - 至少 3 条泳道(示例:Web Admin、PowerX Backend、External System) - 必须标明跨泳道调用方向与返回结果 ## 写作风格规范(强制) - 先结论后细节。 - 每个步骤必须包含: - **动作**(做什么) - **入口/命令**(在哪做) - **预期结果**(看到什么算成功) - **失败处理**(失败后看哪里) - 面向使用者写作,不假设读者了解全部实现细节。 - 禁止脱离实现:文档关键行为都必须能在代码中定位。 ## PowerX 代码对齐检查清单(发布前必过) - [ ] 文档中的路由前缀与实际一致(如 `/api/v1/admin`、`/api/v1/tenant`)。 - [ ] 配置项名称、默认值与优先级说明一致(`.env`/配置文件/运行时覆盖)。 - [ ] 页面入口与按钮文案与当前 Web Admin UI 一致。 - [ ] 接口请求/响应示例与 DTO/handler 行为一致。 - [ ] 文档提到的 feature flag / 权限 / 开关在当前分支真实存在。 - [ ] 至少 1 条测试或脚本命令可验证主链路。 - [ ] 观测项(日志字段、指标名、trace_id)可在运行环境检索。 ## 执行步骤(建议流程) 1. **收集上下文** - 读取 `specs//spec.md|plan.md|tasks.md|quickstart.md`(如存在) - 读取后端路由注册、关键 handler/service、配置结构、测试用例 - 读取 Web Admin 页面入口与交互流程(如涉及前端) 2. **梳理功能地图** - 功能入口:页面/API/命令 - 核心链路:handler -> service -> repository/integration - 输出与观测:日志、指标、事件、trace 3. **先画图再写步骤** - 先产出模块关系图、主流程图、泳道图 - 再填操作步骤,确保步骤连续可执行 4. **补齐验收与排障** - 每个场景定义“成功判定” - 列出常见失败场景与定位命令 5. **做代码映射表** - 每个关键文档步骤至少映射一个代码路径 ## 输出模板 - 使用模板:`templates/feature-guide-template.md` - 允许按具体功能微调章节名,但不得删除“流程图、泳道图、代码映射、验收、排障”章节。 ## 默认输出路径规范(强制) 未被用户显式指定输出路径时,使用以下规则: 1. 输入为 `specs//...` 时: - 若 `` 或 spec 主题属于“部署/运维”(如 deploy、docker、systemd、ops、backup、migration): - 默认输出目录:`docs/guides/deploy//` - 其他功能: - 默认输出目录:`docs/guides/features//` - 默认主文档:`guide.md` 2. 目录不存在时,先创建目录再写入。 3. 目标文件已存在时,默认执行“覆盖更新”(保留结构,按当前实现刷新)。 4. 仅在用户明确要求时,才写入 `specs/` 下临时文档。 ## Use Case 拆分规则(强制) 必须根据实际场景自动判断是否拆分多文档: 1. 仅 1 条独立主链路:输出 `guide.md` 单文档。 2. 多条可独立验收链路:输出 - `guide.md`(总览:背景、模块、依赖、验收总则、索引) - `usecase-.md`(每条链路一份) 3. `` 规则: - 优先稳定标识(`us1`、`scenario-a`)+ 语义短名 - 仅使用小写字母、数字、连字符 4. `guide.md` 必须包含 Use Case 索引表(文件名 + 适用角色 + 验收口径)。 ## 示例要求(最少) 文档至少包含: - 1 个页面操作示例(路径、按钮、成功提示) - 1 个接口调用示例(curl + 响应片段) - 1 个本地联调示例(启动命令 + 日志/指标检查) ## 完成定义(DoD) 满足以下条件才算文档完成: - [ ] 新同学不看代码,也可按文档独立跑通主流程。 - [ ] QA 可按文档复现至少 1 条成功路径与 1 条失败路径。 - [ ] 文档中路径、参数、接口在当前分支可定位到实现。 - [ ] 流程图与泳道图覆盖主链路且不与实现冲突。