# Requirement Kb Creator

> Create a source-backed requirement knowledge base Markdown from ZenTao/禅道 tasks, stories, bugs, URLs, local Markdown/Word/PDF/Excel files, screenshots, prototypes, meeting notes, or user-provided requirement text. Use when the user asks to 帮我建立知识库, 创建知识库, 新建需求知识库, 生成需求知识库, 沉淀知识库, 基于本地文件建立知识库, 从文档建立知识库, or 从禅道生成知识库. Creating a new KB must perform ZenTao historical requirement lookup first unless the user explicitly says not to query ZenTao; record hits, no-hit results, reused lookup records, or lookup failure reasons in the KB. Trigger phrases include: $requirement-kb-creator, 建立知识库, 创建知识库, 需求知识库, 禅道知识库, 本地文档知识库, taskID生成知识库, storyID生成知识库, $zentao-kb.

- Skill: `ewancy/requirement-kb-creator` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add ewancy/requirement-kb-creator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ewancy/requirement-kb-creator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: ewancy (https://skillmd.com/u/ewancy)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/ewancy/requirement-kb-creator

---


# requirement-kb-creator / 需求知识库创建

## 调用原则

当用户目标明确是“建立/创建/生成需求知识库”时使用本 Skill。知识库可以来自禅道，也可以来自本地文件、截图、原型、会议记录或用户直接描述；不要把触发条件限定为禅道。若用户只是要求写 PRD、设计需求、整理方案、查询资料或回答待确认问题，不得自动新建正式知识库。

中文说明：本 Skill 的核心目标是在用户明确要求建立知识库时，把分散的需求事实沉淀成可复用、可追溯的 `需求知识库.md`，作为后续 PRD、原型、禅道需求变更和验收口径的事实来源。

硬性门禁：新建知识库前必须先查禅道历史需求，除非用户明确说“不查禅道/只按本地资料/跳过禅道”。如果未完成禅道检索、未复用已有有效检索记录、也没有记录检索失败原因，不得生成知识库文件。

中文说明：即使用户只给一句口头需求，也不能直接建立“轻量知识库”并写“禅道暂无”。正确做法是先按功能点关键词查禅道；查不到写“已查未命中”，查不了写“检索失败原因”，这样后续 PRD 才能知道历史口径是否可靠。

适用输入：

- 用户口令：`帮我建立知识库`、`创建知识库`、`生成需求知识库`、`基于这些文档建立知识库`、`把这个需求沉淀成知识库`。
- 禅道来源：`taskID=41603`、`storyID=7945`、bugID、禅道任务/需求/缺陷 URL。
- 本地来源：Markdown、Word、PDF、Excel、CSV、截图、HTML 原型、已有 PRD、会议纪要、用户粘贴的需求规则。
- 混合来源：禅道 + 本地补充文档/截图/原型一起建库。

不适用输入：

- 已有知识库，需要同步新规则：使用 `$requirement-kb-updater`。
- 从知识库写正式 PRD：使用 `$requirement-prd-writer`。
- 制作 HTML 交互原型：使用 `$html-interactive-prototype`。


## 新建授权门禁

中文说明：正式知识库只能在用户明确要求建立/创建/生成/沉淀知识库时落盘。PRD 编写前置、需求设计、问题确认、方案确认、禅道查询等流程不能自动新建正式知识库。

允许新建正式知识库的表达包括：

- `建立知识库`、`创建知识库`、`生成需求知识库`、`沉淀知识库`。
- `把这些资料整理成 xxx需求知识库.md`。
- 用户在你询问“是否建立知识库”后明确回复“确认/可以/建立”。

未授权时的处理：

- 可以读取资料、查询禅道、整理“知识库草稿/拟沉淀规则/来源摘要”。
- 如果需要落文件，只能写到草稿文件，文件名必须包含 `待确认` 或 `草稿`，不得命名为正式 `...需求知识库.md`。
- 不得把草稿当作 PRD 的正式关联知识库；PRD 中只能说明“知识库待建立/用户尚未授权建立”。

## 推荐口令

- `$requirement-kb-creator 帮我建立知识库，资料在 ./xxx需求/`
- `帮我建立知识库，基于 taskID=41603 和这个本地 PRD`
- `创建知识库：读取这些截图和会议纪要，整理成 xxx需求知识库.md`
- `从禅道 storyID=xxx 生成 xxx 的需求知识库.md`

## 工作流程

1. **识别来源与范围**
   - 先判断来源类型：禅道、本地文件、用户粘贴文本，或混合来源。
   - 如果用户没有给路径或 ID，优先在当前需求目录查找相关 PRD、`*需求*.md`、`*知识库*.md`、截图、原型文件；只有无法判断功能点或候选过多时才询问。
   - 确认本轮用户有明确“建立/创建/生成/沉淀知识库”的写入授权；没有授权时只能输出草稿或建议，不生成正式知识库。
   - 明确知识库名称、功能点归属和输出目录；默认放到需求专属目录。

2. **禅道历史需求检索（建库默认必做，除非用户明确不查禅道）**
   - 创建新知识库时，即使用户只给了功能点名称或口头需求，也要先按当前项目约定检查禅道历史需求；不要直接写“禅道任务/需求/缺陷 ID：暂无”。
   - 如果是其他技能（例如 `$requirement-prd-writer`）为了写 PRD 而需要知识库，不得自动触发正式建库；必须先取得用户明确“建立/创建知识库”的授权。已获授权后才完整执行本步骤。
   - 先检查当前工作区是否已有同功能点知识库、PRD 或 `禅道历史需求检索记录` / `关联任务/记录` / `需求来源` 等章节；若其中已经记录过相同关键词、产品、检索日期和命中 story/task/bug ID，本轮可复用记录，不必重复全量查询。
   - 已有记录不足时，必须实际使用 `zentao` CLI/MCP 做检索；先运行 `zentao whoami` 验证登录态，再用功能点名、模块名、同义词、渠道/端名称、用户本轮关键词检索历史需求。常用方式：`zentao stories list --product <productID> --page <n> --limit <n> --json` 分页后本地按标题关键词过滤；必要时补查 `bugs`、`tasks` 或用户指定项目/执行。
   - 若不确定产品 ID，先用 `zentao products list --json` 查询产品列表，并结合用户上下文、当前工作区、历史知识库中的产品/模块记录确定候选产品；仍无法判断时，按最可能的 1-3 个候选产品检索并把选择依据写入检索摘要。
   - 检索关键词至少包含：功能点主名称、用户原始需求关键词、常见同义词/简称；例如“五福合成活动”还应尝试“五福”“合成”“卡片”“卡片类型”等。
   - 默认产品按工作区说明或用户上下文确定；例如 AI客服/AI伴侣需求默认优先查 `AI伴侣 productID=11`，用户指定其他产品时以用户为准。
   - 命中结果要区分“直接相关”和“间接相关”：直接相关必须写入 `需求来源` 或 `关联任务/记录`；间接相关可写为参考，不要把未确认的历史规则强行合并为本次需求。
   - 命中疑似相关需求时，必须读取详情后再决定是否沉淀规则；优先用 `zentao story get --id <id> --json`、`zentao task get --id <id> --json`、`zentao bug get --id <id> --json`。
   - 每次检索都要在知识库中记录可复用的检索摘要：检索日期、产品/项目、检索命令或检索方式、关键词、命中 ID 与标题、已展开读取详情的 ID、未展开原因。中文说明：这样后续同功能点建库或写 PRD 时可以先复用已查记录，避免重复拉取禅道全量列表。
   - 若禅道不可用、未登录、无权限或网络失败，知识库不得写“无关联需求”；应写“禅道检索失败/未完成”，并记录失败原因、已尝试命令和对完整性的影响。除非用户确认继续，否则检索失败时不要生成正式知识库；如用户要求先继续，只能生成标记为“待补禅道检索”的临时知识库。

3. **读取禅道材料（如有）**
   - 优先使用 `zentao` CLI/MCP：`zentao task get --id <id> --json`、`zentao story get --id <id> --json` 或对应 bug 命令。
   - 如果未登录，使用或询问 `ZENTAO_URL`、`ZENTAO_ACCOUNT`、`ZENTAO_PASSWORD`。
   - 保存原始 JSON 到 `/tmp`，不要把账号密码、token、cookie 写入任何产物。
   - 提取主任务/需求、子任务、`desc`、`spec`、`verify`、`customDemandSpec`、`selfTest`、备注/动态。
   - **禅道来源必须结合图片/附件处理**：如果 `desc`、`spec`、`verify`、`customDemandSpec`、备注/动态中包含 `<img>`、文件链接、`fileID`、`{123.png}` 或原型链接，必须下载或打开附件并识别图片内容；不能只读取文字后把图片承载的信息写成待确认。
   - 可用 `scripts/extract_zentao_assets.py` 提取图片 URL、`fileID`、`{123.png}` 图片占位；没有脚本时，用正则从 HTML 中提取 `m=file&f=read`、`fileID=`、`img src` 等链接，并保存附件到需求目录或 `/tmp` 后识别。
   - 对禅道截图要识别页面入口、菜单层级、筛选条件、表格字段、按钮、弹窗、红框/箭头标注、字段说明、验收提示和异常态；把确定内容沉淀到正文和验收标准，把无法识别或图片缺失的内容才写入待确认。
   - 如果附件无法下载、无权限访问或图片损坏，在知识库的“图片与附件识别摘要”和“待确认问题”中说明具体 story/task/bug ID、fileID、失败原因和缺失影响。

4. **读取本地材料（如有）**
   - Markdown/文本：直接读取并抽取背景、目标、规则、验收、待确认点。
   - Word/PDF/Excel/CSV：使用可用工具提取文字、表格和图片；保留来源文件名与关键页/表信息。
   - HTML 原型：读取页面文案、控件、交互脚本和状态分支，不要只总结视觉。
   - 截图/图片：识别图片中的文字、表格、编号、箭头、UI 状态、字段说明；不确定内容写入 `待确认问题`。

5. **合并与去重**
   - 按“事实来源优先级”合并：用户本轮明确口径 > 最新本地文档/PRD > 禅道最新描述/备注 > 历史材料。
   - 同一规则多处出现时保留一条清晰规则，并在“需求来源”或“关联任务/记录”中保留来源线索。
   - 冲突内容不要自行裁决；列入 `待确认问题`，注明冲突来源。

6. **生成知识库（仅限已授权新建）**
   - 参考 `references/knowledge-base-template.md`。
   - 默认文件名：`<需求名>需求知识库.md` 或 `<需求名>的需求知识库.md`。
   - 默认不要写 `数据与接口` / `接口与数据字段` 章节，除非用户明确要求。
   - 每条关键规则要可追溯到来源；无来源但来自用户口述时写“用户本轮补充”。
   - `需求来源` 中必须准确写禅道历史检索结果：有命中写 ID；未命中写“已按 <关键词> 检索，未命中直接相关需求”；检索失败写失败原因，不要写成“无”。
   - `关联任务/记录` 中保留可复用检索摘要，便于后续判断哪些禅道历史已查过；建议表格包含 `检索日期`、`产品/项目`、`关键词`、`命中结果`、`已读取详情`、`处理结论`。
   - 如果用户明确要求跳过禅道，`需求来源` 和 `关联任务/记录` 必须写明“用户确认不查禅道”，不能留空。

7. **校验**
   - 文件存在且非空。
   - 不包含密码、token、cookie、cookie header、临时登录态。
   - 章节编号连续。
   - 用户给出的关键材料都已覆盖；截图/附件识别摘要覆盖所有关键图片。
   - 新建知识库必须能回答“是否查过禅道历史需求”：已查且命中、已查未命中、复用既有检索记录、或检索失败原因四选一；不能留空或默认暂无。
   - 新建知识库必须能回答“查了哪些关键词、哪些产品/项目、是否读取详情、为什么判定相关/不相关”；缺少这些检索摘要时不得交付。
   - 如果禅道检索失败但用户未确认继续，停止建库并先反馈失败原因；不要为了完成任务而生成来源不完整的知识库。
   - 如果来源包含禅道任务/需求/缺陷，必须校验禅道正文中的图片/附件是否已提取、下载/打开、识别并落入知识库；不能在未处理附件的情况下声称“基于禅道建立完成”。
   - 关键规则在 `核心需求概述` 或对应业务章节中有落点，并在 `验收标准` 中有可测试项。

## 来源处理细则

- **只有禅道 ID/URL**：读取禅道并建库；必须同步处理禅道图片/附件/原型链接，图片里能确认的字段和规则要写入正文与验收标准；无法读取附件时说明缺失附件并列入待确认。
- **只有本地文件/目录**：扫描用户指定路径或当前需求目录，同时按功能点关键词检查禅道历史需求；用户明确说“不查禅道/只按本地文件”时才跳过禅道检索，并在来源中记录该口径。
- **禅道 + 本地资料**：先读禅道，再读本地补充；本地新口径与禅道冲突时以用户最新明确说明为准，否则列待确认。
- **只有用户口述**：只有用户明确要求建立知识库时，才可以建立轻量知识库；否则只输出拟沉淀规则和待确认问题。已授权建库时仍要按功能点关键词检查禅道历史需求；来源中同时标注“用户本轮描述”和“禅道历史检索结果”，并把不确定边界写入待确认。

## 输出约定

最终回复只汇报：

- 生成的知识库绝对路径；如果未获授权，只说明未生成正式知识库，并给出草稿/拟沉淀摘要。
- 使用的来源类型和关键来源文件/ID。
- 识别图片/附件数量。
- 待确认点数量。
- 校验结果：章节编号是否连续、是否无敏感信息、是否默认未加入接口章节。

