@zhouhao4221/devflow-skills 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +57 -235
  2. package/install.js +406 -116
  3. package/package.json +2 -1
  4. package/plugins/api/skills/api/SKILL.md +102 -0
  5. package/plugins/api/skills/api-field-mapper/SKILL.md +95 -0
  6. package/plugins/api/skills/config/SKILL.md +140 -0
  7. package/plugins/api/skills/gen/SKILL.md +345 -0
  8. package/plugins/api/skills/help/SKILL.md +121 -0
  9. package/plugins/api/skills/import/SKILL.md +95 -0
  10. package/plugins/api/skills/map/SKILL.md +152 -0
  11. package/plugins/api/skills/search/SKILL.md +95 -0
  12. package/plugins/diag/skills/audit/SKILL.md +103 -0
  13. package/plugins/diag/skills/diag/SKILL.md +41 -0
  14. package/plugins/diag/skills/diagnose/SKILL.md +167 -0
  15. package/plugins/diag/skills/init/SKILL.md +142 -0
  16. package/plugins/diag/skills/stack-analyzer/SKILL.md +150 -0
  17. package/plugins/pm/skills/ask/SKILL.md +89 -0
  18. package/plugins/pm/skills/brief/SKILL.md +95 -0
  19. package/plugins/pm/skills/export/SKILL.md +93 -0
  20. package/plugins/pm/skills/help/SKILL.md +257 -0
  21. package/plugins/pm/skills/milestone/SKILL.md +102 -0
  22. package/plugins/pm/skills/monthly/SKILL.md +111 -0
  23. package/plugins/pm/skills/plan/SKILL.md +96 -0
  24. package/plugins/pm/skills/pm/SKILL.md +174 -0
  25. package/plugins/pm/skills/progress/SKILL.md +113 -0
  26. package/plugins/pm/skills/report-generator/SKILL.md +104 -0
  27. package/plugins/pm/skills/risk/SKILL.md +223 -0
  28. package/plugins/pm/skills/standup/SKILL.md +96 -0
  29. package/plugins/pm/skills/stats/SKILL.md +158 -0
  30. package/plugins/pm/skills/weekly/SKILL.md +157 -0
  31. package/plugins/req/skills/branch/SKILL.md +447 -0
  32. package/plugins/req/skills/cache/SKILL.md +232 -0
  33. package/plugins/req/skills/changelog/SKILL.md +187 -0
  34. package/plugins/req/skills/changelog-generator/SKILL.md +106 -0
  35. package/plugins/req/skills/code-impact-analyzer/SKILL.md +48 -0
  36. package/plugins/req/skills/commit/SKILL.md +308 -0
  37. package/plugins/req/skills/dev/SKILL.md +229 -0
  38. package/plugins/req/skills/dev-guide/SKILL.md +530 -0
  39. package/plugins/req/skills/do/SKILL.md +191 -0
  40. package/plugins/req/skills/done/SKILL.md +95 -0
  41. package/plugins/req/skills/edit/SKILL.md +187 -0
  42. package/plugins/req/skills/fix/SKILL.md +300 -0
  43. package/plugins/req/skills/help/SKILL.md +136 -0
  44. package/plugins/req/skills/init/SKILL.md +505 -0
  45. package/plugins/req/skills/issue/SKILL.md +237 -0
  46. package/plugins/req/skills/issue-guide/SKILL.md +125 -0
  47. package/plugins/req/skills/migrate/SKILL.md +128 -0
  48. package/plugins/req/skills/modules/SKILL.md +195 -0
  49. package/plugins/req/skills/natural-language-dispatcher/SKILL.md +545 -0
  50. package/plugins/req/skills/new/SKILL.md +172 -0
  51. package/plugins/req/skills/new-quick/SKILL.md +246 -0
  52. package/plugins/req/skills/pr/SKILL.md +157 -0
  53. package/plugins/req/skills/prd/SKILL.md +187 -0
  54. package/plugins/req/skills/prd-analyzer/SKILL.md +131 -0
  55. package/plugins/req/skills/prd-edit/SKILL.md +201 -0
  56. package/plugins/req/skills/projects/SKILL.md +115 -0
  57. package/plugins/req/skills/quick-fix-guide/SKILL.md +51 -0
  58. package/plugins/req/skills/release/SKILL.md +300 -0
  59. package/plugins/req/skills/release-rationale/SKILL.md +213 -0
  60. package/plugins/req/skills/req/SKILL.md +173 -0
  61. package/plugins/req/skills/requirement-analyzer/SKILL.md +274 -0
  62. package/plugins/req/skills/review/SKILL.md +201 -0
  63. package/plugins/req/skills/review-pr/SKILL.md +699 -0
  64. package/plugins/req/skills/show/SKILL.md +302 -0
  65. package/plugins/req/skills/specs/SKILL.md +99 -0
  66. package/plugins/req/skills/split/SKILL.md +164 -0
  67. package/plugins/req/skills/status/SKILL.md +184 -0
  68. package/plugins/req/skills/test/SKILL.md +431 -0
  69. package/plugins/req/skills/test-guide/SKILL.md +304 -0
  70. package/plugins/req/skills/test_new/SKILL.md +417 -0
  71. package/plugins/req/skills/test_regression/SKILL.md +298 -0
  72. package/plugins/req/skills/update/SKILL.md +131 -0
  73. package/plugins/req/skills/update-template/SKILL.md +203 -0
  74. package/plugins/req/skills/upgrade/SKILL.md +178 -0
  75. package/plugins/req/skills/use/SKILL.md +158 -0
  76. package/plugins/req/skills/version-bumper/SKILL.md +113 -0
  77. package/plugins/uat/skills/bug/SKILL.md +153 -0
  78. package/plugins/uat/skills/init/SKILL.md +88 -0
  79. package/plugins/uat/skills/new/SKILL.md +131 -0
  80. package/plugins/uat/skills/report/SKILL.md +48 -0
  81. package/plugins/uat/skills/run/SKILL.md +78 -0
  82. package/plugins/uat/skills/uat/SKILL.md +64 -0
  83. package/plugins/uat/skills/uat-executor/SKILL.md +299 -0
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: pm
3
+ description: |
4
+ 项目管理助手 - 项目概况仪表盘和子命令入口
5
+ ---
6
+
7
+ # 项目管理助手
8
+
9
+ > **Audience:** Product Manager
10
+
11
+ 项目管理主入口,展示项目概况仪表盘,或路由到子命令。
12
+
13
+ ## 命令格式
14
+
15
+ ```
16
+ /pm [子命令] [参数]
17
+ ```
18
+
19
+ ## 子命令
20
+
21
+ | 子命令 | 说明 | 示例 |
22
+ |-------|------|------|
23
+ | (空) | 项目概况仪表盘 | `/pm` |
24
+ | `weekly` | 周报 | `/pm:weekly` |
25
+ | `monthly` | 月报 | `/pm:monthly` |
26
+ | `milestone` | 里程碑总结 | `/pm:milestone v1.6.0` |
27
+ | `stats` | 项目数据统计 | `/pm:stats` |
28
+ | `progress` | 项目总进度 | `/pm:progress` |
29
+ | `plan` | 生成方案文档 | `/pm:plan 排期方案` |
30
+ | `risk` | 风险扫描 | `/pm:risk` |
31
+ | `brief` | 项目简介 | `/pm:brief --lang=en` |
32
+ | `standup` | 站会摘要 | `/pm:standup` |
33
+ | `ask` | 自由提问 | `/pm:ask 还有几个需求没完成?` |
34
+ | `export` | 导出上次内容 | `/pm:export --format=md` |
35
+ | `help` | 使用帮助 | `/pm:help` |
36
+
37
+ ---
38
+
39
+ ## 执行流程(仪表盘模式)
40
+
41
+ 当不带子命令执行 `/pm` 时,展示项目概况仪表盘。
42
+
43
+ ### 1. 解析需求数据路径
44
+
45
+ 参考 `_common.md` 的路径解析规则。
46
+
47
+ ### 2. 采集数据
48
+
49
+ 并行采集以下数据:
50
+
51
+ ```python
52
+ # 需求数据
53
+ reqs = collect_requirements()
54
+
55
+ # PRD 数据
56
+ prd = collect_prd()
57
+
58
+ # Git 数据(最近 30 天)
59
+ git = collect_git_stats(from_date=thirty_days_ago)
60
+
61
+ # 模块数据
62
+ modules = collect_modules()
63
+
64
+ # 插件版本
65
+ version = read_plugin_json("version") # <plugin-path>/.claude-plugin/plugin.json
66
+ ```
67
+
68
+ ### 3. 计算统计指标
69
+
70
+ ```python
71
+ # 需求统计
72
+ active_reqs = [r for r in reqs if not r["is_completed"]]
73
+ completed_reqs = [r for r in reqs if r["is_completed"]]
74
+
75
+ # 按状态分组
76
+ status_groups = group_by(active_reqs, "status")
77
+
78
+ # 完成率
79
+ total = len(reqs)
80
+ done = len(completed_reqs)
81
+ completion_rate = f"{done}/{total}" if total > 0 else "暂无需求"
82
+
83
+ # 本周完成
84
+ this_week_done = [r for r in completed_reqs
85
+ if r["updated"] >= this_monday()]
86
+
87
+ # 风险项:超过 7 天未更新的活跃需求
88
+ stale_reqs = [r for r in active_reqs
89
+ if days_since(r["updated"]) > 7]
90
+ ```
91
+
92
+ ### 4. 展示仪表盘
93
+
94
+ ```
95
+
96
+ 项目管理助手 v<version>
97
+
98
+ 项目:<project> (<role>) | 日期:YYYY-MM-DD
99
+
100
+
101
+ **项目概览**
102
+ 需求总数:XX 个(活跃 XX / 已完成 XX)
103
+ 完成率:XX%
104
+ 本周完成:X 个
105
+ PRD 完善度:X/X 章节
106
+
107
+ **需求状态分布**
108
+ 草稿:X 个
109
+ 待评审:X 个
110
+ 评审通过:X 个
111
+ 开发中:X 个
112
+ 测试中:X 个
113
+ 已完成:X 个(总计)
114
+
115
+ **近 30 天代码活动**
116
+ 提交次数:XX
117
+ 代码变更:+XXX / -XXX 行
118
+ 活跃分支:XX 个
119
+ 贡献者:XX 人
120
+
121
+ 关注项
122
+ **严重** 超过 7 天未更新:REQ-XXX <标题>
123
+ **警告** 阻塞中:REQ-XXX <标题>(原因)
124
+ **提示** 即将完成:REQ-XXX <标题>(测试中)
125
+
126
+ **模块概览**
127
+ 用户模块:X 个需求(X 活跃)
128
+ 订单模块:X 个需求(X 活跃)
129
+ 支付模块:X 个需求(X 活跃)
130
+
131
+
132
+
133
+ **可用命令:**
134
+ - /pm:weekly 生成本周周报
135
+ - /pm:stats 查看详细统计
136
+ - /pm:risk 风险扫描
137
+ - /pm:progress 项目总进度
138
+ - /pm:ask <问题> 自由提问
139
+ - /pm:help 查看所有命令
140
+ ```
141
+
142
+ ### 5. 无数据时的提示
143
+
144
+ ```
145
+
146
+ 项目管理助手 v<version>
147
+
148
+
149
+ 未检测到需求数据
150
+
151
+ 可能原因:
152
+ 1. 尚未初始化需求项目 → /req:init <project-name>
153
+ 2. 尚未创建任何需求 → /req:new <标题>
154
+ 3. 未绑定需求项目 → /req:use <project-name>
155
+
156
+ Git 仓库数据仍可使用:
157
+ - /pm:stats 查看 Git 统计
158
+ - /pm:ask 自由提问
159
+ ```
160
+
161
+ ---
162
+
163
+ ## 边界情况处理
164
+
165
+ | 场景 | 处理方式 |
166
+ |------|---------|
167
+ | 无需求数据但有 Git 记录 | 仅展示 Git 相关指标,需求部分提示未初始化 |
168
+ | 无 PRD | PRD 完善度显示「未创建」 |
169
+ | readonly 仓库 | 从缓存读取数据,标注数据来源 |
170
+ | 无 Git 仓库 | 跳过 Git 相关指标 |
171
+
172
+ ## 用户输入
173
+
174
+ $ARGUMENTS
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: progress
3
+ description: |
4
+ 项目总进度 - 全局视角展示需求进度和里程碑
5
+ ---
6
+
7
+ # 项目总进度
8
+
9
+ > **Audience:** Product Manager
10
+
11
+ 从全局视角展示所有需求的进度、里程碑节点和交付时间线。适合给上级看项目全貌。
12
+
13
+ ## 命令格式
14
+
15
+ ```
16
+ /pm:progress [--save]
17
+ ```
18
+
19
+ ---
20
+
21
+ ## 执行流程
22
+
23
+ ### 1. 采集数据
24
+
25
+ ```python
26
+ reqs = collect_requirements()
27
+ prd = collect_prd()
28
+ modules = collect_modules()
29
+ git_tags = git_tags() # 版本里程碑
30
+ ```
31
+
32
+ ### 2. 生成进度视图
33
+
34
+ 按以下维度组织:
35
+
36
+ **2.1 总体进度**
37
+ - 需求完成率(已完成/总数)
38
+ - PRD 完善度
39
+ - 版本发布历史(Tag 列表)
40
+
41
+ **2.2 按模块进度**
42
+ - 每个模块下的需求及其状态
43
+ - 模块完成度百分比
44
+
45
+ **2.3 需求时间线**
46
+ - 按创建时间排列所有需求
47
+ - 标注每个需求的当前状态和关键日期
48
+ - 标注里程碑 Tag 的位置
49
+
50
+ **2.4 甘特视图(文字版)**
51
+
52
+ ```
53
+ 需求时间线
54
+
55
+ REQ-001 用户积分 80% 开发中
56
+ REQ-002 积分前端 50% 开发中
57
+ REQ-003 订单导出 100% 已完成
58
+ REQ-004 消息通知 30% 测试中
59
+ REQ-005 支付对账 0% 草稿
60
+
61
+ 整体进度:3/5 完成(60%)
62
+ ```
63
+
64
+ ### 3. 输出格式
65
+
66
+ ```
67
+
68
+ 项目总进度
69
+
70
+ 项目:<project> (<role>) | 日期:YYYY-MM-DD
71
+
72
+
73
+ **总体进度**
74
+ 需求完成率:X/X(XX%)
75
+ PRD 完善度:X/X 章节
76
+ 最新版本:vX.X.X(YYYY-MM-DD)
77
+ 版本数量:X 个
78
+
79
+ **按模块进度**
80
+ 用户模块(X/X 完成,70%)
81
+ [完成] REQ-001 用户积分-后端
82
+ [开发中] REQ-002 用户积分-前端(60%)
83
+ [草稿] REQ-005 用户等级
84
+ 订单模块(X/X 完成,100%)
85
+ [完成] REQ-003 订单导出
86
+ 支付模块(X/X 完成,10%)
87
+ [草稿] REQ-006 支付对账
88
+
89
+ **需求时间线**
90
+ (甘特视图,见上方格式)
91
+
92
+ **版本里程碑**
93
+ v1.0.0(2026-01-15)- 首个版本
94
+ v1.2.0(2026-02-20)- 订单模块
95
+ v1.6.0(2026-03-18)- 积分系统
96
+
97
+
98
+
99
+ **相关命令:**
100
+ - /pm:risk 风险扫描
101
+ - /pm:milestone <版本> 版本总结
102
+ - /pm:stats 详细统计
103
+ ```
104
+
105
+ ### 4. 提供保存选项
106
+
107
+ ```python
108
+ offer_save(content, f"docs/reports/progress/{today}.md")
109
+ ```
110
+
111
+ ## 用户输入
112
+
113
+ $ARGUMENTS
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: report-generator
3
+ description: |
4
+ 项目汇报生成助手。在执行 /pm:weekly、/pm:monthly、/pm:milestone、/pm:progress、
5
+ /pm:brief、/pm:standup 等生成类命令时触发。
6
+ 负责将原始数据整合为结构化、可读性强的汇报文档。
7
+ ---
8
+
9
+ # 项目汇报生成助手
10
+
11
+ ## 触发条件
12
+
13
+ 当执行以下 pm 插件命令时自动激活:
14
+ - `/pm:weekly` - 周报
15
+ - `/pm:monthly` - 月报
16
+ - `/pm:milestone` - 里程碑报告
17
+ - `/pm:progress` - 项目进度
18
+ - `/pm:brief` - 项目简介
19
+ - `/pm:standup` - 站会摘要
20
+ - `/pm:plan` - 方案文档
21
+ - `/pm:risk` - 风险报告
22
+
23
+ ## 核心职责
24
+
25
+ 将数据采集层提供的原始数据(需求列表、Git 统计、模块信息)整合为面向特定受众的结构化文档。
26
+
27
+ ## 工作流程
28
+
29
+ ### 1. 接收原始数据
30
+
31
+ 从命令执行流程中获取已采集的数据:
32
+ - 需求元信息列表(状态、进度、日期)
33
+ - Git 统计(提交数、变更量、贡献者)
34
+ - PRD 信息(愿景、功能规划)
35
+ - 模块信息(模块列表、需求分布)
36
+
37
+ ### 2. 数据整合分析
38
+
39
+ **智能推导**:
40
+ - 从需求状态变化推导「本周完成」和「进行中」
41
+ - 从 Git 提交频率推导「工作量分布」
42
+ - 从需求更新时间推导「风险项」(超 7 天未更新)
43
+ - 从 completed/ 时间线推导「交付节奏」
44
+ - 从提交消息中的 REQ-XXX 关联需求与代码变更
45
+
46
+ **受众适配**:
47
+
48
+ | 受众 | 语言风格 | 侧重点 |
49
+ |------|---------|--------|
50
+ | 上级/PMO | 业务语言,避免技术术语 | 交付成果、进度、风险 |
51
+ | 客户 | 正式商务风格 | 功能交付、价值体现 |
52
+ | 团队内部 | 技术语言,简洁直接 | 技术细节、阻塞点 |
53
+ | 新人/外部 | 通俗易懂,有背景介绍 | 项目全貌、技术栈 |
54
+
55
+ ### 3. 内容生成原则
56
+
57
+ 1. **数据驱动**:每个结论必须有数据支撑,不凭空描述
58
+ 2. **突出业务价值**:描述「完成了用户积分兑换功能」而非「修改了 12 个文件」
59
+ 3. **风险透明**:不隐藏问题,明确标注阻塞项和延期风险
60
+ 4. **简洁有力**:避免冗长叙述,用表格和列表提升可读性
61
+ 5. **可操作性**:风险和计划部分给出明确的行动建议
62
+
63
+ ### 4. 格式规范
64
+
65
+ **禁止使用 emoji**:所有输出不使用任何 emoji 图标,便于导出为 Word、PDF 等文档格式。
66
+ 使用加粗文字替代图标来标记重点和分类。
67
+
68
+ #### 标题栏
69
+ ```
70
+ ═══════════════════════════════════════════════
71
+ <文档标题>
72
+ ═══════════════════════════════════════════════
73
+ 项目:<project> | 周期/日期:<range>
74
+ ───────────────────────────────────────────────
75
+ ```
76
+
77
+ #### 数据展示
78
+ - 进度:用百分比展示(如 `60%`),不使用进度条字符
79
+ - 状态标记:**完成** / **进行中** / **风险** / **阻塞**(纯文字加粗,不用 emoji)
80
+ - 风险级别:**严重** / **警告** / **提示**(纯文字加粗)
81
+ - 表格:结构化数据用 Markdown 表格
82
+ - 树形:层级关系用 `├──` `└──`
83
+ - 强调:用 `**加粗**` 标记分类标题和重点内容
84
+
85
+ #### 尾部
86
+ ```
87
+ ═══════════════════════════════════════════════
88
+ *由 /pm:<command> 自动生成 · YYYY-MM-DD*
89
+ ```
90
+
91
+ ### 5. 保存建议
92
+
93
+ 生成内容后,根据命令类型建议保存路径:
94
+
95
+ | 命令 | 建议路径 |
96
+ |------|---------|
97
+ | weekly | `docs/reports/weekly/YYYY-MM-DD.md` |
98
+ | monthly | `docs/reports/monthly/YYYY-MM.md` |
99
+ | milestone | `docs/reports/milestone/<version>.md` |
100
+ | progress | `docs/reports/progress/YYYY-MM-DD.md` |
101
+ | plan | `docs/reports/plans/<主题>.md` |
102
+ | risk | `docs/reports/risk/YYYY-MM-DD.md` |
103
+ | brief | `docs/reports/brief.md` |
104
+ | standup | 通常不保存(临时内容) |
@@ -0,0 +1,223 @@
1
+ ---
2
+ name: risk
3
+ description: |
4
+ 风险扫描 - 自动检测项目中的延期、阻塞和异常情况
5
+ ---
6
+
7
+ # 风险扫描
8
+
9
+ > **Audience:** Product Manager
10
+
11
+ 自动扫描项目数据,识别延期需求、长期未更新分支、异常提交模式等风险信号。
12
+
13
+ ## 命令格式
14
+
15
+ ```
16
+ /pm:risk [--save]
17
+ ```
18
+
19
+ ---
20
+
21
+ ## 执行流程
22
+
23
+ ### 1. 采集数据
24
+
25
+ ```python
26
+ reqs = collect_requirements()
27
+ git = collect_git_stats(from_date=thirty_days_ago)
28
+ ```
29
+
30
+ ### 2. 风险检测规则
31
+
32
+ #### 2.1 需求层面
33
+
34
+ ```python
35
+ risks = []
36
+
37
+ for req in active_reqs:
38
+ days_inactive = days_since(req["updated"])
39
+
40
+ # 严重:超过 14 天未更新
41
+ if days_inactive > 14:
42
+ risks.append({
43
+ "level": "critical",
44
+ "type": "stale",
45
+ "req": req["id"],
46
+ "title": req["title"],
47
+ "detail": f"已 {days_inactive} 天未更新,状态停留在 {req['status']}",
48
+ })
49
+
50
+ # 警告:超过 7 天未更新
51
+ elif days_inactive > 7:
52
+ risks.append({
53
+ "level": "warning",
54
+ "type": "slow",
55
+ "req": req["id"],
56
+ "title": req["title"],
57
+ "detail": f"已 {days_inactive} 天未更新",
58
+ })
59
+
60
+ # 警告:草稿超过 5 天未进入评审
61
+ if req["status"] == "草稿" and days_since(req["created"]) > 5:
62
+ risks.append({
63
+ "level": "warning",
64
+ "type": "draft_stuck",
65
+ "req": req["id"],
66
+ "title": req["title"],
67
+ "detail": f"草稿已创建 {days_since(req['created'])} 天,建议尽快评审",
68
+ })
69
+
70
+ # 严重:开发中但功能进度为 0
71
+ if req["status"] == "开发中" and req["progress"] == "0/X":
72
+ risks.append({
73
+ "level": "critical",
74
+ "type": "no_progress",
75
+ "req": req["id"],
76
+ "title": req["title"],
77
+ "detail": "状态为开发中但功能进度为 0,可能被阻塞",
78
+ })
79
+ ```
80
+
81
+ #### 2.2 代码层面
82
+
83
+ ```python
84
+ # 警告:长期未合并的分支(超过 14 天)
85
+ for branch in git["active_branches"]:
86
+ if branch.last_commit_days > 14 and not branch.is_merged:
87
+ risks.append({
88
+ "level": "warning",
89
+ "type": "stale_branch",
90
+ "detail": f"分支 {branch.name} 已 {branch.last_commit_days} 天无提交",
91
+ })
92
+
93
+ # 警告:频繁修复同一文件(7 天内修复超过 3 次)
94
+ hot_fix_files = find_frequently_fixed_files(days=7, threshold=3)
95
+ for file in hot_fix_files:
96
+ risks.append({
97
+ "level": "warning",
98
+ "type": "hot_file",
99
+ "detail": f"{file.path} 近 7 天有 {file.fix_count} 次修复提交",
100
+ })
101
+
102
+ # 提示:提交频率异常下降
103
+ if git["this_week_commits"] < git["avg_weekly_commits"] * 0.3:
104
+ risks.append({
105
+ "level": "info",
106
+ "type": "low_activity",
107
+ "detail": f"本周提交 {git['this_week_commits']} 次,低于平均 {git['avg_weekly_commits']} 次",
108
+ })
109
+ ```
110
+
111
+ #### 2.3 流程层面
112
+
113
+ ```python
114
+ # 警告:有需求跳过评审直接开发
115
+ for req in reqs:
116
+ if req["type"].startswith("REQ") and req["status"] == "开发中":
117
+ if not has_review_record(req):
118
+ risks.append({
119
+ "level": "warning",
120
+ "type": "skip_review",
121
+ "req": req["id"],
122
+ "detail": "未找到评审记录,可能跳过了评审环节",
123
+ })
124
+ ```
125
+
126
+ ### 3. 输出风险报告
127
+
128
+ ```
129
+
130
+ 项目风险扫描
131
+
132
+ 项目:<project> | 扫描日期:YYYY-MM-DD
133
+
134
+
135
+ **风险概览**
136
+ **严重**:X 项
137
+ **警告**:X 项
138
+ **提示**:X 项
139
+ 总计:X 项风险
140
+
141
+
142
+
143
+ **严重**
144
+
145
+ 1. REQ-003 订单导出 — 停滞 18 天
146
+ 状态:开发中(功能进度 2/6)
147
+ 最后更新:2026-03-08
148
+ 建议:确认是否被阻塞,考虑拆分或重新排期
149
+
150
+ 2. REQ-007 消息通知 — 开发中无进度
151
+ 状态:开发中(功能进度 0/5)
152
+ 进入开发:2026-03-20
153
+ 建议:确认是否遇到技术障碍
154
+
155
+
156
+
157
+ **警告**
158
+
159
+ 3. REQ-008 支付对账 — 草稿滞留 8 天
160
+ 创建日期:2026-03-18
161
+ 建议:尽快安排评审或调整优先级
162
+
163
+ 4. 分支 feat/REQ-003-order-export — 16 天无提交
164
+ 最后提交:2026-03-10
165
+ 建议:确认分支状态,考虑是否需要关闭
166
+
167
+ 5. internal/oms/biz/order_biz.go — 频繁修复
168
+ 近 7 天有 4 次 fix 提交
169
+ 建议:检查该模块是否需要重构
170
+
171
+
172
+
173
+ **提示**
174
+
175
+ 6. 本周提交活动偏低
176
+ 本周提交 5 次,周均 23 次
177
+ 可能原因:节假日、会议集中、需求评审阶段
178
+
179
+
180
+
181
+ **建议操作:**
182
+ - /pm:stats --from=2026-03-01 查看本月详细统计
183
+ - /req:status REQ-003 查看停滞需求详情
184
+ - /pm:weekly 生成周报梳理进展
185
+ ```
186
+
187
+ ### 4. 提供保存选项
188
+
189
+ ```python
190
+ offer_save(content, f"docs/reports/risk/{today}.md")
191
+ ```
192
+
193
+ ---
194
+
195
+ ## 风险级别定义
196
+
197
+ | 级别 | 含义 | 典型场景 |
198
+ |------|------|---------|
199
+ | **严重** | 需要立即关注 | 需求停滞 14+ 天、开发中无进度 |
200
+ | **警告** | 需要近期处理 | 7+ 天未更新、草稿滞留、分支过期 |
201
+ | **提示** | 值得留意 | 活动量下降、代码热点 |
202
+
203
+ ## 无风险时
204
+
205
+ ```
206
+
207
+ 项目风险扫描 -- 一切正常
208
+
209
+ 项目:<project> | 扫描日期:YYYY-MM-DD
210
+
211
+ 未检测到风险项。项目运行健康。
212
+
213
+ **健康指标:**
214
+ 活跃需求均有近期更新
215
+ 无过期分支
216
+ 提交频率正常
217
+ 无频繁修复热点
218
+
219
+ ```
220
+
221
+ ## 用户输入
222
+
223
+ $ARGUMENTS
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: standup
3
+ description: |
4
+ 站会摘要 - 昨天完成、今天计划、阻塞项
5
+ ---
6
+
7
+ # 站会摘要
8
+
9
+ > **Audience:** Product Manager
10
+
11
+ 生成简洁的每日站会汇报内容:昨天做了什么、今天要做什么、有什么阻塞。
12
+
13
+ ## 命令格式
14
+
15
+ ```
16
+ /pm:standup
17
+ ```
18
+
19
+ ---
20
+
21
+ ## 执行流程
22
+
23
+ ### 1. 采集数据
24
+
25
+ ```python
26
+ yesterday = today - timedelta(days=1)
27
+ # 如果昨天是周末,回溯到上周五
28
+ if yesterday.weekday() >= 5:
29
+ yesterday = yesterday - timedelta(days=yesterday.weekday() - 4)
30
+ ```
31
+
32
+ ```bash
33
+ # 昨天的提交
34
+ git log --oneline --no-merges --since='$YESTERDAY' --until='$TODAY'
35
+
36
+ # 昨天变更的需求(通过文件修改时间或 git 记录)
37
+ git log --name-only --no-merges --since='$YESTERDAY' --until='$TODAY' --pretty=format: | \
38
+ grep -E 'requirements/(active|completed)/' | sort -u
39
+ ```
40
+
41
+ ```python
42
+ # 当前进行中的需求
43
+ in_progress = [r for r in reqs if r["status"] in ["开发中", "测试中"]]
44
+
45
+ # 阻塞项
46
+ blocked = [r for r in in_progress if days_since(r["updated"]) > 3]
47
+ ```
48
+
49
+ ### 2. 输出站会摘要
50
+
51
+ ```
52
+
53
+ 站会摘要 · YYYY-MM-DD
54
+
55
+
56
+ **昨日完成:**
57
+ - feat: 完成订单导出模板引擎 (REQ-006)
58
+ - fix: 修复分页查询参数丢失
59
+ - test: 补充积分兑换单元测试
60
+
61
+ **今日计划:**
62
+ - REQ-006 订单导出:实现异步导出队列
63
+ - REQ-007 消息通知:跑回归测试
64
+
65
+ **阻塞/风险:**
66
+ - REQ-006 依赖第三方 SDK 版本确认(等待中)
67
+
68
+
69
+ ```
70
+
71
+ **特点:**
72
+ - 极简风格,不展示统计数据
73
+ - 聚焦行动:做了什么、要做什么、卡在哪
74
+ - 通常不保存(临时内容)
75
+
76
+ ### 3. 无昨日活动时
77
+
78
+ ```
79
+
80
+ 站会摘要 · YYYY-MM-DD
81
+
82
+
83
+ **昨日完成:**
84
+ (无提交记录)
85
+
86
+ **今日计划:**
87
+ - REQ-006 订单导出:继续开发(进度 60%)
88
+
89
+ **阻塞/风险:**
90
+ (无)
91
+
92
+ ```
93
+
94
+ ## 用户输入
95
+
96
+ $ARGUMENTS