@zhanlucode/zl-darwin-arm64 1.5.87028
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.
- package/LICENSE +22 -0
- package/bin/rg +0 -0
- package/bin/tree-sitter/tree-sitter-bash.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-c.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-c_sharp.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-cpp.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-css.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-dart.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-elisp.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-elixir.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-elm.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-embedded_template.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-go.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-html.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-java.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-javascript.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-json.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-kotlin.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-lua.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-objc.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-ocaml.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-php.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-python.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-ql.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-rescript.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-ruby.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-rust.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-scala.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-solidity.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-swift.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-systemrdl.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-tlaplus.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-toml.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-tsx.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-typescript.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-vue.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-yaml.wasm +0 -0
- package/bin/tree-sitter/tree-sitter-zig.wasm +0 -0
- package/bin/tree-sitter/tree-sitter.wasm +0 -0
- package/bin/zhanlu-plugins/bundle-index.json +60 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/.claude-plugin/plugin.json +42 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/README.md +29 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/mcps/sast_fixer_mcp/README.md +10 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-check/SKILL.md +179 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-check/config/gitlab_config.json +5 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-check/prompts/step1_preparation.md +167 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-check/prompts/step2_consistency_check.md +446 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-check/scripts/gitlab_clone.py +213 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-check/scripts/read_excel_requirements.py +144 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/GITLAB_USAGE.md +160 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/QUICK_REFERENCE.md +149 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/README.md +134 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/SKILL.md +151 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/assets/review_standards.md +144 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/prompts/file_review_prompt.md +160 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/prompts/output_requirements.md +35 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/prompts/step1_project_preprocessing.md +106 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/prompts/step2_file_review.md +83 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/prompts/step3_report_generation.md +319 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/code-review/scripts/gitlab_clone.py +213 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/manual-test-case-generator/SKILL.md +366 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/manual-test-case-generator/references/generation-rules.md +214 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/manual-test-case-generator/references/query-rules.md +60 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/manual-test-case-generator/references/review-rules.md +117 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/manual-test-case-generator/references/save-rules.md +367 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/quality_scan/SKILL.md +195 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/requirement-analysis/SKILL.md +346 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/requirement-review/SKILL.md +267 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/requirements-gather/SKILL.md +187 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/sast_scan/SKILL.md +312 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/story-decomposer/SKILL.md +77 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/story-decomposer/evals/evals.json +34 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/story-decomposer/references/epic-to-story-methodology.md +122 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/story-decomposer/references/epic-to-story-template.md +93 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/story-decomposer/references/epic-to-story-to-task-template.md +221 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/story-decomposer/references/story-to-task-methodology.md +139 -0
- package/bin/zhanlu-plugins/lingji-alpha-assistant/skills/story-decomposer/references/story-to-task-template.md +89 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/.claude-plugin/plugin.json +19 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/README.md +21 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/.gitkeep +1 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirement-analysis/SKILL.md +383 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirement-decomposer/SKILL.md +348 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirement-decomposer/references/epic-to-story-methodology.md +122 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirement-decomposer/references/epic-to-story-template.md +93 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirement-decomposer/references/epic-to-story-to-task-template.md +221 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirement-decomposer/references/story-to-task-methodology.md +139 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirement-decomposer/references/story-to-task-template.md +89 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirement-review/SKILL.md +350 -0
- package/bin/zhanlu-plugins/lingji-beta-assistant/skills/beta-requirements-gather/SKILL.md +244 -0
- package/bin/zl +4 -0
- package/package.json +22 -0
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: beta_requirement_review
|
|
3
|
+
description: |
|
|
4
|
+
beta 环境需求审核技能,用于审核 beta 环境(演示/测试环境)中的需求质量并生成审核报告。当用户提到"审核需求""需求审核""帮我审核需求""审核xx项目需求""beta环境审核""演示项目审核""检查需求质量"等表述时触发。即使用户没有明确说"beta",但明确指定演示项目、beta 环境功能验证测试等测试类项目时,也应使用此 skill。与 `requirement-review` 的差异:固定使用 lingji-beta MCP、默认拉取"分析+规划"状态、输出单份汇总报告到 prd/review/ 目录、文件名带 Beta_ 前缀、增加 description 三小节(【需求背景】/【需求价值】/【需求详情】)专项检查、字段基于实际 beta 数据结构调整。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# beta 环境需求审核
|
|
8
|
+
|
|
9
|
+
> 对 beta 环境中的需求进行质量审核:默认审核"分析+规划"状态的需求,按五维度(完整性/清晰性/可测试性/一致性/可行性)+ description 三小节专项检查逐条审核,生成单份汇总审核报告到 `prd/review/` 目录。
|
|
10
|
+
|
|
11
|
+
## 流程
|
|
12
|
+
|
|
13
|
+
**重要:本流程的 7 个步骤是连续执行的,从第 1 步到第 7 步必须依次完成,不要在任意步骤之间停下等待用户输入(第 4 步和第 5 步使用 question 工具与用户交互除外)。特别地,第 1 步身份解析完成后,必须立即继续执行第 2 步及后续步骤,不要停在身份解析结果处。**
|
|
14
|
+
|
|
15
|
+
### 第 1 步:身份解析
|
|
16
|
+
|
|
17
|
+
从本地认证文件读取当前用户身份信息。
|
|
18
|
+
|
|
19
|
+
- **Windows 路径**:`C:\Users\Admin\.local\share\zhanlu\auth_zhanlu.json`
|
|
20
|
+
- **macOS / Linux 路径**:`~/.local/share/zhanlu/auth_zhanlu.json`
|
|
21
|
+
|
|
22
|
+
从 `metadata` 中提取 `email` 与 `userName`,将邮箱后缀统一转换为 `@cmss.cmcc`:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
zhangsan@cmss.chinamobile.com → zhangsan@cmss.cmcc
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
输出身份检测结果:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
用户身份:
|
|
32
|
+
- 中文名:任博婕妤
|
|
33
|
+
- 邮箱(需求系统):renbojieyu@cmss.cmcc
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 第 2 步:提取查询条件
|
|
37
|
+
|
|
38
|
+
从用户请求中提取审核范围条件:
|
|
39
|
+
|
|
40
|
+
| 用户说法 | 含义 |
|
|
41
|
+
| --------------------------- | ------------------------------------------------------------- |
|
|
42
|
+
| "帮我审核 beta 需求" | 审核我作为负责人的所有"分析+规划"状态需求 |
|
|
43
|
+
| "审核演示项目需求" | 审核"演示项目"空间内我作为负责人的"分析+规划"状态需求 |
|
|
44
|
+
| "审核 RR20260119400340" | 审核指定需求 Key(按 number 精确匹配) |
|
|
45
|
+
| "审核一致性相关的需求" | 按标题关键词模糊匹配我作为负责人的"分析+规划"状态需求 |
|
|
46
|
+
|
|
47
|
+
**模糊匹配规则:**
|
|
48
|
+
- 项目名:支持 `getProjectList` 返回值中的部分匹配
|
|
49
|
+
- 需求 Key:精确匹配 `number` 字段
|
|
50
|
+
- 标题关键词:在 `listWorkItems` 返回结果中按 `title` 字段做客户端 `contains` 匹配
|
|
51
|
+
|
|
52
|
+
**默认审核状态:** 分析(Analyse)、规划(Plan)。
|
|
53
|
+
|
|
54
|
+
**负责人匹配:** 客户端按 `assignee.user_name` 字段过滤为当前用户邮箱(`listWorkItems` 不直接支持按 assignee 过滤)。
|
|
55
|
+
|
|
56
|
+
### 第 3 步:调用 lingji-beta MCP 拉取需求
|
|
57
|
+
|
|
58
|
+
固定使用 lingji-beta MCP 工具链:
|
|
59
|
+
|
|
60
|
+
- `lingji-beta__getProjectList` — 解析项目名 → projectId
|
|
61
|
+
- `lingji-beta__listWorkItems` — 按 projectId + issueType 拉取工作项列表(**不含 description**)
|
|
62
|
+
- `lingji-beta__getWorkItemDetail` — **单条详情,包含 description、子工作项**(**审核前必须对每条候选需求调用一次以获取 description 用于三小节检查**)
|
|
63
|
+
|
|
64
|
+
**查询参数(listWorkItems):**
|
|
65
|
+
- `projectId`: 项目 ID
|
|
66
|
+
- `issueType`: `RR`
|
|
67
|
+
|
|
68
|
+
> ⚠️ description 字段只存在于 `getWorkItemDetail` 返回结果中。审核"完整性"维度时,必须对每条候选需求调用 `getWorkItemDetail` 解析【需求背景】/【需求价值】/【需求详情】三段内容。
|
|
69
|
+
|
|
70
|
+
### 第 4 步:IDE 交互 — 确认审核范围
|
|
71
|
+
|
|
72
|
+
将查询到的需求按项目分组,展示给用户确认:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
📋 beta 环境需求审核范围确认
|
|
76
|
+
|
|
77
|
+
项目:演示项目(e13a682906ef49518812e2b95318d87b)
|
|
78
|
+
待审核需求:2 条
|
|
79
|
+
1. RR20260616628399 | 需求代码一致性分析 | 状态:分析 | 优先级:高
|
|
80
|
+
2. RR20260119400340 | 私有云单产品创建版本需强制关联解决方案版本 | 状态:分析 | 优先级:中
|
|
81
|
+
|
|
82
|
+
以上是否为您要审核的需求?如需调整范围,请告知。
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
使用 `question` 工具让用户确认,选项包括:
|
|
86
|
+
- 确认,继续审核
|
|
87
|
+
- 调整范围(用户可说明增减哪些需求)
|
|
88
|
+
|
|
89
|
+
### 第 5 步:确认文档保存路径
|
|
90
|
+
|
|
91
|
+
用户确认审核范围后,询问文档保存路径:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
请确认 beta 环境需求审核报告保存路径:
|
|
95
|
+
- 默认路径:当前项目 prd/review/ 目录下
|
|
96
|
+
- 文件名格式:需求审核_Beta_YYYYMMDD.md
|
|
97
|
+
例:需求审核_Beta_20260618.md
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
使用 `question` 工具让用户选择:
|
|
101
|
+
- 使用默认路径(prd/review/)
|
|
102
|
+
- 自定义路径(用户输入)
|
|
103
|
+
|
|
104
|
+
### 第 6 步:逐条审核需求
|
|
105
|
+
|
|
106
|
+
对每条需求按 **五维度 + description 三小节专项检查** 进行审核。
|
|
107
|
+
|
|
108
|
+
#### 维度一:完整性
|
|
109
|
+
|
|
110
|
+
| 检查点 | 说明 | 判定标准 |
|
|
111
|
+
|--------|------|----------|
|
|
112
|
+
| 业务背景 | description 中【需求背景】小节是否说明了需求来源、痛点和预期价值 | 【需求背景】小节存在且有实质内容(非占位符) |
|
|
113
|
+
| 需求描述 | description 中【需求详情】小节是否完整描述了功能范围 | 【需求详情】小节存在,包含功能范围和核心交互 |
|
|
114
|
+
| 验收标准 | 是否可从【需求详情】推导可验证的验收条目 | 【需求详情】信息足够推导 ≥3 条验收条目 |
|
|
115
|
+
| 关联信息 | 是否关联了项目、迭代、计划时间 | `domain_id` / `plan_iteration` / `plan_end_date` 非空(按需) |
|
|
116
|
+
| 价值说明 | description 中【需求价值】小节是否说明了预期收益 | 【需求价值】小节存在且有实质内容 |
|
|
117
|
+
|
|
118
|
+
#### 维度二:清晰性
|
|
119
|
+
|
|
120
|
+
| 检查点 | 说明 | 判定标准 |
|
|
121
|
+
|--------|------|----------|
|
|
122
|
+
| 语义明确 | 需求描述是否无歧义,概念是否定义清晰 | 无模糊表述(如"等""相关"无具体指向),关键术语有定义 |
|
|
123
|
+
| 边界清晰 | 功能边界是否明确,输入输出是否清晰 | 明确了做什么和不做什么,输入输出格式有说明 |
|
|
124
|
+
| 量化标准 | 验收标准/价值是否可量化 | 包含具体的指标或判定条件,而非仅定性描述 |
|
|
125
|
+
| 颗粒度 | 需求拆分颗粒度是否合理 | 单条需求描述的功能范围适中,不过大(跨多个独立功能)也不过小 |
|
|
126
|
+
|
|
127
|
+
#### 维度三:可测试性
|
|
128
|
+
|
|
129
|
+
| 检查点 | 说明 | 判定标准 |
|
|
130
|
+
|--------|------|----------|
|
|
131
|
+
| 验收可验证 | 验收标准是否可直接转化为测试用例 | 每条验收标准可映射到具体的测试操作和预期结果 |
|
|
132
|
+
| 异常场景 | 是否覆盖了异常和边界场景 | 包含输入异常、权限异常、超时/失败等场景的处理说明 |
|
|
133
|
+
| 性能指标 | 对性能/准确性有要求的场景是否定义了指标 | AI类需求需定义准确率、响应时间等;非AI类视情况而定 |
|
|
134
|
+
|
|
135
|
+
#### 维度四:一致性
|
|
136
|
+
|
|
137
|
+
| 检查点 | 说明 | 判定标准 |
|
|
138
|
+
|--------|------|----------|
|
|
139
|
+
| 内部一致 | description 三小节之间是否一致 | 【需求背景】/【需求价值】/【需求详情】三段内容相互呼应,无矛盾 |
|
|
140
|
+
| 优先级匹配 | 优先级与业务价值/紧急程度是否匹配 | 高/中/低优先级需求应有相应的【需求价值】支撑 |
|
|
141
|
+
| 外部一致 | 与同项目其他需求是否存在冲突或重叠 | 同项目需求间功能边界不重叠,无矛盾定义 |
|
|
142
|
+
|
|
143
|
+
#### 维度五:可行性
|
|
144
|
+
|
|
145
|
+
| 检查点 | 说明 | 判定标准 |
|
|
146
|
+
|--------|------|----------|
|
|
147
|
+
| 技术可行性 | 是否可基于需求详情识别技术路径 | 【需求详情】信息可推导技术实现路径 |
|
|
148
|
+
| 时间可行性 | 计划时间是否充足 | `plan_end_date` 合理,未出现已过期但仍未推进 |
|
|
149
|
+
| 依赖明确 | 外部依赖是否已识别和说明 | 如依赖其他系统/接口/数据,需明确说明 |
|
|
150
|
+
|
|
151
|
+
#### description 三小节专项检查
|
|
152
|
+
|
|
153
|
+
> **此专项检查是 beta 环境特有,因 description 字段包含【需求背景】/【需求价值】/【需求详情】三个小节,需对小节完整性、实质内容、占位符等进行专项审核。**
|
|
154
|
+
|
|
155
|
+
| 检查点 | 说明 | 判定标准 |
|
|
156
|
+
|--------|------|----------|
|
|
157
|
+
| 小节齐全 | 三个小节标签是否都存在 | description 同时包含 `【需求背景】`、`【需求价值】`、`【需求详情】` 三个标签 |
|
|
158
|
+
| 顺序正确 | 小节排列顺序是否符合规范 | 顺序为:需求背景 → 需求价值 → 需求详情 |
|
|
159
|
+
| 非占位符 | 各小节内容是否为实质内容 | 三段文字均不是占位符(如"未提供"、"待补充"、"xxx"、标题原文重复)|
|
|
160
|
+
| 长度合理 | 各小节内容长度是否足够 | 每段至少 1 句实质内容(建议【需求背景】≥30字、【需求价值】≥20字、【需求详情】≥50字)|
|
|
161
|
+
| 背景价值对齐 | 业务背景与价值说明是否逻辑对应 | 痛点 → 价值 一一对应,未出现背景说A价值说B |
|
|
162
|
+
| 详情可推导验收 | 【需求详情】是否足够推导验收标准 | 【需求详情】能拆解出 ≥3 个独立功能点 |
|
|
163
|
+
|
|
164
|
+
**三小节专项检查结果:**
|
|
165
|
+
- ✅ 通过:所有 6 个检查点均满足
|
|
166
|
+
- ⚠️ 有条件通过:1-2 个检查点不满足,但不影响核心功能理解
|
|
167
|
+
- ❌ 不通过:≥3 个检查点不满足,或出现"三段均为占位符"等严重情况
|
|
168
|
+
|
|
169
|
+
#### 审核意见判定规则
|
|
170
|
+
|
|
171
|
+
每条需求根据 **五维度 + 三小节专项** 的审核结果,给出整体审核意见:
|
|
172
|
+
|
|
173
|
+
| 审核意见 | 判定条件 |
|
|
174
|
+
|----------|----------|
|
|
175
|
+
| ✅ 通过 | 五维度均无问题,三小节专项通过 |
|
|
176
|
+
| ⚠️ 有条件通过 | 存在中严重度问题或三小节专项有条件通过,但不影响核心功能理解和测试 |
|
|
177
|
+
| ❌ 不通过 | 存在高严重度问题(关键信息缺失、需求三段矛盾、占位符文本等),或三小节专项不通过 |
|
|
178
|
+
|
|
179
|
+
**严重度分级:**
|
|
180
|
+
- **高**:关键信息缺失(【需求背景】空、占位符)、三小节内容矛盾、核心功能定义不清
|
|
181
|
+
- **中**:边界条件缺失、量化标准不足、异常场景未覆盖、小节长度不足
|
|
182
|
+
- **低**:关联迭代未填写、计划时间已过期但仍在推进、非核心字段缺失
|
|
183
|
+
|
|
184
|
+
### 第 7 步:生成审核报告文档
|
|
185
|
+
|
|
186
|
+
按照以下模板生成单份汇总审核报告,并**必须使用 `write` 工具将文档写入第 5 步确认的文件路径**。不要仅在对话中展示文档内容,必须将完整内容写入文件。如果目录不存在,需先创建目录。
|
|
187
|
+
|
|
188
|
+
**文件名格式:** `需求审核_Beta_YYYYMMDD.md`
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
# beta 环境需求审核报告
|
|
192
|
+
|
|
193
|
+
## beta 环境元信息
|
|
194
|
+
|
|
195
|
+
| 字段 | 值 |
|
|
196
|
+
|---|---|
|
|
197
|
+
| 环境标识 | beta |
|
|
198
|
+
| 审核人 | 任博婕妤 (renbojieyu@cmss.cmcc) |
|
|
199
|
+
| 审核日期 | 2026-06-18 |
|
|
200
|
+
| 审核范围 | 演示项目(e13a682906ef49518812e2b95318d87b),分析+规划状态 |
|
|
201
|
+
| 审核需求总数 | 2 |
|
|
202
|
+
| MCP 来源 | lingji-beta |
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## 审核概览
|
|
207
|
+
|
|
208
|
+
| 指标 | 数量 |
|
|
209
|
+
|------|------|
|
|
210
|
+
| 审核需求总数 | 2 |
|
|
211
|
+
| ✅ 通过 | 0 |
|
|
212
|
+
| ⚠️ 有条件通过 | 1 |
|
|
213
|
+
| ❌ 不通过 | 1 |
|
|
214
|
+
| 三小节专项通过 | 0 |
|
|
215
|
+
| 三小节专项不通过 | 2 |
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 需求 1:RR20260616628399 — 需求代码一致性分析
|
|
220
|
+
|
|
221
|
+
**审核意见:** ❌ 不通过
|
|
222
|
+
|
|
223
|
+
**基本信息:**
|
|
224
|
+
|
|
225
|
+
| 字段 | 值 |
|
|
226
|
+
|------|-----|
|
|
227
|
+
| 需求Key | RR20260616628399 |
|
|
228
|
+
| 标题 | 需求代码一致性分析 |
|
|
229
|
+
| 类型 | RR-初始需求 |
|
|
230
|
+
| 状态 | 分析 |
|
|
231
|
+
| 优先级 | 高 |
|
|
232
|
+
| 负责人 | 任博婕妤 (renbojieyu@cmss.cmcc) |
|
|
233
|
+
| 提出人 | 程龙 (chenglong2@cmss.cmcc) |
|
|
234
|
+
| 关联项目 | 演示项目 |
|
|
235
|
+
| 关联迭代 | 未提供 |
|
|
236
|
+
| 计划结束时间 | 未提供 |
|
|
237
|
+
| 创建时间 | 2026-06-16 16:21 |
|
|
238
|
+
|
|
239
|
+
**description 三小节专项检查:**
|
|
240
|
+
|
|
241
|
+
| 检查点 | 审核结果 | 问题描述 |
|
|
242
|
+
|--------|----------|----------|
|
|
243
|
+
| 小节齐全 | ✅ | 三个小节标签均存在 |
|
|
244
|
+
| 顺序正确 | ✅ | 顺序符合规范 |
|
|
245
|
+
| 非占位符 | ❌ | 三段内容均为占位符"需求代码一致性分析",无实质内容 |
|
|
246
|
+
| 长度合理 | ❌ | 每段仅 7 字,远低于建议长度 |
|
|
247
|
+
| 背景价值对齐 | ⚠️ | 背景与价值内容相同,无法判断逻辑对应 |
|
|
248
|
+
| 详情可推导验收 | ❌ | 【需求详情】无实质功能点,无法推导验收标准 |
|
|
249
|
+
|
|
250
|
+
**五维度审核明细:**
|
|
251
|
+
|
|
252
|
+
| 维度 | 审核结果 | 问题描述 |
|
|
253
|
+
|------|----------|----------|
|
|
254
|
+
| 完整性 | ❌ | 【需求背景】/【需求价值】/【需求详情】均为占位符,验收标准无法推导 |
|
|
255
|
+
| 清晰性 | ❌ | 无实质功能描述,语义不明确 |
|
|
256
|
+
| 可测试性 | ❌ | 无法从【需求详情】推导任何验收条目 |
|
|
257
|
+
| 一致性 | ⚠️ | 标题与三段内容相关,但内容无实质信息 |
|
|
258
|
+
| 可行性 | ⚠️ | 计划时间未设置,无法评估时间可行性 |
|
|
259
|
+
|
|
260
|
+
**问题清单:**
|
|
261
|
+
|
|
262
|
+
| 序号 | 严重程度 | 问题描述 | 改进建议 |
|
|
263
|
+
|------|----------|----------|----------|
|
|
264
|
+
| 1 | 高 | 【需求背景】为占位符"需求代码一致性分析",未说明需求来源、痛点、预期价值 | 补充业务背景:需求由谁提出、解决什么场景下的什么问题、预期带来什么收益 |
|
|
265
|
+
| 2 | 高 | 【需求价值】为占位符,未说明预期收益 | 补充价值说明:落地后能带来哪些可衡量的业务价值 |
|
|
266
|
+
| 3 | 高 | 【需求详情】为占位符,未描述功能范围、核心流程、输入输出 | 补充功能详情:核心功能点、关键交互、输入输出格式、关键约束 |
|
|
267
|
+
| 4 | 中 | 三段长度均不足(仅 7 字) | 建议【需求背景】≥30字、【需求价值】≥20字、【需求详情】≥50字 |
|
|
268
|
+
| 5 | 中 | 计划开始/结束时间未设置 | 在需求分析完成后明确计划工时与目标迭代 |
|
|
269
|
+
| 6 | 低 | 关联迭代未设置 | 进入规划阶段时关联迭代 |
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## 需求 2:RR20260119400340 — 私有云单产品创建版本需强制关联解决方案版本
|
|
274
|
+
|
|
275
|
+
(... 同上结构 ...)
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 共性问题汇总
|
|
280
|
+
|
|
281
|
+
| 共性问题 | 涉及需求 | 建议 |
|
|
282
|
+
|----------|----------|------|
|
|
283
|
+
| description 三小节内容为占位符 | RR20260616628399 | 由需求提出人补充实质性内容;建议在需求创建模板中增加"小节最小长度校验" |
|
|
284
|
+
| 计划时间未设置 | RR20260616628399、RR20260119400340 | 在需求分析阶段同步设置计划开始/结束时间 |
|
|
285
|
+
| 关联迭代缺失 | RR20260616628399 | 进入规划阶段时关联迭代 |
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### 第 8 步:展示执行结果
|
|
289
|
+
|
|
290
|
+
审核报告生成后,向用户展示:
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
✅ beta 环境需求审核完成
|
|
294
|
+
|
|
295
|
+
📄 审核报告已生成:prd/review/需求审核_Beta_20260618.md
|
|
296
|
+
📋 审核概览:
|
|
297
|
+
- 审核需求总数:2
|
|
298
|
+
- ✅ 通过:0
|
|
299
|
+
- ⚠️ 有条件通过:1
|
|
300
|
+
- ❌ 不通过:1
|
|
301
|
+
- 三小节专项通过:0
|
|
302
|
+
- 三小节专项不通过:2
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## 字段映射参考(基于 lingji-beta 实际数据)
|
|
306
|
+
|
|
307
|
+
| 审核报告字段 | MCP 数据字段 | 说明 |
|
|
308
|
+
| -------------------- | ------------------------------------- | ---- |
|
|
309
|
+
| 需求Key | `number` | |
|
|
310
|
+
| 标题 | `title` | |
|
|
311
|
+
| 类型 | `category` + `type` | 例:`RR` + `raw requirement` → "RR-初始需求" |
|
|
312
|
+
| 状态 | `status.display_value` | 初始/分析/规划/实现/交付/验收/完成 |
|
|
313
|
+
| 优先级 | `priority.display_value` | 高/中/低 |
|
|
314
|
+
| 负责人 | `assignee.nick_name` + `user_name` | 姓名 + 邮箱 |
|
|
315
|
+
| 提出人 | `submitted_by[0].nick_name` + `user_name` | |
|
|
316
|
+
| 关联项目 | `project.title` | |
|
|
317
|
+
| 关联迭代 | `plan_iteration.title` | |
|
|
318
|
+
| 计划开始时间 | `plan_start_date` | 时间戳转 YYYY-MM-DD |
|
|
319
|
+
| 计划结束时间 | `plan_end_date` | 时间戳转 YYYY-MM-DD |
|
|
320
|
+
| 创建时间 | `created_date` | 时间戳转 YYYY-MM-DD HH:mm |
|
|
321
|
+
| description 三小节 | `description`(**仅 getWorkItemDetail 返回**)| 解析为【需求背景】/【需求价值】/【需求详情】 |
|
|
322
|
+
|
|
323
|
+
## description 三小节解析规则
|
|
324
|
+
|
|
325
|
+
> 三小节专项检查依赖此解析结果。解析时按以下规则处理:
|
|
326
|
+
|
|
327
|
+
1. **HTML 标签清理**:`<p>`、`<br>`、`<span>` 等替换为换行符或删除
|
|
328
|
+
2. **小节定位**:通过 `【需求背景】`、`【需求价值】`、`【需求详情】` 三个标签定位段落边界
|
|
329
|
+
3. **小节顺序校验**:期望顺序为 需求背景 → 需求价值 → 需求详情;顺序错误在专项检查中标 ❌
|
|
330
|
+
4. **占位符识别**:以下模式视为占位符:
|
|
331
|
+
- 文字内容与需求标题完全相同
|
|
332
|
+
- 包含"未提供""待补充""TBD""TODO""xxx"等关键词
|
|
333
|
+
- 内容长度 < 5 个中文字符
|
|
334
|
+
5. **小节缺失**:未匹配到任一标签时,该小节视为"缺失",对应检查点标 ❌
|
|
335
|
+
|
|
336
|
+
## 注意事项
|
|
337
|
+
|
|
338
|
+
- 所有字段值为空时标注"未提供",不做臆测
|
|
339
|
+
- 审核意见基于需求文档的现有内容判定,不依赖外部知识
|
|
340
|
+
- 时间字段保持原始格式,不做转换
|
|
341
|
+
- 人员名字后跟随邮箱不要省略
|
|
342
|
+
- **description 必填检查**:审核前必须对每条需求调用 `getWorkItemDetail` 获取 description;若 description 缺失或为空,则完整性维度直接判 ❌
|
|
343
|
+
- **占位符严格识别**:description 中任一小节被识别为占位符,对应"非占位符"检查点判 ❌,并升级为高严重度问题
|
|
344
|
+
- 如果查询结果为空(无待审核需求),告知用户"当前没有找到您作为负责人的待审核需求",并建议检查项目范围或状态条件
|
|
345
|
+
- 项目名、需求 Key、标题关键词支持模糊匹配,匹配后需与用户确认
|
|
346
|
+
- 如果需求量较大(>10条),建议分批审核,每批不超过10条
|
|
347
|
+
- **类型码映射**:`RR` → 初始需求,`US` → 用户故事,`Task` → 任务
|
|
348
|
+
- **状态码映射**:`Start` → 初始,`Analyse` → 分析,`Plan` → 规划,`Doing` → 实现,`Delivered` → 交付,`Checking` → 验收,`Finish` → 完成
|
|
349
|
+
- **默认审核状态**:分析(Analyse)+ 规划(Plan)
|
|
350
|
+
- **回写说明**:本 skill 仅生成审核报告,不直接回传平台(审核意见由需求提出人/负责人根据报告自行优化需求)
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: beta_requirements_gather
|
|
3
|
+
description: 通过 lingji-beta MCP 工具从 beta 环境(演示/测试环境)的需求管理系统中拉取需求,并按标准化模板整理为带环境标识的 Markdown 文档。当用户提到"beta环境需求""演示环境需求""测试环境需求""拉取beta需求""beta环境盘点"等场景时触发。即使用户没有明确说"beta",但明确指定演示项目、beta 环境功能验证测试等测试类项目时,也应使用此 skill。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# beta 环境需求拉取
|
|
7
|
+
|
|
8
|
+
> 与 `requirements-gather` 的差异:固定使用 lingji-beta MCP、输出文件名带 `Beta_` 前缀、文档头部增加 beta 环境元信息、模板字段基于实际 beta 环境数据结构调整(移除"业务背景/验收标准"等 beta 环境未采集字段,新增"业务域/计划工时/状态停留/子需求"等真实存在字段)。
|
|
9
|
+
|
|
10
|
+
## 流程
|
|
11
|
+
|
|
12
|
+
### 第 1 步:身份解析
|
|
13
|
+
|
|
14
|
+
识别请求中涉及的需求相关人身份,并解析为需求系统可用的邮箱格式。
|
|
15
|
+
|
|
16
|
+
#### 情况 A:当前用户("我")
|
|
17
|
+
|
|
18
|
+
当请求中出现"我的需求""我负责的""我创建的""分配给我的"等指向当前用户的表述时,从本地认证文件读取身份信息。
|
|
19
|
+
|
|
20
|
+
- **Windows 路径**:`C:\Users\Admin\.local\share\zhanlu\auth_zhanlu.json`
|
|
21
|
+
- **macOS / Linux 路径**:`~/.local/share/zhanlu/auth_zhanlu.json`
|
|
22
|
+
|
|
23
|
+
从 `metadata` 字段中提取 `email` 与 `userName`,将邮箱后缀统一转换为 `@cmss.cmcc`:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
zhangsan@cmss.chinamobile.com → zhangsan@cmss.cmcc
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
#### 情况 B:指定人名的用户
|
|
30
|
+
|
|
31
|
+
将中文姓名转为全拼小写(不带声调,姓氏名字连写)后追加 `@cmss.cmcc`:
|
|
32
|
+
|
|
33
|
+
- 张三 → `zhangsan@cmss.cmcc`
|
|
34
|
+
- 欧阳锋 → `ouyangfeng@cmss.cmcc`
|
|
35
|
+
- 诸葛亮 → `zhugeliang@cmss.cmcc`
|
|
36
|
+
|
|
37
|
+
#### 输出身份检测结果
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
用户身份:
|
|
41
|
+
- 中文名:张三
|
|
42
|
+
- 邮箱(需求系统):zhangsan@cmss.cmcc
|
|
43
|
+
|
|
44
|
+
查询涉及的其他人员:
|
|
45
|
+
- 欧阳锋 → ouyangfeng@cmss.cmcc
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 第 2 步:提取查询条件
|
|
49
|
+
|
|
50
|
+
从用户请求中提取需求查询条件,包括但不限于:
|
|
51
|
+
|
|
52
|
+
- 时间范围(计划开始/结束时间、期望完成时间等)
|
|
53
|
+
- 需求状态
|
|
54
|
+
- 关联项目、迭代、版本
|
|
55
|
+
- 优先级
|
|
56
|
+
- 负责人 / 提出人
|
|
57
|
+
- 需求关键词
|
|
58
|
+
|
|
59
|
+
**"xx"相关的语义映射:**
|
|
60
|
+
|
|
61
|
+
| 用户说法 | 含义 |
|
|
62
|
+
| ---------------- | ---------------------------- |
|
|
63
|
+
| "xx的需求" | 负责人 OR 创建人中有一个为xx |
|
|
64
|
+
| "xx负责的需求" | 负责人 = xx |
|
|
65
|
+
| "xx创建的需求" | 提出人 = xx |
|
|
66
|
+
| "分配给xx的需求" | 负责人 = xx |
|
|
67
|
+
|
|
68
|
+
**筛选逻辑:** 未指定项目时,用解析出的邮箱作为 MCP 筛选条件;指定了具体项目(如"演示项目下所有需求"),则人员字段不传,由项目范围兜底。
|
|
69
|
+
|
|
70
|
+
### 第 3 步:调用 lingji-beta MCP 拉取需求
|
|
71
|
+
|
|
72
|
+
固定使用 lingji-beta MCP 工具链执行查询。典型工具:
|
|
73
|
+
|
|
74
|
+
- `lingji-beta__getProjectList` — 解析项目名 → projectId
|
|
75
|
+
- `lingji-beta__listWorkItems` — 按 projectId + issueType 拉取工作项列表(**仅返回列表字段,不含 description**)
|
|
76
|
+
- `lingji-beta__queryWorkItemTree` — 拉取树状结构(自动展开父子层级)
|
|
77
|
+
- `lingji-beta__getWorkItemDetail` — **单条详情,包含 description、子工作项、关联关系等**(**生成文档时必须对每条需求都调用一次**)
|
|
78
|
+
|
|
79
|
+
> ⚠️ **关键:description 字段只存在于 `getWorkItemDetail` 返回结果中。** `listWorkItems` 和 `queryWorkItemTree` 都不会返回 description。生成 Markdown 文档前,必须对每条需求(无论 RR / US / Task)逐一调用 `getWorkItemDetail` 获取完整描述。**绝不允许**因为 description 字段在列表接口中缺失就直接填"未提供"。
|
|
80
|
+
|
|
81
|
+
**"类型"过滤规则:**
|
|
82
|
+
|
|
83
|
+
- 可选项:`RR`(初始需求 / 原始需求)、`US`(用户故事)、`Task`(任务)
|
|
84
|
+
- 查询 **需求**(未特别指明类型)时,需同时按 RR / US / Task 三次调用 `listWorkItems` 后合并去重
|
|
85
|
+
- 用户明确指定类型时,仅调用对应类型
|
|
86
|
+
|
|
87
|
+
**"状态"过滤规则:**
|
|
88
|
+
|
|
89
|
+
- 未明确指定时,默认拉取状态为 **"新建"(Start / Committed)** 和 **"分析"(Analyse)** 的需求
|
|
90
|
+
- `listWorkItems` 接口不直接支持状态过滤,需在结果返回后按 `status.code` 字段做客户端过滤
|
|
91
|
+
|
|
92
|
+
### 第 4 步:输出结果
|
|
93
|
+
|
|
94
|
+
根据用户明确要求选择输出方式:
|
|
95
|
+
|
|
96
|
+
**场景 A — 用户要求保存为文档:** 按下方模板生成 Markdown 文件
|
|
97
|
+
|
|
98
|
+
- 保存到项目 `prd/` 文件夹下(先检查是否存在,如不存在则创建)
|
|
99
|
+
- 文件名称格式:**`需求列表_Beta_YYYYMMDD.md`**(`YYYYMMDD` 为当天日期,例如 `20260616`)
|
|
100
|
+
- **必须**在文档头部输出 beta 环境元信息块(见下方模板)
|
|
101
|
+
|
|
102
|
+
> **重要:保存为文件必须使用完整模板 + beta 环境元信息。** 即使用户在此 skill 已经展示过简要表格后补充说"帮我存为 md",也必须使用下方的完整需求模板写入文件,禁止使用简要表格格式。简要表格仅用于纯查看场景。
|
|
103
|
+
|
|
104
|
+
**场景 B — 只是获取需求,暂未要求保存为本地文档:** 直接输出简要表格(每个需求一行),不保存文件。
|
|
105
|
+
|
|
106
|
+
## 输出模板
|
|
107
|
+
|
|
108
|
+
### 保存为本地文档(场景 A — 保存文件)
|
|
109
|
+
|
|
110
|
+
#### 文档头部 beta 环境元信息(必填)
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
# beta 环境需求列表
|
|
114
|
+
|
|
115
|
+
| 字段 | 值 |
|
|
116
|
+
|---|---|
|
|
117
|
+
| 环境标识 | beta |
|
|
118
|
+
| 拉取时间 | 2026-06-16 16:55 |
|
|
119
|
+
| 拉取人 | 任博婕妤 (renbojieyu@cmss.cmcc) |
|
|
120
|
+
| 查询条件 | 项目=演示项目, 类型=RR/US/Task, 状态=新建/分析 |
|
|
121
|
+
| 需求总数 | 8 |
|
|
122
|
+
| MCP 来源 | lingji-beta |
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### 单个需求详情
|
|
126
|
+
|
|
127
|
+
```markdown
|
|
128
|
+
## 项目信息
|
|
129
|
+
- **空间名称**:
|
|
130
|
+
- **项目编码**:
|
|
131
|
+
- **项目名称**:
|
|
132
|
+
- **产品名称**:
|
|
133
|
+
|
|
134
|
+
## 需求 1
|
|
135
|
+
|
|
136
|
+
| 字段 | 值 |
|
|
137
|
+
|---|---|
|
|
138
|
+
| 需求Key | [number] |
|
|
139
|
+
| 标题 | [title] |
|
|
140
|
+
| 类型 | [category 类型码 + 名称] |
|
|
141
|
+
| 状态 | [status.display_value] |
|
|
142
|
+
| 状态停留天数 | [stay_days] |
|
|
143
|
+
| 优先级 | [priority.display_value] |
|
|
144
|
+
| 负责人 | [assignee.nick_name + 邮箱] |
|
|
145
|
+
| 提出人 | [submitted_by[0].nick_name + 邮箱] |
|
|
146
|
+
| 承接人 | [recipient[0].nick_name + 邮箱] |
|
|
147
|
+
| 创建人 | [created_by.nick_name + 邮箱] |
|
|
148
|
+
| 业务域 | [business_domain.display_value] |
|
|
149
|
+
| 故事点 | [story_point.display_value] |
|
|
150
|
+
| 计划工时(人天) | [workload_man_day] |
|
|
151
|
+
| 计划开始时间 | [plan_start_date] |
|
|
152
|
+
| 计划结束时间 | [plan_end_date] |
|
|
153
|
+
| 计划开发结束时间 | [plan_dev_end_date] |
|
|
154
|
+
| 计划测试结束时间 | [plan_test_end_date] |
|
|
155
|
+
| 期望完成时间 | [expect_delivery_time] |
|
|
156
|
+
| 关联迭代 | [plan_iteration.title] |
|
|
157
|
+
| 关联项目 | [project.title] |
|
|
158
|
+
| 父需求 | [parent_id 对应的 number] |
|
|
159
|
+
| 关联需求 | [rr2ir / rr2us / us2rr / ir2feature] |
|
|
160
|
+
| 子需求 | [child_issues 中各 number + title] |
|
|
161
|
+
| 创建时间 | [created_date] |
|
|
162
|
+
| 最近修改时间 | [modified_date] |
|
|
163
|
+
| 需求描述 | [description 去除 HTML 标签] |
|
|
164
|
+
| 需求 URL | [如无则填"未提供"] |
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
#### 多个需求详情
|
|
168
|
+
|
|
169
|
+
每个需求独立一个表格,用空行分隔,上方标注序号。多个需求前统一添加 beta 环境元信息块 + 项目信息:
|
|
170
|
+
|
|
171
|
+
```markdown
|
|
172
|
+
# beta 环境需求列表
|
|
173
|
+
(... beta 环境元信息块 ...)
|
|
174
|
+
|
|
175
|
+
## 项目信息
|
|
176
|
+
|
|
177
|
+
- **空间名称**: xxx
|
|
178
|
+
- **项目编码**: xxx
|
|
179
|
+
- **项目名称**: xxx
|
|
180
|
+
- **产品名称**: xxx
|
|
181
|
+
|
|
182
|
+
## 需求 1
|
|
183
|
+
|
|
184
|
+
| 字段 | 值 |
|
|
185
|
+
|---|---|
|
|
186
|
+
| ... | ... |
|
|
187
|
+
|
|
188
|
+
## 需求 2
|
|
189
|
+
|
|
190
|
+
| 字段 | 值 |
|
|
191
|
+
|---|---|
|
|
192
|
+
| ... | ... |
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### 简要表格(场景 B — 不保存文件)
|
|
196
|
+
|
|
197
|
+
每个需求一行:
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
| 需求Key | 标题 | 类型 | 负责人 | 提出人 | 状态 | 优先级 | 业务域 | 计划工时 | 关联迭代 | 状态停留天数 | 属于项目 |
|
|
201
|
+
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
202
|
+
| RR20260119400340 | 私有云单产品创建版本需强制关联解决方案版本 | RR-初始需求 | 朱范琴(zhufanqin@cmss.cmcc) | 朱范琴 | 分析 | 中 | 未提供 | 0.5 | 4.12.0 | 106 | 演示项目 |
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## 字段映射参考(基于实际 MCP 数据)
|
|
206
|
+
|
|
207
|
+
> 以下为 lingji-beta MCP 返回字段与输出模板的对应关系,仅列在 beta 环境数据中实际出现过的字段。
|
|
208
|
+
|
|
209
|
+
| 输出模板字段 | MCP 数据字段 | 说明 |
|
|
210
|
+
| ---------------------- | -------------------------------------------------- | ---- |
|
|
211
|
+
| 需求Key | `number` | |
|
|
212
|
+
| 标题 | `title` | |
|
|
213
|
+
| 类型 | `category` + `type` | 例:`RR` + `raw requirement` → "RR-初始需求" |
|
|
214
|
+
| 状态 | `status.display_value` | 值为:初始/分析/规划/实现/交付/验收/完成 |
|
|
215
|
+
| 状态停留天数 | `stay_days` | 当前状态停留天数 |
|
|
216
|
+
| 优先级 | `priority.display_value` | 高/中/低 |
|
|
217
|
+
| 负责人 | `assignee.nick_name` + `user_name` | 姓名 + 邮箱 |
|
|
218
|
+
| 提出人 | `submitted_by[0].nick_name` + `user_name` | |
|
|
219
|
+
| 承接人 | `recipient[0].nick_name` + `user_name` | 仅 RR 有 |
|
|
220
|
+
| 业务域 | `business_domain.display_value` | 例:软件 |
|
|
221
|
+
| 故事点 | `story_point.display_value` | 仅 US 有 |
|
|
222
|
+
| 计划工时(人天) | `workload_man_day` | |
|
|
223
|
+
| 计划开始时间 | `plan_start_date` | 时间戳转 YYYY-MM-DD |
|
|
224
|
+
| 计划结束时间 | `plan_end_date` | 时间戳转 YYYY-MM-DD |
|
|
225
|
+
| 计划开发结束时间 | `plan_dev_end_date` | 仅 US/Task |
|
|
226
|
+
| 计划测试结束时间 | `plan_test_end_date` | |
|
|
227
|
+
| 期望完成时间 | `expect_delivery_time` | 时间戳转 YYYY-MM-DD |
|
|
228
|
+
| 关联迭代 | `plan_iteration.title` | |
|
|
229
|
+
| 父需求 | `parent_id` → 反查 `number` | |
|
|
230
|
+
| 关联需求 | `rr2ir` / `rr2us` / `us2rr` / `ir2feature` | 拼接 + 反查 number |
|
|
231
|
+
| 子需求 | `child_issues[*].number` + `.title` | 多个用换行分隔 |
|
|
232
|
+
| 创建时间 | `created_date` | 时间戳转 YYYY-MM-DD HH:mm |
|
|
233
|
+
| 最近修改时间 | `modified_date` | 时间戳转 YYYY-MM-DD HH:mm |
|
|
234
|
+
| 需求描述 | `description`(**仅 `getWorkItemDetail` 接口返回**)| 去除 HTML 标签后保留换行;`listWorkItems` 无此字段 |
|
|
235
|
+
|
|
236
|
+
## 注意事项
|
|
237
|
+
|
|
238
|
+
- **未提供字段**填写 "未提供",保存到 md 文档时字段严格按照模板,多余字段可忽略
|
|
239
|
+
- **时间字段**保持原始格式不做转换(时间戳需在生成时手动转 YYYY-MM-DD)
|
|
240
|
+
- **人员名字后跟随的邮箱不要省略**,例如 `朱范琴 (zhufanqin@cmss.cmcc)`
|
|
241
|
+
- **任何场景下需求保存为本地 Markdown 文档,都必须使用完整需求模板 + beta 环境元信息块。** 当不生成文件时,使用简要表格
|
|
242
|
+
- **类型码映射**:`RR` → 初始需求,`US` → 用户故事,`Task` → 任务
|
|
243
|
+
- **状态码映射**:`Start` → 初始,`Analyse` → 分析,`Plan` → 规划,`Doing` → 实现,`Delivered` → 交付,`Checking` → 验收,`Finish` → 完成
|
|
244
|
+
- **description 字段处理**:生成文档前必须对每条需求调用 `getWorkItemDetail` 获取 `description`;HTML 标签(如 `<p>`、`<span>`、`<br>`)需替换为换行符;含 `【需求背景】`、`【需求价值】`、`【需求详情】` 等小节标签的描述必须原样保留
|
package/bin/zl
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"repository": {
|
|
3
|
+
"type": "git",
|
|
4
|
+
"url": "https://github.com/village-way/vscodium"
|
|
5
|
+
},
|
|
6
|
+
"name": "@zhanlucode/zl-darwin-arm64",
|
|
7
|
+
"version": "1.5.87028",
|
|
8
|
+
"preferUnplugged": true,
|
|
9
|
+
"os": [
|
|
10
|
+
"darwin"
|
|
11
|
+
],
|
|
12
|
+
"cpu": [
|
|
13
|
+
"arm64"
|
|
14
|
+
],
|
|
15
|
+
"keywords": [
|
|
16
|
+
"zhanlu",
|
|
17
|
+
"zl",
|
|
18
|
+
"cli",
|
|
19
|
+
"ai",
|
|
20
|
+
"coding"
|
|
21
|
+
]
|
|
22
|
+
}
|