yida-flash-note-to-prd

star 184

闪记转 PRD。从钉钉闪记(AI 听记)、会议记录、需求文档中提取产品需求,生成结构化的 PRD 文档。支持文本、图片、链接三种输入方式,三层 Prompt 架构确保高质量提取。不适用于:直接创建宜搭应用(PRD 生成后还需 yida-app 流程),或处理非需求类文档(如技术文档、代码文件)。

openyida By openyida schedule Updated 5/19/2026

name: yida-flash-note-to-prd description: 闪记转 PRD。从钉钉闪记(AI 听记)、会议记录、需求文档中提取产品需求,生成结构化的 PRD 文档。支持文本、图片、链接三种输入方式,三层 Prompt 架构确保高质量提取。不适用于:直接创建宜搭应用(PRD 生成后还需 yida-app 流程),或处理非需求类文档(如技术文档、代码文件)。

钉钉闪记转高质量 Prompt 技能

严格禁止 (NEVER DO)

  • 不要在没有闪记内容的情况下强行生成 PRD,必须等待用户提供闪记文本、图片或链接
  • 不要将生成的 prompt 写入项目根目录,必须写入 prd/<项目名>.md
  • 不要忽略闪记中的 A1 结构化摘要(会议摘要、待办事项、决策结论),这是最高优先级信息
  • 不要生成传统产品文档格式,输出必须是可直接驱动宜搭开发的结构化 prompt

严格要求 (MUST DO)

  • 必须自动识别输入类型:文本闪记 / 图片闪记 / 闪记链接,分别处理
  • 必须提取会议元信息(标题、参会人、时间)并写入 prompt 上下文
  • 生成的 prompt 必须包含:MVP 边界、用户角色与权限、核心用户旅程、功能模块、字段设计表、流程/状态机、数据关联与约束、交互验收标准、报表需求、OpenYida 落地约束、待确认事项
  • 生成完成后必须提示用户确认 PRD 内容,再进入开发流程

适用场景

用户意图 触发条件
闪记转需求文档 用户发送闪记文本/图片、提到"闪记"、"会议纪要"、"会议记录"
快速启动开发 从会议记录直接生成可执行的开发 prompt

触发条件

正向触发

  • 用户发送闪记文本/图片
  • 用户提到"闪记"、"会议纪要"、"会议记录"、"闪记转需求"
  • 用户发送钉钉闪记链接(shanji.dingtalk.comalidocs.dingtalk.com
  • 用户口述会议要点,要求整理成需求

不适用场景(不要触发)

  • 直接创建宜搭应用(PRD 生成后还需 yida-app 流程)
  • 处理非需求类文档(如技术文档、代码文件)
  • 用户已有完整 PRD,无需从闪记生成

异常处理

异常场景 处理方式
闪记内容为空或过短 提示用户补充更多会议内容,至少需要包含功能需求描述
图片识别失败 提示用户重新上传清晰图片,或直接粘贴闪记文本
闪记链接无法访问 提示用户在钉钉中打开链接,复制全文后粘贴
PRD 文件写入失败 检查 prd/ 目录是否存在,确认文件系统权限
生成的 PRD 质量不佳 展示待确认事项,引导用户补充关键信息后重新生成

Agent 错误处理策略

当 Agent 执行本技能遇到错误时,必须遵循以下默认行为:

错误类型 默认处理策略
输入内容为空 停止执行,主动询问用户提供闪记内容(文本/图片/链接)
输入内容过短(<100 字) 提示用户内容可能不足以生成完整 PRD,询问是否继续或补充
图片识别失败 提示用户重新上传清晰图片,或改用文本粘贴方式
闪记链接无法访问 引导用户在钉钉中打开链接,复制全文后粘贴
文件写入失败 检查目录权限,尝试创建 prd/ 目录后重试
生成结果不完整 展示已生成内容,询问用户是否需要补充或调整
未知错误 停止执行,完整展示错误信息,建议用户反馈问题

概述

本技能将钉钉闪记(会议录音转文字的会议纪要、AI 听记图文纪要)自动识别并转化为高质量的结构化 prompt。生成的 prompt 写入 prd/<项目名>.md,可直接驱动后续宜搭应用开发流程(创建应用 → 创建表单 → 编写页面 → 发布上线)。

核心理念prd/<项目名>.md 不是传统的产品文档,而是一段精心结构化的 prompt——它包含了足够的业务语义信息(功能模块、字段设计、流程设计、报表需求等),使得后续技能可以直接读取并执行开发。

核心能力

  • 自动识别闪记输入:用户直接发送闪记文本或图片,AI 智能体自动触发本技能
  • 智能识别钉钉 A1 / 闪记生成的结构化摘要(会议摘要、待办事项、决策结论等),作为高优先级信息
  • 自动提取会议元信息(标题、参会人、时间、时长等),丰富 prompt 上下文
  • 识别发言人角色标注(如"张三(产品经理)"),帮助区分不同角色视角
  • 生成可直接驱动开发的结构化 prompt,包含 MVP 边界、角色权限、核心旅程、功能模块、字段设计表、流程/状态机、数据约束、验收标准、报表需求和待确认事项

何时使用

当以下情况发生时,自动触发本技能(无需用户明确说"转 PRD"):

  • 用户发送了一段会议纪要/闪记文本(包含发言人对话、讨论内容等)
  • 用户发送了闪记截图/图片(钉钉闪记的图文纪要截图)
  • 用户发送了钉钉闪记链接shanji.dingtalk.comalidocs.dingtalk.com
  • 用户提到"闪记"、"会议纪要"、"会议记录转PRD"、"闪记转需求"等关键词
  • 用户口述会议要点,要求整理成需求

⚡ AI 智能体自动执行流程(核心)

重要:本技能的主要执行方式是 AI 智能体直接处理,而非调用 CLI 命令。AI 智能体自身就是大模型,可以直接完成闪记内容的理解和高质量 prompt 生成。

当识别到用户输入为闪记/会议纪要内容时,按以下流程自动执行:

[Step 1] 识别输入类型
         - 图片 → 用视觉能力识别图片中的所有文字内容
         - 文本 → 直接使用
         - 闪记链接 → 提示用户复制闪记全文后粘贴
           ↓
[Step 2] 内容预处理(AI 智能体自行完成,参照预处理规则)
         - 去除时间戳、口语填充词、重复标点
         - 识别会议元信息(标题、参会人、时间等)
         - 识别 A1 生成的结构化摘要段落(📋 会议摘要、✅ 待办事项、📌 决策结论等)
         - 识别发言人及其角色标注
           ↓
[Step 3] 生成高质量结构化 prompt
         - 按照「Prompt 输出模板」和「内容提取规则」生成
         - AI 智能体直接生成,无需调用外部 AI 接口
         - 严格遵循字段设计规则(使用宜搭标准字段类型)
         - 严格遵循质量标准(每个模块含功能描述、交互规则、业务规则、字段设计表和验收标准)
         - 生成的 prompt 必须包含足够的业务语义信息,使后续技能可直接读取执行
           ↓
[Step 4] 写入文件 prd/<项目名>.md
           ↓
[Step 5] 输出摘要,询问用户是否需要调整
         - 展示:项目名称、功能模块数、待确认事项数
         - 询问:是否需要修改或补充
         - 提示:可继续执行宜搭应用开发流程(prompt 已就绪)

图片输入处理规则

当用户发送图片时:

  1. 使用视觉能力完整识别图片中的所有文字内容,包括标题、正文、表格、列表等
  2. 注意识别图片中的结构化布局(如分栏、卡片、流程图等),保留其逻辑关系
  3. 识别图片中的标签/标注(如 Emoji 标识、颜色标注、高亮文字等),这些通常是重点信息
  4. 将识别结果作为闪记文本,进入 Step 2 继续处理

闪记链接处理规则

以下 URL 模式自动识别为钉钉闪记链接:

  • https://shanji.dingtalk.com/app/transcribes/... — 钉钉闪记(AI 听记)分享链接
  • https://alidocs.dingtalk.com/... — 钉钉文档中的闪记

钉钉闪记页面是 SPA 应用,需要登录态才能获取数据。当用户提供闪记链接时:

  1. 提示用户在钉钉中打开链接,复制闪记全文后粘贴
  2. 或导出为 .txt 文件后告知文件路径

CLI 命令(可选的自动化工具)

以下 CLI 命令是可选的自动化工具,适用于批量处理或脚本化场景。日常使用中,直接将闪记内容发给 AI 智能体即可。

flash-to-prd — 闪记转 PRD

# 从文件读取闪记内容并生成 PRD
openyida flash-to-prd --file <闪记文件路径> [--name <项目名>]

# 从标准输入读取闪记内容
cat meeting.txt | openyida flash-to-prd --name <项目名>
参数 必填 说明
--file 闪记文本文件路径(支持 .txt / .md)
--name 项目名称,用于生成 PRD 文件名(默认从闪记内容中提取)
--max-tokens AI 最大输出 token 数(默认 8000)

输出:生成 prd/<项目名>.md 文件


处理流程

[Step 1] 接收闪记内容(文本/文件/链接)
           ↓
[Step 2] 预处理(preprocessFlashNote):
         - 去除时间戳、口语填充词、重复标点
         - 合并同一发言人的连续发言
         - 清理多余空行
           ↓
[Step 3] 会议识别(新增能力):
         - extractMeetingMeta:提取会议元信息(标题、参会人、时间、时长等)
         - extractA1Summary:识别钉钉 A1 生成的结构化摘要段落
         - extractSpeakers:识别发言人及其角色标注
         - buildMeetingContext:组装会议上下文信息
           ↓
[Step 4] 分段判断(splitIntoSegments):
         - ≤ 6000 字 → 单段模式
         - > 6000 字 → 按段落边界智能分段
           ↓
[Step 5] AI 提取(buildFlashNoteToPrdPrompt):
         - 会议上下文作为高优先级信息注入 Prompt
         - 单段模式:三层 Prompt 架构,直接输出 Markdown PRD
         - 多段模式:每段输出 JSON 结构化数据
           ↓
[Step 6](仅多段模式)合并去重(buildMergePrompt):
         - 合并各段 JSON 结果
         - 去重、解决冲突
         - 生成完整 Markdown PRD
           ↓
[Step 7] 输出到 prd/<项目名>.md
           ↓
[Step 8] 展示 PRD 摘要,询问用户确认或调整

Prompt 输出模板

📖 生成的 PRD 文件标准结构详见 references/flash-note-prd-template.md


AI Prompt 设计

📖 完整的三层 Prompt 架构、Prompt 原文、分段处理策略和调用方式详见 references/flash-note-prompt.md


闪记内容预处理规则

在发送给 AI 之前,对闪记原文进行预处理(实现在 build-flash-note-prompt.jspreprocessFlashNote 函数中):

处理步骤 说明 正则/规则
去除时间戳 移除 [00:01:23] 等时间标记 /\[?\d{1,2}:\d{2}(?::\d{2})?\]?\s*/g
去除口语填充词 移除"嗯"、"那个"、"就是说"、"对对对"等口语化表达 预定义填充词列表匹配
合并连续空行 多个空行合并为单个换行 /\n{3,}/g\n\n
去除重复标点 连续重复标点合并为一个 /([,。!?,\.!?])\1+/g
合并连续发言 同一人连续多段发言合并为一段(用逗号连接) 按发言人前缀匹配合并
保留发言人标识 保留"张三:"等发言人前缀,帮助 AI 理解上下文 支持中英文冒号格式

会议识别能力(v2.0 新增)

预处理完成后,自动执行以下会议识别步骤:

会议元信息提取(extractMeetingMeta)

从闪记头部提取结构化的会议元信息:

识别字段 匹配关键词 示例
会议标题 会议主题/标题/名称、Meeting Title/Topic 会议主题:产品需求评审会
会议时间 会议时间/日期、Date/Time 会议时间:2026-03-24 14:00
会议时长 会议时长/时长、Duration 会议时长:45 分钟
参会人员 参会人/与会人/出席、Participants/Attendees 参会人员:张三、李四、王五
主持人 主持人/组织者/发起人、Organizer/Host 主持人:张三
会议地点 会议地点/位置、Location 会议地点:3 号会议室

钉钉 A1 摘要识别(extractA1Summary)

自动识别钉钉 A1 / 闪记 AI 生成的结构化摘要段落,支持 Emoji 标识和纯文本标识两种格式:

段落类型 Emoji 标识 纯文本标识 说明
会议摘要 📋 / 📝 【会议摘要】 AI 生成的会议内容总结
待办事项 ✅ / ☑️ 【待办事项】 会议中确定的行动项
决策结论 📌 / 🔑 / 💡 【决策结论】 会议中达成的决策
讨论要点 📊 / 📈 【讨论要点】 关键讨论内容摘要
后续跟进 ⏭️ / 👉 【后续跟进】 下一步计划和跟进事项

优先级说明:A1 摘要段落被视为高优先级信息,会在 Prompt 中优先注入,帮助 AI 更准确地提取需求。

发言人角色识别(extractSpeakers)

自动识别闪记中发言人的角色标注,支持以下格式:

张三(产品经理):...      → 识别为 张三,角色:产品经理
李四(技术负责人):...   → 识别为 李四,角色:技术负责人
王五[设计师]:...         → 识别为 王五,角色:设计师
赵六:...                → 识别为 赵六,角色:未标注

识别到的发言人角色信息会注入 Prompt,帮助 AI 区分不同角色视角的发言。


与其他技能配合

Prompt 生成后,可无缝衔接宜搭应用开发流程:

闪记(文本/图片)→ [本技能] → prd/<项目名>.md(高质量 prompt)
                                    ↓
                          [yida-create-app] → 创建应用
                                    ↓
                          [yida-create-form-page] → 创建表单
                                    ↓
                          [yida-custom-page] → 开发自定义页面
                                    ↓
                          [yida-publish-page] → 发布上线
后续技能 用途 从 prompt 中获取的信息
yida-create-app 创建宜搭应用 项目名称
yida-create-form-page 创建表单 字段设计(字段名、类型、必填、选项)
yida-create-process 配置审批流程 流程设计(节点、审批人、条件)
yida-custom-page 开发自定义页面 功能模块、页面布局需求
yida-report 创建报表 数据报表需求

OpenYida PRD 质量门槛

生成或评审 prd/<项目名>.md 时,必须检查以下内容;缺失时写入「待确认事项」,不要假装已经明确:

质量项 必须回答的问题
MVP 边界 第一版必须做什么,哪些放到二期
用户与权限 谁使用工作台,谁维护后台表,谁审批/调度/查看报表
核心旅程 用户从进入页面到完成关键任务的步骤,是否避免原生表单割裂体验
数据模型 表单之间如何关联,哪些字段唯一,哪些字段只能后台维护
状态机 状态有哪些,谁能改,允许从哪个状态流转到哪个状态
冲突与异常 时间冲突、重复提交、并发提交、取消/退回/失败如何处理
交互验收 什么叫“好用”,用可验证标准描述,如 30 秒内完成预约、冲突即时提示
OpenYida 约束 PRD 只写业务语义,不写 formUuid/fieldId;Schema ID 写入 .cache/<项目名>-schema.json

前置依赖

  • Node.js ≥ 16
  • 已登录宜搭(.cache/cookies.json 存在且有效),用于调用 AI 接口

注意事项

  1. 闪记质量影响 PRD 质量:如果闪记内容过于碎片化或口语化严重,生成的 PRD 可能需要用户手动补充完善
  2. 长文本分段处理:闪记内容超过 6000 字时,建议分段提取后合并,避免超出 AI 模型 token 限制
  3. 待确认事项必须处理:PRD 中的"待确认事项"需要用户逐一确认后,才能进入开发阶段
  4. PRD 不记录技术 ID:PRD 文档只记录业务语义信息(字段名、类型、说明),formUuidfieldId 等技术 ID 写入 .cache/ 临时文件
  5. 支持迭代优化:用户可以对生成的 PRD 提出修改意见,AI 会基于反馈重新调整 PRD 内容
  6. 本技能不读写 memory:生成的 PRD 输出到 prd/<项目名>.md 文件,不依赖跨会话的 memory 状态
Install via CLI
npx skills add https://github.com/openyida/openyida --skill yida-flash-note-to-prd
Repository Details
star Stars 184
call_split Forks 36
navigation Branch main
article Path SKILL.md
More from Creator