Skip to content

mjkohoh/req2prd-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

req2prd skill

req2prd 用于把收到的 .docx 需求文档转换成两个 Markdown 文件:

  • PRD.md:给人看的需求文档,尽量完整保留原 docx 内容、表格和图片,并在不丢内容的前提下提升可读性。
  • SPEC.md:给 agent 看的通用规格文档,不包含图片,只抽取原文明确支持的需求、规则、流程、字段、约束和未明确事项。

这个 skill 的核心原则是:只转换和整理来源文档,不猜测、不虚构、不补充原文没有的信息。

目录结构

req2prd-skill-2/
  SKILL.md
  scripts/
    convert_docx.py
  references/
    config.md
    output-templates.md
    spec-extraction-guide.md
  evals/
    evals.json
  req2prd.config.example.yml

默认输出

没有配置文件时,输出到当前工作目录下:

docs/
  <源文档文件名>/
    PRD.md
    SPEC.md
    assets/
      image-001.png
      image-002.png

配置文件

可选配置文件名固定为:

req2prd.config.yml

查找顺序:

  1. 当前工作目录
  2. docx 文件所在目录
  3. 未找到则使用默认配置

配置文件只允许控制输出路径和文件名,不允许改变真实性约束、生成规则或模板。

示例:

output:
  root: docs
  dir: "{{source_stem}}"
  prd: PRD.md
  spec: SPEC.md
  assets: assets

如果使用配置文件,配置里的相对路径都相对配置文件所在目录解析。

给 agent 的使用方式

在支持 skills 的 agent 环境中,把本目录作为 skill 安装或引用。用户可以这样说:

请把 test-req-doc/xxx.docx 转成 PRD.md 和 SPEC.md

agent 应该先读取 SKILL.md,然后使用辅助脚本完成 docx 解析和图片提取:

python scripts/convert_docx.py test-req-doc/xxx.docx

如果 agent 不在本目录运行,使用脚本绝对路径:

python /path/to/req2prd-skill-2/scripts/convert_docx.py /path/to/requirement.docx

脚本会生成 PRD/SPEC 草稿。随后 agent 必须打开 PRD.mdSPEC.md

  • PRD.md 做轻整理,但不能删除原始内容;输出中不要写入本机绝对路径。
  • 原 Word 自动目录、页码目录会被当作排版导航清理掉,只保留 skill 生成的真实 Markdown 目录。
  • 根据 PRD.md 完成 SPEC.md,把脚本抽取结果整理成最终可交给 coding agent 的内容。
  • SPEC.md 中变更摘要、功能需求、业务规则、接口与字段影响用表格,流程、实现约束、测试要点等用普通 Markdown。
  • 每条关键需求、规则和接口影响都应包含来源位置。
  • 码值、字段、接口等可拆对象应尽量拆到独立行;同一对象或页面的重复表述应语义归并,避免把 PRD 原句堆成候选清单。
  • 码值出现在展示/隐藏条件中,不等于该码值新增或删除;这类内容通常进入业务规则。
  • 变更影响范围要覆盖原文明确提到的页面、流程、接口、受理单/PDF、输出同步和历史反显要求。
  • 固定值、置灰、不可修改类规则如果列出具体页面或保全项,应在 业务规则 中逐项展开,便于后续 agent 定位代码。
  • 确认页核心返回值、受理单、PDF、统一输出等展示同步影响,应和核心接口传值/字段必录规则区分清楚。
  • 测试要点应是可执行检查项。
  • 对原文未明确的信息写 原文未明确。 或放到 未明确事项
  • 不允许最终保留 脚本已提取候选条目需由 agent 复核原文相关对象原文相关条件待根据 PRD 提取。待整理 之类候选稿/占位内容。
  • 确保 SPEC.md 不包含图片嵌入。

最后运行:

python scripts/convert_docx.py test-req-doc/xxx.docx --validate-only

本地直接试用

准备任意一个本地需求 docx 后执行:

python scripts/convert_docx.py path/to/requirement.docx
python scripts/convert_docx.py path/to/requirement.docx --validate-only

如果本机安装了 pandoc,脚本会优先使用 pandoc。如果没有安装,会使用 Python 的 docx 解析能力兜底。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages