Files
ai-proj-helper/skills-core/pm-ask-plugin/skills/SKILL.md
John Qiu 79c4e55719 feat: P1-8 客户场景章节 + P1-9 pm-ask skill (REQ-20260416-0017)
P1-8: req-prd 模板增加 "1.4 客户原始诉求" 章节
  - 强制保留客户原话,不做 AI 加工转述
  - 标注提出人/时间/出处
  - 补充"客户原话原则"说明
  借鉴 devflow-claude requirement-template.md 的"1.3 客户场景"

P1-9: 新 skill pm-ask-plugin
  - 基于 ai-proj MCP + git log 真实数据的项目问答
  - 铁律:禁止编造,必须引用 REQ-XXX/commit-sha/文件路径
  - 数据不足时明确说明缺失
  - 区分事实和推测(⚠️ 推测:前缀)
  - 受众适配(高层/客户/内部/新人)
  借鉴 devflow-claude /pm:ask 命令

marketplace: 47 → 48 plugins
2026-04-16 23:04:54 +09:30

127 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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