需求提取Skill extract

这个技能用于从各种文档源中自动提取需求,支持PDF、Markdown、Word和URL格式,识别需求候选,输出标准YAML格式,适用于系统化需求挖掘和管理。关键词:需求提取、文档分析、自动化需求挖掘、软件需求工程、SEO优化、产品需求管理。

需求分析 0 次安装 0 次浏览 更新于 3/11/2026

名称: 提取 描述: 从文档(PDF、Markdown、Word、URLs)中提取需求。识别需求候选并以预规范格式输出。 参数提示: <路径或URL> [–domain <域名>] [–mode <自主模式>] [–type <文档类型>] 允许工具: Read, Glob, Grep, Write, Skill, WebFetch

提取命令

从文档中提取需求,用于系统化需求挖掘。

用法

/requirements-elicitation:extract 路径/到/文档.pdf
/requirements-elicitation:extract 路径/到/规范.md --domain "认证"
/requirements-elicitation:extract https://example.com/功能 --type 竞争者
/requirements-elicitation:extract ./文档/*.md --mode 全自动

参数

参数 必需 描述
路径或URL 文件路径、全局模式或URL以提取
–domain 域名用于组织输出文件
–mode 自主模式: 引导式, 半自动, 全自动 (默认: 半自动)
–type 文档类型提示: 规范, 转录稿, 监管, 竞争者, 自动

支持源

源类型 示例
PDF 文档.pdf, 规范.pdf
Markdown 自述.md, 需求.md
文本 笔记.txt, 转录稿.txt
Word 文档.docx
URL https://docs.example.com/api
全局模式 ./文档/*.md, ./规范/**/*.pdf

工作流程

步骤 1: 源解析

解析输入以确定:

  • 单个文件 vs. 多个文件(全局模式)
  • 本地文件 vs. URL
  • 文档类型(自动检测或从 --type)

步骤 2: 加载文档提取技能

调用 requirements-elicitation:document-extraction 技能以加载提取策略。

步骤 3: 处理每个文档

对每个文档:

  1. 读取/获取内容

    • 使用 Read 工具用于本地文件
    • 使用 WebFetch 用于 URLs
  2. 评估文档

    • 如果未指定则确定文档类型
    • 选择提取策略
  3. 提取需求

    • 生成 document-miner 代理
    • 应用适当的模式
    • 捕获并附加源属性
  4. 分类和去重

    • 分配类型和类别
    • 在文档内和跨文档识别重复项

步骤 4: 保存结果

保存提取结果到:

.requirements/{域名}/文档/DOC-{文件名}-{时间戳}.yaml

步骤 5: 报告摘要

显示提取统计和关键发现。

示例

单个 PDF 提取

/requirements-elicitation:extract ./文档/需求.pdf --domain "项目-x"

输出:

从: 需求.pdf 提取
文档类型: 正式规范
模式: 半自动

处理中... [================] 100%

提取完成:
- 总候选: 45
- 已提取: 38
- 需要审核: 7

按类型:
- 功能性: 24
- 非功能性: 10
- 约束: 4

保存到: .requirements/项目-x/文档/DOC-需求-20251225.yaml

审核项已标记 - 运行 /requirements-elicitation:gaps 获取详情

多个文档使用全局模式

/requirements-elicitation:extract ./规范/*.md --mode 全自动

输出:

找到 5 个文档匹配模式

处理中:
1. api-规范.md .......... 12 需求
2. 用户故事.md ...... 18 需求
3. 约束.md ....... 5 需求
4. nfr-规范.md .......... 8 需求
5. 假设.md ....... 3 需求

总计: 46 需求已提取
检测到重复: 4 (已合并)
最终计数: 42 独特需求

保存到: .requirements/规范/文档/

URL 提取(竞争者分析)

/requirements-elicitation:extract https://竞争者.com/功能 --type 竞争者 --domain "竞争者分析"

输出:

获取: https://竞争者.com/功能
文档类型: 竞争者分析

提取完成:
- 识别功能: 15
- 转换为需求: 15
- 置信度: 低 (外部观察)

所有项已标记为需要验证。

保存到: .requirements/竞争者分析/文档/DOC-竞争者-功能.yaml

下一步: 使用 /requirements-elicitation:interview 与利益相关者验证

自主模式

引导模式

AI: "我在第 2.1 节找到这个潜在需求:
     '系统应支持最多 1000 并发用户'

     我是否应将其提取为性能需求?"

用户: "是"

AI: "已提取为 REQ-EXT-001 (性能/可扩展性)。
     下一个候选..."

半自主模式

AI: [处理文档节]

    "第 2 节已完成。提取了 8 个需求:
     - 5 功能性
     - 2 性能
     - 1 约束

     2 项已标记为需要审核。继续到第 3 节?"

全自主模式

AI: [处理整个文档]

    "提取完成。

     摘要:
     - 34 需求已提取
     - 6 标记为需要审核
     - 3 潜在重复检测到

     结果已保存。准备进行差距分析。"

输出格式

保存的 YAML 结构

提取会话:
  时间戳: "2025-12-25T14:30:00Z"
  模式: 半自动
  域名: "{域名}"

源:
  - 文件: "需求.pdf"
    类型: 规范
    页数: 45
    已处理: true

统计:
  总候选: 52
  已提取: 45
  已过滤: 7
  需要审核: 8
  重复: 3

需求:
  - id: REQ-EXT-001
    文本: "系统应通过 SSO 认证用户"
    源:
      文件: "需求.pdf"
      位置: "第 3.1 节, 第 8 页"
    类型: 功能性
    类别: 安全
    置信度: 高
    需要审核: false

审核项:
  - id: REQ-EXT-015
    原因: "模糊的性能目标"
    原始: "系统应具有响应性"
    建议: "定义具体的响应时间"

重复:
  - 组: [REQ-EXT-003, REQ-EXT-022]
    推荐: REQ-EXT-003
    原因: "更具体的陈述"

集成

后续命令

# 提取后检查差距
/requirements-elicitation:gaps

# 分析会议转录稿
/requirements-elicitation:analyze-transcript ./会议/启动.md

# 合并所有源
/requirements-elicitation:discover "{域名}" --sources 文档

# 导出到规范格式
/requirements-elicitation:export --to canonical

错误处理

文件未找到

错误: 文件未找到: ./文档/缺失.pdf
建议: 检查路径并重试

不支持格式

错误: 不支持的文件格式: .xyz
支持: .pdf, .md, .txt, .docx, URLs

URL 获取失败

错误: 无法获取 URL: https://example.com/页
原因: 404 未找到
建议: 验证 URL 可访问性