feat: P1-8 客户场景章节 + P1-9 pm-ask skill (REQ-20260416-0017) #2

Open
qiudl wants to merge 9 commits from feat/devflow-integration-p1-part1 into feat/devflow-integration-p0
4 changed files with 174 additions and 0 deletions
Showing only changes of commit 79c4e55719 - Show all commits

View File

@@ -23,6 +23,18 @@
], ],
"strict": false "strict": false
}, },
{
"name": "pm-ask-plugin",
"source": "./skills-core/pm-ask-plugin",
"description": "基于真实数据的项目问答 /ask。必须引用 MCP/git 真实数据,禁止编造",
"version": "1.0.0",
"category": "utility",
"keywords": [
"utility",
"tools"
],
"strict": false
},
{ {
"name": "publish-plugin", "name": "publish-plugin",
"source": "./skills-core/publish-plugin", "source": "./skills-core/publish-plugin",

View File

@@ -0,0 +1,8 @@
{
"name": "pm-ask-plugin",
"description": "基于真实数据的项目问答 /ask。必须引用 MCP/git 真实数据,禁止编造",
"version": "1.0.0",
"author": {
"name": "qiudl"
}
}

View File

@@ -0,0 +1,126 @@
---
name: pm-ask
description: 基于 ai-proj MCP + git log 真实数据的项目问答。禁止编造。当用户说"/ask"、"问一下"、"统计一下"、"最近多少"、"谁做了多少"、"本月进度"等项目相关问题时自动激活。
---
# pm-ask Skill — 基于真实数据的项目问答
借鉴自 devflow-claude `/pm:ask`。源自 REQ-20260416-0017 P1-9。
## 核心原则(铁律)
> **必须基于真实数据,禁止编造。**
- 所有数字必须来自 MCP API / git log / 文件系统的**真实查询**
- 必须引用具体 **REQ-XXX / commit-sha / 文件路径**
- 数据不足时**明确说明缺失**,不得"大概"、"估计"
- **区分事实和推测**:推测必须用 `⚠️ 推测:` 前缀
## 适用场景
| 用户问题示例 | 数据源 | 工具 |
|-------------|--------|------|
| "qiudl 最近一个月提交了多少代码?" | git log | `git log --author=qiudl --since='30 days ago'` |
| "本月完成了哪些需求?" | ai-proj MCP | `list_requirements --status=completed` |
| "当前进行中的需求有多少?分别是?" | MCP | `list_requirements --status=in_progress` |
| "REQ-xxx 拆了哪些任务?完成多少?" | MCP | `get_requirement_tasks` |
| "backend/services/user.go 最近谁在改?" | git log | `git log --follow -- file` |
| "和上月对比,产出是多了还是少了?" | git log + MCP | 组合查询 |
| "生成一封客户更新邮件" | MCP + git | 聚合后结构化输出 |
## 工作流
### 1. 意图分析(确定数据源)
关键词 → 数据源映射:
| 关键词 | 数据源 |
|--------|--------|
| 需求 / REQ / 需求状态 | ai-proj MCP `list_requirements` / `find_requirement` |
| 任务 / todo / 待办 | MCP `list_tasks` / `find_task` |
| 提交 / commit / 代码量 / 贡献 | `git log` |
| 文件修改 / 变更 | `git log --follow` / `git blame` |
| 进度 / 完成率 | MCP `get_project_stats` / `get_requirement_statistics` |
| 周报 / 月报 | 组合MCP + git log + 时间范围过滤 |
| 风险 / 停滞 / 延期 | MCP + 时间戳分析 |
### 2. 执行查询
**查询前必须声明**
```
📊 正在查询数据源:
- ai-proj MCP: list_requirements (status=in_progress)
- git log: --author=qiudl --since='2026-04-01'
```
### 3. 生成答案(强约束)
**结构**
```
## 直接答案
<一句话结论,附数字>
## 数据来源
- <查询语句 1> → <结果摘要>
- <查询语句 2> → <结果摘要>
## 细节
<表格 / 列表,每条必有 REQ-XXX 或 commit-sha>
## ⚠️ 数据缺失(如有)
<说明哪些数据无法获取>
```
### 4. 禁止事项
**不允许的答案:**
- "大概 XX 个左右"(必须精确数字或说明"无法精确统计"
- "主要在做 XX"(必须列具体 REQ
- "应该是 XX"(推测必须 `⚠️ 推测:` 标记)
- "最近进度不错"(必须数据支持)
**违反时自我纠正**:如果生成答案时发现缺少真实数据引用,重新查询,不要猜测。
## 输出适配
根据问题类型自动切换输出格式:
| 问题类型 | 输出格式 |
|---------|---------|
| 数量统计 | 数字 + 列表 |
| 对比分析 | 表格 |
| 进度追踪 | 进度条 / 完成率 |
| 历史回顾 | 时间线 |
| 生成文档(邮件/报告) | 完整结构化文本 |
## 与其他 skill 的关系
| 相关 skill | 分工 |
|-----------|------|
| `ai-proj` | 执行 MCP 调用(本 skill 的底层) |
| `req-workflow` | 需求生命周期管理(本 skill 只读查询) |
| `dev-review` | 代码评审(本 skill 提供评审背景数据) |
## 受众适配(借鉴自 devflow report-generator
生成报告时按受众调整:
| 受众 | 侧重 | 禁用 |
|------|------|------|
| 高层 | 交付物、里程碑、风险 | 技术细节 |
| 客户 | 功能价值、上线时间 | 内部术语 |
| 内部团队 | 技术细节、Blocker | - |
| 新人 | 背景上下文、术语表 | 假设已知 |
## Memory 使用规则
本 skill **仅基于当前数据查询**生成答案。memory 可用于:
- 记住用户偏好的输出格式(如"喜欢表格不喜欢列表"
- 记住常用的过滤条件(如"默认看 qiudl 的提交"
**禁止**:用 memory 里的历史数据"缓存"事实类答案(这会导致过时数据)。每次问都要重新查。
## 参考
- devflow-claude: `plugins/pm/commands/ask.md`
- REQ-20260416-0017 P1-9

View File

@@ -18,6 +18,20 @@ description: 产品设计与需求管理。用于 PRD 文档编写、需求分
- `req-compare` — 对比式 PRD 编写(系统平移/竞品借鉴时激活) - `req-compare` — 对比式 PRD 编写(系统平移/竞品借鉴时激活)
- `req-prototype` — UI 原型生成 - `req-prototype` — UI 原型生成
## 客户原话原则REQ-20260416-0017 P1-8
**编写 PRD 时必须包含「客户原始诉求」章节(模板 1.4),保留客户/业务方原话,不做 AI 加工。**
**为什么**
- 产品经理转述会失真(借鉴自 devflow-claude 的"客户场景"设计)
- 后续争议追溯时有据可查
- 团队成员看到原话能建立同理心
**填写规范**
- 原话用 Markdown `> 引用块` 包裹,区分于 AI 加工内容
- 标注提出人、时间、出处(会议/邮件/聊天)
- 特殊约束(时间/合规/预算)必须保留
--- ---
## 对比式 PRD 编写 ## 对比式 PRD 编写
@@ -50,6 +64,20 @@ description: 产品设计与需求管理。用于 PRD 文档编写、需求分
|------|--------|--------|----------| |------|--------|--------|----------|
| ... | ... | ... | ... | | ... | ... | ... | ... |
### 1.4 客户原始诉求 ⭐ 强制保留
> **重要**:记录客户/业务方提出需求时的**原始描述****不做 AI 加工、不总结、不转述**。
> 保留原话是为了后续溯源"我们当初为什么做这个"有据可查,避免产品经理转述失真。
- **场景1**提出人xxx / 时间yyyy-mm-dd
> "原始描述引用..."
- **场景2**
> "原始描述引用..."
**补充信息**(可选):
- 会议/邮件/聊天记录链接
- 客户特殊约束(如"必须在 Q2 前上线"
## 2. 用户分析 ## 2. 用户分析
### 2.1 目标用户 ### 2.1 目标用户
[用户画像描述] [用户画像描述]