Files
ai-proj-helper/skills-core/pm-risk-plugin/skills/SKILL.md
John Qiu e5805cbb51 feat: P1-10/12/13/14 风险扫描 + 粒度判断 + Issue 集成 + PRD 校验 (REQ-20260416-0017)
P1-10: pm-risk skill — 三维度风险扫描
  需求层: 停滞/草稿滞留/开发无提交/测试超期/批准未开发
  代码层: 未合并分支/频繁修复文件/提交频率下降
  流程层: 跳过评审/PR 无 review/测试门禁跳过/直接推 main
  三级风险: 🔴 严重 / 🟡 警告 / 🔵 提示

P1-12: req-prd 需求粒度 AI 判断
  创建前启发式检查:标题过宽建议拆分、过窄建议合并或改 task
  粒度参考表 + 已有需求扩展决策表 + 前后端拆分规则

P1-13: dev-commit issue 集成规范
  分支名 -iN 后缀传递 issue 编号
  commit message 自动追加 closes #N

P1-14: hooks/validate-prd.sh — PRD 章节校验
  PostToolUse hook 自动检查 10 个必需章节
  缺失时给出明确提示

marketplace: 48 → 49 plugins (新增 pm-risk-plugin)
2026-04-19 13:33:26 +09:30

4.4 KiB
Raw Blame History

name, description
name description
pm-risk 三维度项目风险扫描(需求层/代码层/流程层)。当用户说"/risk"、"风险扫描"、"有什么风险"、"哪些需求停滞了"、"分支健康"时自动激活。

pm-risk Skill — 三维度风险扫描

借鉴自 devflow-claude /pm:risk。源自 REQ-20260416-0017 P1-10。

命令

/risk [--save]
  • 不加参数:扫描并展示报告
  • --save:保存到思源笔记

扫描维度

维度 1: 需求层

通过 ai-proj MCP 查询需求状态:

检测项 数据源 严重 警告 提示
需求停滞 list_requirements + updated_at >14 天无更新 >7 天无更新 >3 天无更新
草稿滞留 list_requirements --status=draft >30 天 >14 天 >7 天
开发中无提交 需求关联分支 + git log >7 天无 commit >3 天 -
测试中超期 list_requirements --delivery_stage=testing >14 天 >7 天 -
已批准未开发 list_requirements --status=approved >30 天 >14 天 -

查询方式

mcp__ai-proj__list_requirements(status=in_progress)
→ 遍历每个需求的 updated_at计算距今天数

维度 2: 代码层

通过 git 命令分析:

检测项 命令 严重 警告
未合并分支过久 git branch -r --no-merged origin/develop + git log -1 >14 天无 commit >7 天
频繁修复文件 git log --diff-filter=M --name-only 近 30 天 同文件 >5 次 fix commit >3 次
提交频率下降 本周 vs 上周 commit 数 下降 >70% 下降 >50%
大文件提交 git log --diff-filter=A --name-only >10MB 文件 >5MB

查询方式

# 未合并分支
git for-each-ref --sort=-committerdate --format='%(refname:short) %(committerdate:short)' refs/remotes/origin/ | grep -v 'main\|develop\|HEAD'

# 频繁修复
git log --since='30 days ago' --grep='fix' --diff-filter=M --name-only --pretty=format:'' | sort | uniq -c | sort -rn | head -10

# 提交频率
THIS_WEEK=$(git log --since='7 days ago' --oneline | wc -l)
LAST_WEEK=$(git log --since='14 days ago' --until='7 days ago' --oneline | wc -l)

维度 3: 流程层

通过 MCP + git 交叉分析:

检测项 检测方法 级别
跳过评审直接开发 需求 status 从 draft 直接跳到 in_progress没有 approved 记录) 警告
PR 无评审直接合并 Gitea API 查 PR 无 review approve 就 merge 警告
测试门禁跳过 delivery_stage 从 dev 跳到 released没有 testing 严重
直接推 main git log --first-parent origin/main 非 merge commit 严重

风险级别定义

级别 图标 含义 响应
严重 🔴 立即关注 当天处理
警告 🟡 近期需处理 3 天内处理
提示 🔵 值得留意 下次迭代关注

输出模板

# 🔍 风险扫描报告

**扫描时间**: YYYY-MM-DD HH:MM CST
**扫描范围**: 项目 ai-proj

## 概览

| 维度 | 🔴 严重 | 🟡 警告 | 🔵 提示 |
|------|---------|---------|---------|
| 需求层 | X | X | X |
| 代码层 | X | X | X |
| 流程层 | X | X | X |

## 🔴 严重风险

### [S1] REQ-20260410-0001 停滞 18 天
- **需求**: REQ-20260410-0001 用户积分管理
- **状态**: in_progress
- **最后更新**: 2026-04-01
- **建议**: 联系负责人确认是否阻塞,必要时降级或暂停

### [S2] ...

## 🟡 警告

### [W1] 分支 feat/xxx 14 天未合并
- **分支**: feat/old-feature
- **最后 commit**: 2026-04-05
- **建议**: 确认是否放弃,清理或合并

## 🔵 提示

...

## ✅ 一切正常的维度

- (无严重/警告时显示此段)

---

**下次扫描建议**: 每周一早会前执行 `/risk`

无风险时的输出

✅ 风险扫描完成 — 一切正常

扫描了 X 个需求、Y 个分支、Z 条提交,未发现风险项。

下次扫描建议:下周一

定期执行建议

  • 手动:每周一早会前 /risk
  • 自动:可配合 /loop 7d /risk --save 定期扫描并保存到思源笔记

与其他 skill 的关系

skill 协作
pm-ask risk 发现问题后,用 /ask 深入分析
req-workflow risk 发现流程违规后,用 /req 修正
ai-proj 底层 MCP 数据查询

参考

  • devflow-claude: plugins/pm/commands/risk.md
  • REQ-20260416-0017 P1-10