返回 Skill 列表
extension
分类: 其它无需 API Key

Trs系统功能设计文档skill

Use when 用户需要编写功能设计文档、PRD或需求规格说明书,也用于询问如何编写TRS系统功能文档、文档模板、编写规范或评估功能价值与风险时。

person作者: user_83b6b363hubcommunity

TRS系统-功能设计文档编写

Overview

本Skill指导用户编写符合企业级标准的TRS系统功能设计文档。基于企业顾问团队标准,融合GitHub热门PRD模板最佳实践。

核心原则: 证据优于断言,验证先于结论。

Output Contract(输出约定)

最终交付的文档至少满足下面“最小可用规格”(信息不足允许先以假设补齐,但必须显式标注“假设/待确认”):

  • 范围:In Scope / Out of Scope / Non-goals
  • 用户与价值:用户画像、使用场景、成功指标(SMART + 基线值 + 目标值 + 衡量方法 + 时间周期)
  • 业务与流程:现状流程、目标流程(含异常流程/回退/补偿)
  • 功能拆分:功能列表、用户故事、每个故事的验收标准(Given/When/Then 或清单式)
  • 详细设计:页面/接口/数据项(字段、控件、必填、值列表、级联、默认值、校验、报错)

接口契约写法规范(面向业务+开发双读者):

功能设计文档不是技术接口文档,接口契约章节应避免原始JSON代码,建议按以下结构撰写:

  1. 操作总览表(7列):序号 / 操作名称 / 说明 / 调用时机
  2. 每个操作:用途说明 + 字段含义表(不用JSON)+ 业务校验规则(用自然语言)
  3. 不展示:HTTP方法、URL路径、原始JSON响应、技术响应码

技术细节(接口路径、参数类型、错误码)由后端工程师按接口规范自行补充。

  • 非功能需求:性能、权限与数据安全、审计与留痕、兼容性、监控与日志
  • 风险与依赖:系统依赖、数据依赖、外设依赖(扫码枪/打印机/采集设备)、关键风险与缓解
  • 发布与验收:试点/灰度、回滚、培训、数据迁移(如有)、验收与复盘

红线:不得用“应该/尽量/支持/优化”等模糊词代替可验证标准;关键声明必须给出验证方法或证据来源。

When to Use

使用场景:

| 场景 | 说明 | 触发关键词 | |------|------|-----------| | 传统需求沟通 | 用户口头描述需求,通过5W1H深度挖掘 | "我需要一个XX功能" | | 原型驱动(推荐) | 用户提供HTML/图片等原型,先理解原型再写PRD | "给你原型"、"看这个设计" | | 文档优化 | 优化或重构现有功能设计文档 | "优化文档"、"改版" | | 模板查询 | 询问文档模板或编写规范 | "模板"、"怎么写" |

不适用于:

  • 纯技术实现方案(使用专门的技术设计skill)
  • 架构设计文档(使用架构设计skill)

The Iron Law

未经验证的文档声称完整 = 作弊,不是效率

违反这条规则的借口 | 现实 "我凭经验写就行" | 经验不等于规范,需要逐项确认 "这功能简单,跳过检查" | 越是简单功能越容易忽略关键细节 "时间紧,先写再说" | 返工的时间比预防的时间更长 "差不多就行了" | 开发人员会问你补充细节

Core Workflow

本skill支持两种工作模式:传统需求沟通原型驱动(推荐)

模式A:传统需求沟通

digraph workflow {
    rankdir=TB;
    "确认输出格式" -> "问题定义" -> "深度需求挖掘" -> "引导编写" -> "质量检查" -> "优化建议";
    "质量检查" -> "通过?" [shape=diamond];
    "通过?" -> "优化建议" [label="否"];
    "通过?" -> "完成" [label="是"];
}

适用于用户口头描述业务需求,通过5W1H框架深度挖掘。

模式B:原型驱动(推荐)⭐

适用于用户提供HTML/图片/Figma等原型设计。

digraph workflow {
    rankdir=TB;
    "接收原型" -> "分析原型结构" -> "输出理解摘要" -> "用户确认" -> "补充业务细节" -> "编写PRD" -> "质量检查" -> "完成";
    "用户确认" -> "继续询问" [label="有疑问", style=dashed];
    "继续询问" -> "输出理解摘要";
}

详细说明 → 见 reference/prototype-driven.md

如何选择模式

| 条件 | 推荐模式 | |------|---------| | 用户提供了原型文件 | 原型驱动 | | 用户口头描述需求 | 传统需求沟通 | | 用户说"给你原型先看看" | 原型驱动 | | 用户问"PRD模板怎么写" | 传统需求沟通 |

Step 0: 识别工作模式

首先判断用户属于哪种场景:

场景1:用户提供原型

  • 触发:用户提供了HTML/图片/Figma文件,或说"给你原型"
  • 动作:直接进入原型驱动流程(见下方)

场景2:用户口头描述需求

  • 触发:用户描述业务需求
  • 动作:进入传统需求沟通流程(Step 0.5 → Step 1...)

PRD自检质控门(写作中实时评估)

在编写PRD的每个关键节点,AI主动触发自检评估。目标:写出清晰、无歧义、可执行的文档;识别自身无法填补的缺口,显式标注给产品经理。

触发时机

在完成以下章节后,自动触发自检,不必等用户提醒:

| 完成节点 | 触发时机 | |---------|---------| | 第2章 用户与价值 | 用户画像/使用场景/成功指标 写完后 | | 第3章 业务背景与流程 | 现状流程/目标流程 写完后 | | 第5章 功能列表 | 功能清单全部列出后 | | 第7章 详细设计 | 所有页面/接口/数据项写完后 | | 全文初稿 | 文档主体完成后、提交前 |

评估维度(5维度,各20分,满分100)

| 维度 | 评估问题 | 扣分触发条件 | |------|---------|------------| | ① 完整性 | 所有"最小可用规格"章节是否齐备? | 任意必填章节缺失 → 该维度-10 | | ② 无歧义 | 字段描述、流程分支、状态值是否有二义性? | 存在"可能"/"大概"/"视情况"等模糊词 → -5/处 | | ③ 可追踪 | 功能 → 验收标准 → 详细设计三者是否对齐? | 功能在验收标准和详细设计中找不到对应项 → -10/处 | | ④ 一致性 | 跨章节字段名/状态值/操作名是否统一? | 同名不同义 或 同义不同名 → -5/处 | | ⑤ 完整性-数据项 | 数据项表格的必输/新增/编辑列是否填写?值列表是否有来源? | 任意行留空("-"以外的空白)→ -5/行 |

评分等级

| 总分 | 等级 | 处置动作 | |------|------|---------| | 90-100 | 🟢 优秀 | 直接提交,可选标注"亮点章节" | | 70-89 | 🟡 良好 | AI自行修复所有"可自完善"项,修复后重评,剩余问题标注给PM | | 50-69 | 🟠 需改进 | 修复明显缺口,剩余问题全部写入"假设与待确认"表,告知PM | | < 50 | 🔴 不合格 | 先说明核心缺口在哪,列出补充方向,请PM提供信息后再继续 |

自完善 vs. 标注PM 的判断规则

AI自行修复(能修则修):

  • 字段描述歧义 → 用更精确的描述替换
  • 字段名/状态值前后不一致 → 统一为最新出现的命名,并全局替换
  • 数据项表格留空 → 联系上下文推断合理的默认值/校验规则,以假设形式补充并加注说明
  • 缺少验收标准 → 根据功能描述自行推导3条Given/When/Then格式验收标准

必须标注PM(不能自填):

  • 涉及业务决策:如"优先级怎么定"、"由谁审批"、"超时阈值"
  • 涉及外部依赖:第三方系统接口、数据来源不在团队内
  • 涉及特殊权限:哪些角色能做/不能做未经明确授权的操作
  • 业务规则无文档支撑:无法从上下文推断的数值/逻辑

标注格式(写入文档"假设与待确认"表):

| 待确认项 | 章节 | 缺失原因 | 影响范围 | 优先级 |
|---------|------|---------|---------|--------|
| 优先级P0/P1/P2的划分标准是什么? | 5.1功能列表 | 业务决策,需PM确认 | 影响开发排序 | 高 |
| 催收短信的发送频率上限? | 7.4操作说明 | 外部合规要求,不在需求范围内 | 影响功能边界 | 中 |

质控门输出格式

每次自检完成后,在文档末尾追加质控报告(不删除历史报告,保留演进痕迹):

## 质控报告(自动生成)

**自检时间:** YYYY-MM-DD HH:mm
**触发节点:** [章节名]
**评估总分:** X / 100([等级])
**本次自检修复:** [N] 项(详见下方列表)
**待PM确认:** [N] 项(已写入"假设与待确认"表)

#### 本次修复清单
- ① [修复项内容] → [修复方式]

#### 本次待确认清单
- ❓ [待确认问题] → [影响章节] → [优先级]

---

注意事项

  • 质控门是写作者的内部质量动作,不替代PM的正式审阅
  • 不要在质控报告中重复文档已有的内容,只报告缺口和修复结果
  • 评分不是目的,让文档可执行才是目的;遇到拿不准的,宁可多标注、少猜测

快速开始:原型驱动流程

当用户提供原型时,按以下步骤执行:

快速流程图

接收原型 → 读取分析 → 输出理解摘要 → 用户确认 → 补充细节 → 编写PRD

Step P1: 接收并读取原型

读取规则:

  • HTML文件:读取完整源码(HTML+CSS+JS)
  • 图片文件:描述看到的UI元素、布局、文字
  • 标注:字段名、按钮文字、状态值、颜色含义

Step P2: 分析并输出理解摘要

必须输出的内容:

## 原型理解摘要

### 页面关系
(列出所有页面的跳转关系)

### 功能清单
(用表格列出识别到的功能点,标注确认状态)

### 不确定项
(原型无法确定的内容,用❓标记)

不理解的内容,必须标注❓,不得跳过

Step P3: 向用户确认

必须询问的问题:

  1. 业务背景:这套系统的业务目的是什么?
  2. 功能边界:原型中跳转/按钮的具体行为?
  3. 状态逻辑:状态变更后的处理逻辑?
  4. 异常处理:边界条件和错误情况?

询问原则:

  • 优先问"会改变设计"的问题
  • 每轮不超过5个问题
  • 用开放式问题

Step P4: 补充业务细节

基于用户回答,补充:

  • 成功指标
  • 异常处理
  • 集成关系
  • 审计留痕

Step P5: 编写PRD文档

按照标准模板编写,标注来源

  • 原型已体现 → 标注"见原型"
  • 询问补充 → 标注"用户确认"

Step 0: 确认输出格式(仅传统流程)

询问用户选择输出格式:

| 格式 | 适用场景 | 特点 | |------|---------|------| | Markdown格式 | 直接查看、GitHub展示 | 标准表格,简洁 | | Word友好格式 | 最终导出Word | 避免复杂嵌套 |

Step 0.5: 先收集“最小输入集”(避免空写)

在进入正文编写前,优先收集下面信息(缺少则记录为“假设 + 待确认问题”,并在相关章节引用):

  • 业务与边界:业务域/工厂/组织范围、涉及产品/物料范围、追溯粒度(批次/箱/件/序列号)、时间范围
  • 主链路:正向/反向追溯链路、关键节点(采购/入库/生产/检验/包装/出库/客户)
  • 数据与编码:批次/条码/序列号规则、标签打印与贴标规则、扫码采集点位与频率
  • 系统集成:ERP/MES/WMS/QMS/PLM 的主数据与事件数据来源、接口方式(API/文件/消息)、责任方
  • 合规与审计:审计留痕要求、记录保留年限、数据更正机制、权限与职责分离
  • 目标与指标:召回演练时限(例如 X 分钟出具谱系与出货清单)、准确率/覆盖率/时效

Step 1: 问题定义与价值验证(V2.0新增)

使用5W1H框架深度挖掘:

Why (为什么)    → 业务背景、痛点、数据支撑
What (是什么)   → 核心问题、影响范围
Who (谁)        → 提出者、使用者、影响者
When (何时)     → 使用场景、频率、期望上线
Where (在哪里)  → 系统、设备
How (如何)      → 解决方案、替代方案

必问要素:

  • 用户画像(角色、痛点、典型场景)
  • 成功指标(符合SMART原则)
  • 数据支撑(错误率、处理时间等)

Step 2: 深度需求挖掘

核心功能询问:

  • 查询/新增/编辑/删除/导出/上传
  • 每个子功能的字段、控件、校验

TRS系统领域补充(必须覆盖其一或明确“不适用”):

  • 追溯谱系(Lot Genealogy):拆分/合并/转产/返工/报废的多对多关系与口径
  • 召回与演练(Mock Recall):影响范围计算、库存/在制/在途/已出货清单、证据包导出
  • 质量放行/冻结:检验结论与状态流转、隔离区、解冻审批
  • 条码/标签:码制、校验、打印模板、补打/作废、盘点与对账
  • 审计留痕:谁在何时因何更改了什么(含前后值)、更正/冲销机制
  • 集成与一致性:主数据、事件数据、幂等/重放、延迟与补偿

字段设计询问框架:

1. 字段名称?
2. 控件类型?(文本、下拉、日期、数值)
3. 必填?
4. 值列表来源?(取表/快码/手工)
5. 级联关系?(选A后B取什么)
6. 校验规则?(格式、长度、重复)
7. 报错信息?(明确字段+修改建议)

数据项表格规范(最佳实践):

数据项表格必须使用以下11列格式,禁止简化列头:

| 序号 | 字段名 | 控件类型 | 数值类型 | 长度 | 必输 Y/N | 新增 Y/N | 编辑 Y/N | 值列表说明 | 默认值 | 校验规则 | 其他说明 |

字段类型命名规范(统一使用中文):

| 数据库类型 | PRD写法 | 附加要求 | |-----------|--------|---------| | VARCHAR / NVARCHAR | 字符 | 必须标注长度,如:字符(200) | | INT / BIGINT | 整数 | 标注是否有范围,如:整数(≥0)| | DECIMAL / FLOAT | 小数 | 标注精度,如:小数(保留2位)| | DATE | 日期 | 必须注明格式,如:日期(YYYY-MM-DD)| | DATETIME / TIMESTAMP | 日期时间 | 必须注明格式,如:日期时间(YYYY-MM-DD HH:mm:ss)| | BOOLEAN / TINYINT(1) | 布尔 | 值列表写"是/否"或"Y/N" | | TEXT / CLOB | 长文本 | 注明长度上限(若有)|

新增 Y/N、编辑 Y/N 列的填写规则:

  • 只读页面(详情页、查询结果页):新增=N,编辑=N
  • 新建表单:新增=Y,编辑=N
  • 编辑表单:新增=N,编辑=Y(或 Y/灰显)
  • 创建后不可改:新增=Y,编辑=N(备注:创建后只读)

界面流转图规范:

  • 纯文字 ASCII 流转图仅用于草稿;正式文档必须使用 HTML 文件或截图
  • HTML流转图保存为独立文件(如 assets/flow-diagram.html),在文档中以引用形式注明
  • 表格说明来源页面、目标页面、触发方式、备注(是否外部跳转、传参等)

Word导出字号规范(微软雅黑):

| 样式 | 字号 | half-points | 字重 | 备注 | |------|------|------------|------|------| | H1 一级标题 | 18pt | 36 | 加粗 | 章节标题 | | H2 二级标题 | 14pt | 28 | 加粗 | 子章节标题 | | H3 三级标题 | 12pt | 24 | 加粗 | 详细小节 | | 正文内容 | 10pt | 20 | 常规 | 段落正文 | | 表格内容 | 小五(9pt) | 18 | 常规 | 表格内文字 | | 页眉/页脚 | 小五(9pt) | 18 | 常规 | 页眉/页脚 | | 说明:Word导出使用 reference.docx 模板(见 templates.md 模板10),Typora 导出 Word 时勾选"使用 pandoc 模板"并指定该文件路径 |

Word表格规范:

  • 全包黑色框线(top/right/bottom/left/insideH/insideV 全部 SINGLE)
  • 表头背景色:浅蓝(#D9E2F3)
  • 参考模板:reference.docx(位于 skills 根目录,导出时指定路径即可)

Step 3: 引导编写

按照文档结构逐章引导:

章节 | 必填/可选 | 关键点
-----|----------|--------
1. 文档控制 | 必填 | 版本、审核、状态
2. 问题定义 | 必填 | 5W1H、用户画像
3. 业务背景 | 必填 | 四段式结构
4. 总体设计 | 必填 | 流程图、功能列表
5. 详细设计 | 必填 | 数据项、校验、交互
6. 非功能需求 | 建议 | 性能、安全、兼容
7. 发布计划 | 可选 | 上线、回滚、验收
8. 协作管理 | 可选 | 决策、变更、问题

详细章节结构 → 见 reference/document-structure.md

交互协议(建议遵循):

  • 先问再写:每轮提问不超过 10 个问题,优先问会改变设计分支的问题(范围、粒度、链路、编码、集成、审计)。
  • 写的时候也标注不确定性:将缺失信息集中放入“假设与待确认(Assumptions & Open Questions)”表,并在相关章节引用。
  • 验收优先:每个子功能至少 3 条验收标准;追溯/召回相关功能必须包含“可演练、可导出、可审计”的验收项。

硬约束(Must-Do,任何时候都不能跳过)

1) 假设表格式必须固定

  • 关键点无法从用户话语/资料中确认时,输出“假设表”(表头固定、至少1行):
| 假设ID | 假设内容 | 影响的章节/字段 | 待确认问题 | 风险等级(高/中/低) |
|--------|----------|------------------|------------|------------------|
| A-001  | ...       | ...               | ...        | 高/中/低         |

2) 值列表与校验不允许编造

  • 对“值列表5要素”(取数来源/级联关系/默认规则/展示要求/支持搜索)与“校验3要素”(时机/条件/报错信息):
    • 若用户已明确:按用户内容写
    • 若用户未明确:只能写“占位 + 假设 + 风险”,不得用泛化经验代替

3) 追溯领域补充项必须“覆盖其一/明确不适用”

  • 追溯谱系召回与演练质量放行/冻结条码/标签审计留痕集成与一致性中:
    • 至少要命中 1 项,并把对应内容写进文档
    • 若用户说“不涉及”,必须在相关段落写“明确不适用原因”

4) 输入门禁(阻断项)

  • 在开始正文“详细设计”之前,必须至少确认下面 4 类信息中每类有 1 条可落地结论(允许为假设,但必须出现在假设表里):
    • 粒度:批次/箱/件/序列号(至少选其一)
    • 链路:正向/反向中的关键节点(至少列出 2 个节点)
    • 编码/取数:至少给出 1 个字段的“值列表取数来源规则/码制规则”
    • 审计:是否需要留痕与更正/冲销机制(需要或明确不需要)

5) 输出门禁(完成度门禁)

  • 文档可判定“可交付”的最小标准:
    • 章节:1-7章必须出现;8章非功能需求9章发布计划与验收必须出现(简版即可,显式标注“假设/待确认”)
    • 复杂度:10章11章至少保留其一
    • 验收:每个子功能至少 3 条验收标准;追溯/召回子功能必须包含“可演练、可导出、可审计”
    • 报错:不得出现“操作失败/请检查输入/数据错误”等模糊报错;必须给字段级报错模板

范围裁剪决策树(只裁剪“展开深度”,不裁剪“硬字段”)

根据用户确认的复杂度,把 8/9/10/11 的写法裁剪到以下档位之一:

A档(小型):不涉及谱系拆分/合并、召回演练、审计更正/冲销、离线/弱网补传、跨多系统;仅需完成基本 CRUD 与字段级校验。

  • 8/9:简版即可;10/11可不写

B档(中型):涉及上述能力中的 1-2 项,或至少存在“值列表/校验/报错”以外的关键业务链路。

  • 8/9:标准版;10建议写;11可选

C档(大型):涉及上述能力中的 >=2 项,或明确跨 ERP/MES/WMS/QMS/PLM,多系统一致性/幂等/重放、或必须包含外设采集策略。

  • 8/9:标准或更细;10/11至少写一个

最小问题集(MVP Questions)

为避免“问得不够但又硬写”,每次提问按下面最小集合执行:

Step 0.5(必问 6 项) 追溯粒度(批次/箱/件/序列号,至少1)、关键节点(>=2)、扫码点位与频率(>=1例)、码制/条码规则(允许待确认)、集成系统(或明确“不适用”)、审计留痕/更正机制(需要/不需要/待确认)

Step 1(必问 3 项) 核心问题(1-2句)、成功指标(>=2条,SMART+基线/目标/方法/周期)、用户画像(>=1角色+典型场景)

Step 2(必问 2 项) 追溯领域补充项(>=1命中/明确不适用)、至少1个关键字段的值列表取数来源规则

反失败纠偏脚本(针对用户施压短语)

当用户出现以下短语时,Agent 必须按脚本执行,禁止“听懂但跳过”:

  • “这功能简单/不用问”
    • 行为:仍执行 Step 0.5 + 选 1 个关键字段写值列表5要素(假设需标风险)
  • “时间紧/先写大概/后面补充”
    • 行为:只交“最小可交付骨架 + 验收 + 字段级报错占位”,其余写入假设表
  • “8/9不用写/非功能和发布计划先不写”
    • 行为:仍输出 8/9 简版(可验证要求+回滚/退出/成功指标检查),其余写入假设表
  • “跳过质量检查/不需要验收标准”
    • 行为:必须补齐验收(每子功能>=3);否则停止要求补齐清单
  • “值列表不用那么详细/不用5要素”
    • 行为:仍写5要素;用户缺失则假设表标“高风险”
  • “值列表来源别问/你自己编一个”
    • 行为:不编造;值列表来源用占位写入假设表,并向用户确认“允许按假设继续”
  • “报错别写具体/随便一句”
    • 行为:必须改成字段级报错模板(字段名+修改建议)
  • “审计留痕不重要/不要考虑更正”
    • 行为:给出“留痕/更正是否需要”选项;坚持不做则审计章节写“明确不适用原因+风险等级”

Step 4: 质量检查

使用三段式验证

1. 结构检查 → 章节完整、编号正确
2. 内容检查 → 字段完整、校验明确
3. 细节检查 → 报错信息、术语一致

检查清单 → 见 CHECKLIST_V2.0.md 追溯领域模板 → 见 reference/traceability-domain.md

Quick Reference

值列表5要素

| 要素 | 询问问题 | |------|---------| | 取数来源 | 取哪个表/快码? | | 级联关系 | 选A后B取什么? | | 默认规则 | 单值是否默认带出? | | 展示要求 | 显示名称还是值? | | 支持搜索 | 需要模糊搜索? |

校验规则3要素

| 要素 | 示例 | |------|------| | 时机 | 保存时/实时/关闭时 | | 条件 | XX字段不允许为空 | | 报错 | "[XX]不能为空,请填写后保存" |

报错信息规范

✅ 正确: "[文件名称]不能为空,请填写后保存"
❌ 错误: "请填写完整信息"

✅ 正确: "[编码]已存在,请重新命名"
❌ 错误: "数据重复"

Anti-Patterns

常见错误 | 正确做法 ------------|----------- 直接开始写,不问需求 | 先用5W1H深度挖掘 只写格式校验 | 包含时机+条件+报错 模糊的报错信息 | 明确字段+修改建议 忽略值列表的级联 | 明确"选A后B取什么" 忘记成功指标 | 用SMART原则量化 把“追溯”当普通CRUD写 | 明确追溯粒度、谱系关系、多对多、拆分/合并/返工/报废 只写功能点不写验收 | 每个子功能至少3条验收标准;追溯/召回必须“可演练、可导出、可审计” 忽略外设与现场采集 | 明确扫码点位、离线/弱网、补扫/补打、误扫处理

File Structure

追溯系统-功能设计文档编写/
├── SKILL.md                    # 主文件(加载此文件)
├── CHECKLIST_V2.0.md           # 质量检查清单
├── README.md                   # 使用说明
├── CHANGELOG.md                # 更新日志
├── VISUAL_README.html          # 可视化全览图(浏览器打开)
├── reference.docx              # Word导出模板(微软雅黑 + 全包框线)
└── reference/
    ├── templates.md            # 11个文档模板
    ├── prototype-driven.md     # ⭐原型驱动详细指南
    ├── traceability-domain.md  # 追溯领域专用模板
    ├── document-structure.md  # 各章节详细内容说明
    ├── examples.md            # 完整文档示例
    └── tools.md                # 10个实用工具

Additional Resources

The Bottom Line

没有捷径可走。

深度询问 → 结构化编写 → 逐项检查 → 持续优化

这不是可选的"最佳实践",这是最低标准。


Skill版本: 1.0 更新日期: 2026-04-11 说明: 首次公开发布版本(公测)