--- 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