@captain_z/zsk-skills 0.1.0

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 (55) hide show
  1. package/README.md +263 -0
  2. package/bundles.yaml +104 -0
  3. package/design-handoff/.gitkeep +0 -0
  4. package/design-handoff/figma-to-code/SKILL.md +265 -0
  5. package/design-handoff/ue-mcp/SKILL.md +184 -0
  6. package/frontend/.gitkeep +0 -0
  7. package/frontend/a11y-web/SKILL.md +169 -0
  8. package/frontend/api-contract-ts/SKILL.md +275 -0
  9. package/frontend/css-bem/SKILL.md +268 -0
  10. package/frontend/design-frontend/SKILL.md +163 -0
  11. package/frontend/dor-dod-frontend/SKILL.md +114 -0
  12. package/frontend/feature-tasks-frontend/SKILL.md +246 -0
  13. package/frontend/i18n/SKILL.md +296 -0
  14. package/frontend/nfr-web/SKILL.md +258 -0
  15. package/frontend/performance-web/SKILL.md +299 -0
  16. package/frontend/react-components/SKILL.md +211 -0
  17. package/frontend/react-naming/SKILL.md +224 -0
  18. package/frontend/review-frontend/SKILL.md +126 -0
  19. package/frontend/security-web/SKILL.md +286 -0
  20. package/frontend/spec-frontend/SKILL.md +141 -0
  21. package/frontend/testing-web/SKILL.md +252 -0
  22. package/frontend/typescript/SKILL.md +219 -0
  23. package/meta/.gitkeep +0 -0
  24. package/meta/philosophy/SKILL.md +221 -0
  25. package/package.json +24 -0
  26. package/quality/.gitkeep +0 -0
  27. package/quality/a11y-principles/SKILL.md +155 -0
  28. package/quality/code-hygiene/SKILL.md +126 -0
  29. package/quality/release/SKILL.md +209 -0
  30. package/quality/security-owasp/SKILL.md +157 -0
  31. package/quality/testing-pyramid/SKILL.md +173 -0
  32. package/sdlc/.gitkeep +0 -0
  33. package/sdlc/archive/SKILL.md +267 -0
  34. package/sdlc/bugfix/SKILL.md +181 -0
  35. package/sdlc/bugfix-tasks/SKILL.md +232 -0
  36. package/sdlc/coding/SKILL.md +177 -0
  37. package/sdlc/design/SKILL.md +299 -0
  38. package/sdlc/dor-dod/SKILL.md +120 -0
  39. package/sdlc/feature/SKILL.md +162 -0
  40. package/sdlc/proposal/SKILL.md +271 -0
  41. package/sdlc/refactor/SKILL.md +220 -0
  42. package/sdlc/refactor-tasks/SKILL.md +265 -0
  43. package/sdlc/reviewing/SKILL.md +197 -0
  44. package/sdlc/spec/SKILL.md +235 -0
  45. package/sdlc/task/SKILL.md +116 -0
  46. package/sdlc/task-evidence/SKILL.md +178 -0
  47. package/sdlc/task-structure/SKILL.md +153 -0
  48. package/sdlc/task-tracking/SKILL.md +192 -0
  49. package/sdlc/verify/SKILL.md +181 -0
  50. package/system/.gitkeep +0 -0
  51. package/system/adr/SKILL.md +169 -0
  52. package/system/architecture/SKILL.md +182 -0
  53. package/system/glossary/SKILL.md +141 -0
  54. package/system/nfr-baseline/SKILL.md +156 -0
  55. package/system/project-constraints-template/SKILL.md +241 -0
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: zsk:task
3
+ description: Cross-stage task execution mindset — what a task is, how it threads
4
+ spec → verify, which template to pick by change type, cross-stage hard
5
+ principles. Not for writing a specific task; use zsk:task-structure for that.
6
+ category: resource
7
+ domain: sdlc
8
+ tier: core
9
+ related:
10
+ - ../dor-dod/SKILL.md
11
+ - ../task-structure/SKILL.md
12
+ - ../task-tracking/SKILL.md
13
+ - ../task-evidence/SKILL.md
14
+ - ../feature/SKILL.md
15
+ - ../bugfix/SKILL.md
16
+ - ../refactor/SKILL.md
17
+ triggers:
18
+ - task framework
19
+ - task execution overview
20
+ - cross-stage tasks
21
+ - which task template
22
+ - FR coverage numbering
23
+ ---
24
+
25
+ # Task Framework — 任务执行框架总览
26
+
27
+ > **定位**:跨阶段的**任务执行心智模型** — 什么是任务、怎么结构化、怎么执行、怎么验收
28
+ > **与 7 阶段的关系**:task 是 `zsk:coding`(阶段 4)的产物主体,但"任务"作为概念横跨 spec / design / coding / verify 四个阶段
29
+ > **本 skill 角色**:**导航 + 跨阶段原则**;具体模板见其他 task-* skills
30
+
31
+ ## Task 框架覆盖的三件事
32
+
33
+ | 关注点 | 回答什么 | 权威 skill |
34
+ | --- | --- | --- |
35
+ | **如何制定任务** | 目标 / 粒度(0.5-2 人天)/ 必填字段 / 估算单位 / FR 覆盖编号 | [`zsk:task-structure`](../task-structure/SKILL.md) |
36
+ | **如何拆分任务** | 父子两级(不更深)/ 依赖关系 / 并行度 / FR 全覆盖 | [`zsk:task-structure`](../task-structure/SKILL.md) + [`zsk:task-tracking`](../task-tracking/SKILL.md) §1 |
37
+ | **执行完如何交互** | 更新状态 → 填证据 → 短汇报 → **等人类确认** → 再推下一任务 | [`zsk:task-tracking`](../task-tracking/SKILL.md) §6 |
38
+
39
+ ## Task 在 7 阶段中的位置
40
+
41
+ ```text
42
+ proposal → spec → design → coding → reviewing → verify → archive
43
+
44
+ (task 执行主体)
45
+ 产出 docs/{module}/tasks.md
46
+
47
+ 按变更类型挑模板,按 task-structure 规则填写
48
+ ```
49
+
50
+ 但**任务的追溯锚**(FR / AC 编号)在 Spec 就确立,**任务的证据**在 Verify 兜底,**任务的归档**在 Archive 收尾。所以 task 不等同于 coding。
51
+
52
+ ## 跨阶段执行硬原则
53
+
54
+ | 原则 | 生效阶段 | 载体 |
55
+ | --- | --- | --- |
56
+ | **证据先于断言** | coding / verify | [`zsk:task-evidence`](../task-evidence/SKILL.md) |
57
+ | **Red-Green-Refactor** | coding(Bugfix / Refactor 强制) | [`zsk:bugfix-tasks`](../bugfix-tasks/SKILL.md) / [`zsk:refactor-tasks`](../refactor-tasks/SKILL.md) |
58
+ | **Bug 置信度质疑** | coding(Bugfix) | [`zsk:bugfix-tasks`](../bugfix-tasks/SKILL.md) Step 0 三问 |
59
+ | **技术严谨 > 性能式同意** | reviewing | [`zsk:reviewing`](../reviewing/SKILL.md) |
60
+ | **行为不变契约** | coding(Refactor) | [`zsk:refactor-tasks`](../refactor-tasks/SKILL.md) + [`zsk:task-evidence`](../task-evidence/SKILL.md) |
61
+ | **编号化交叉引用** | spec → coding / verify | [`zsk:task-structure`](../task-structure/SKILL.md) |
62
+
63
+ ## 变更类型 → 任务模板选择
64
+
65
+ | 变更类型 | 用哪份模板 | 独特纪律 |
66
+ | --- | --- | --- |
67
+ | **Feature(通用)** | [`zsk:task-structure`](../task-structure/SKILL.md) + 自定义 | 两级结构 + FR 全覆盖 |
68
+ | **Feature(组件/前端)** | [`frontend:feature-tasks-frontend`](../../frontend/feature-tasks-frontend/SKILL.md) | 7 类强制任务 |
69
+ | **Bugfix** | [`zsk:bugfix-tasks`](../bugfix-tasks/SKILL.md) | TDD 强制(Red-Green-Regression)+ 置信度三问 |
70
+ | **Refactor** | [`zsk:refactor-tasks`](../refactor-tasks/SKILL.md) | 行为不变 + 小步原子 + Parallel Change(大) |
71
+ | **Maintenance**(依赖升级 / CVE) | 复用 Bugfix 模板(DoR 豁免 TDD) | 升级范围 + 回归覆盖 |
72
+ | **Docs Only** | 不走 tasks.md;PR 自检兜住 | 仅适用于纯文档改动 |
73
+
74
+ ## 启动一个任务的最小动作序列
75
+
76
+ ```text
77
+ 1. 读 proposal.md / spec.md / design.md 确认已冻结
78
+ 2. 按变更类型挑任务模板
79
+ 3. 复制到 docs/{module}/tasks.md
80
+ 4. 按 zsk:dor-dod 跑 DoR
81
+ 5. 按 zsk:task-structure 细化任务与估算
82
+ 6. 按 zsk:task-tracking 画依赖图、建阻塞记录
83
+ 7. 开始执行:**每任务完成 → 更新状态 + 填证据 → 短汇报 → 等人类确认 → 再推下一任务**(不自动连跑;详见 [`zsk:task-tracking`](../task-tracking/SKILL.md) §6)
84
+ 8. 交付前按 zsk:task-evidence 填证据
85
+ 9. 按 zsk:dor-dod 跑 DoD
86
+ 10. 进 zsk:reviewing → zsk:verify → zsk:archive
87
+ ```
88
+
89
+ ## 与工作流 skill 的边界
90
+
91
+ | 层级 | 本 skill 及 task-* 系列 | 工作流 skill([`feature`](../feature/SKILL.md) / [`bugfix`](../bugfix/SKILL.md) / [`refactor`](../refactor/SKILL.md)) |
92
+ | --- | --- | --- |
93
+ | 粒度 | 任务级(一个任务怎么写怎么跑) | 工作流级(7 阶段怎么编排) |
94
+ | 产出 | 填进 `docs/{module}/tasks.md` | 分步指引 + skill 调用序列 |
95
+ | 谁先读 | **先读工作流 skill 建立阶段编排 → 再挑 task 模板填** | |
96
+
97
+ ## 项目适配(跨项目复用)
98
+
99
+ 本 framework 是**项目无关**的方法论;**项目特定约束**在:
100
+
101
+ | 位置 | 内容 |
102
+ | --- | --- |
103
+ | `SYSTEM-SPEC.md` | 项目宪法级规约 |
104
+ | `project-config.yaml`(CLI init 产出) | 占位符配置 |
105
+ | `docs/system/adrs/` | 已决策的架构选择 |
106
+ | `zsk:quality` / `zsk:frontend` 等 | 项目执行规范 |
107
+
108
+ coding 阶段实现时,**必须**先读这些层级确认"本项目的约束",再按任务模板填。
109
+
110
+ ## 反模式(禁止)
111
+
112
+ - ❌ 跳过 tasks.md 直接写代码(追溯不到覆盖 FR)
113
+ - ❌ 把任务模板改成项目特定的内容(污染通用 framework —— 项目约束放 SYSTEM-SPEC)
114
+ - ❌ DoR 未全绿就启动(后续一定返工)
115
+ - ❌ 证据 "后补"(违反证据先于断言)
116
+ - ❌ 任务颗粒过大(> 2 人天)又不拆
@@ -0,0 +1,178 @@
1
+ ---
2
+ name: zsk:task-evidence
3
+ description: Task verification evidence discipline — FR coverage matrix (every
4
+ FR/NFR from spec has coverage task + acceptance evidence), AC checklist with
5
+ reproducible links, validation records per gate
6
+ (lint/type-check/test/security/etc.). Enforces "evidence before assertion" —
7
+ links must be clickable and reproducible.
8
+ category: resource
9
+ domain: sdlc
10
+ tier: core
11
+ related:
12
+ - ../task/SKILL.md
13
+ - ../task-structure/SKILL.md
14
+ - ../verify/SKILL.md
15
+ - ../../frontend/nfr-web/SKILL.md
16
+ triggers:
17
+ - FR coverage matrix
18
+ - AC verification
19
+ - validation record
20
+ - evidence links
21
+ - evidence before assertion
22
+ ---
23
+
24
+ # Evidence Record — FR 覆盖矩阵 / AC 勾选 / 校验记录
25
+
26
+ > **用途**:交付前填写的**证据链模板**,直接复制到 `docs/{module}/tasks.md`(或独立 `docs/{module}/verify.md`)
27
+ > **核心原则**:**证据先于断言** — 每一行"通过"都必须有**可追溯链接**(CI 构建 / 测试报告 / 截图 / 录屏)
28
+
29
+ ## 1. FR 覆盖矩阵(交叉引用闭环)
30
+
31
+ > 从 `spec.md` 的 FR / NFR 列表**完整复制**过来,每条必须有"覆盖任务 + 验收证据"。
32
+
33
+ ```md
34
+ ## FR 覆盖矩阵
35
+
36
+ | Spec 编号 | 简述(摘自 Spec) | 覆盖任务 | 验收证据 |
37
+ | --- | --- | --- | --- |
38
+ | FR-1 | {功能描述} | T-2.1, T-5.1 | {测试报告链接} |
39
+ | FR-2 | {功能描述} | T-2.2, T-5.1 | {测试报告链接} |
40
+ | NFR-1 | {性能要求} | T-6, T-7.1 | {性能报告} |
41
+ | NFR-2 | {安全要求} | T-7.1 | {依赖扫描报告} |
42
+ ```
43
+
44
+ ### 规则
45
+
46
+ - **每条 Spec 的 FR / NFR 都必须有至少一条覆盖任务 + 一条验收证据**
47
+ - 废弃的 FR 保留编号并标注 `(废弃)`,不可删除
48
+ - 未覆盖的 FR = DoD 未达 = 不可合并
49
+ - 编号引自 `spec.md`,矩阵只复制不自造
50
+
51
+ > 前端项目 NFR 常见基线(CWV / WCAG / 三语 / 浏览器矩阵)见 [`frontend:nfr-web`](../../frontend/nfr-web/SKILL.md)
52
+
53
+ ## 2. AC 勾选(BDD 场景验证)
54
+
55
+ > `spec.md` 的 Acceptance Criteria 清单,**逐条勾选 + 附证据**。
56
+
57
+ ```md
58
+ ## Acceptance Verification
59
+
60
+ | AC 编号 | 场景 | 状态 | 证据 |
61
+ | --- | --- | --- | --- |
62
+ | AC-1 | Happy path:... | ✅ | {E2E 录屏链接} |
63
+ | AC-2 | Edge case:... | ✅ | {截图链接} |
64
+ | AC-3 | Error:... | ✅ | {截图链接} |
65
+ ```
66
+
67
+ ### 证据类型
68
+
69
+ | AC 类型 | 推荐证据形式 |
70
+ | --- | --- |
71
+ | Happy path | E2E 录屏 / 截图 + 测试用例链接 |
72
+ | Edge case | 截图 + 单元测试报告 |
73
+ | Error case | 截图 + 错误日志 / 错误边界行为录屏 |
74
+ | 性能 | 性能报告(按栈选工具)|
75
+ | 安全 | 扫描 / 审计报告 |
76
+
77
+ ### 每条必须可重现
78
+
79
+ 证据链接必须**可点开**。不接受:
80
+ - ❌ "本地跑过"(无链接)
81
+ - ❌ "截图在飞书 / 微信"(链接会失效)
82
+ - ❌ "大概这样"(无具体数据)
83
+
84
+ ## 3. 校验记录(门禁证据表)
85
+
86
+ > 每个门禁一行,**每行必须有证据链接**。
87
+
88
+ ```md
89
+ ## 校验记录(证据先于断言)
90
+
91
+ | 门禁 | 结果 | 证据链接 |
92
+ | --- | --- | --- |
93
+ | lint(`{{config.scripts.lint}}`) | ✅ | {CI 构建链接} |
94
+ | type-check(`{{config.scripts.type_check}}`) | ✅ | {CI 构建链接} |
95
+ | 单元测试(`{{config.scripts.test}}`) | ✅ | {覆盖率报告} |
96
+ | 集成测试 | ✅ | {测试报告} |
97
+ | E2E 测试 | ✅ | {报告} |
98
+ | 安全(依赖扫描) | ✅ | {audit 输出} |
99
+ ```
100
+
101
+ > 前端项目额外:视觉回归 / a11y / i18n / 性能(Lighthouse)/ 包体积(Bundle Analyzer)— 见 [`frontend:nfr-web`](../../frontend/nfr-web/SKILL.md)
102
+
103
+ ### 门禁类别(按变更类型)
104
+
105
+ | 类别 | Feature | Bugfix | Refactor |
106
+ | --- | --- | --- | --- |
107
+ | lint / type-check / 单元 | ✅ | ✅ | ✅ |
108
+ | 视觉回归(前端) | ✅ | ✅ | ✅(零差异) |
109
+ | a11y(前端) | ✅ | 相关时 | ✅ |
110
+ | i18n(前端) | ✅ | 相关时 | ✅ |
111
+ | 性能(前端) | ✅ | — | ✅(对照) |
112
+ | 包体积(前端) | — | — | ✅(≤ ±2%) |
113
+ | 安全 | ✅ | ✅ | 相关时 |
114
+ | 回归测试 | — | ✅(必须) | — |
115
+ | Characterization | — | — | ✅(必须) |
116
+
117
+ ## 4. Refactor 专用:行为不变对照
118
+
119
+ > Refactor 额外需要 before/after 对照证据。
120
+
121
+ ```md
122
+ ## 行为不变证据链
123
+
124
+ | 对照项 | 重构前 | 重构后 | 差异 |
125
+ | --- | --- | --- | --- |
126
+ | 所有测试 | ✅ 全绿 | ✅ 全绿 | 0 |
127
+ | Characterization Test | ✅ 全绿 | ✅ 全绿 | 0 |
128
+ | 视觉快照(前端) | {截图 A} | {截图 B} | 0 差异 |
129
+ | 性能评分(前端) | 92 | 93 | +1(无回退) |
130
+ | Bundle 大小(前端) | 512KB | 508KB | -0.8%(< ±2%) |
131
+ | 公开接口 | {列} | {列} | 无新增 / 删除 |
132
+ ```
133
+
134
+ ## 5. Bugfix 专用:复现对照
135
+
136
+ > Bugfix 额外需要 before(复现)/ after(修复)对照证据。
137
+
138
+ ```md
139
+ ## 复现对照
140
+
141
+ | 步骤 | 修复前 | 修复后 |
142
+ | --- | --- | --- |
143
+ | 原 MCVE 复现步骤 | ❌ bug 复现(录屏 A) | ✅ 不再复现(录屏 B) |
144
+ | 相邻场景 A | ✅ 正常 | ✅ 正常(无回归) |
145
+ | 相邻场景 B | ✅ 正常 | ✅ 正常(无回归) |
146
+ | 回归测试 | 不存在 | ✅ 新增,绿 |
147
+ ```
148
+
149
+ ## 证据链规范
150
+
151
+ ### 链接要求
152
+
153
+ | 类型 | 接受的链接 |
154
+ | --- | --- |
155
+ | CI 构建 | GitLab Pipeline URL / GitHub Actions URL |
156
+ | 测试报告 | CI 的 artifact / 覆盖率报告服务 |
157
+ | 截图 / 录屏 | 仓库内 `docs/{module}/archive/` 或对象存储 URL |
158
+ | 第三方报告 | 工具 HTML 导出 |
159
+
160
+ ### 禁止
161
+
162
+ - ❌ "localhost" 或本地路径
163
+ - ❌ 聊天工具内消息截图
164
+ - ❌ 仅文字描述无链接
165
+ - ❌ 链接指向 mutable 内容(如"最新构建")— 必须指向具体构建号 / commit
166
+
167
+ ## 何时填
168
+
169
+ - 任务执行中:校验记录**随做随填**
170
+ - 交付前:AC 勾选 + FR 覆盖矩阵**汇总填完**
171
+ - 审计时:整份表作为 verify 阶段的输入
172
+
173
+ ## 反模式(禁止)
174
+
175
+ - ❌ FR 覆盖矩阵"先填 ✅ 后补证据"(审计发现即门禁失败)
176
+ - ❌ 证据链接失效 / 点不开(视作无证据)
177
+ - ❌ 多个任务指同一证据但内容不符(伪造)
178
+ - ❌ 绕过本表直接声称"通过"(违反证据先于断言硬原则)
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: zsk:task-structure
3
+ description: tasks.md authoring discipline — task granularity (0.5-2
4
+ person-days), two-level structure (parent/child, no deeper), estimation unit
5
+ (T-shirt or Fibonacci), required fields per task
6
+ (status/owner/covers-FR/deliverable/verification), FR coverage numbering
7
+ rules.
8
+ category: resource
9
+ domain: sdlc
10
+ tier: core
11
+ related:
12
+ - ../task/SKILL.md
13
+ - ../task-tracking/SKILL.md
14
+ - ../task-evidence/SKILL.md
15
+ - ../dor-dod/SKILL.md
16
+ triggers:
17
+ - task granularity
18
+ - task estimation
19
+ - T-shirt sizing
20
+ - story points
21
+ - FR coverage numbering
22
+ - two-level task structure
23
+ ---
24
+
25
+ # Task Structure — 任务粒度 / 估算 / 两级结构 / FR 覆盖编号
26
+
27
+ > **用途**:写 `docs/{module}/tasks.md` 的任务列表前,按本规则设计任务的**粒度、结构、估算和追溯锚**
28
+
29
+ ## 核心规则
30
+
31
+ ### 1. 两级结构
32
+
33
+ ```text
34
+ 1. 父任务(主题级) ← 交付一组可验收的能力
35
+ 1.1 子任务(执行级) ← 半天到两天能做完
36
+ 1.2 子任务
37
+ 2. 父任务
38
+ 2.1 子任务
39
+ ```
40
+
41
+ **禁止**:
42
+ - ❌ 三级或更深(`1.1.1`)— 粒度过细,tasks.md 会变成追踪泥潭
43
+ - ❌ 只有父任务无子任务(无法估算与分配)
44
+ - ❌ 只有散落的子任务无父任务(无法组成可验收切片)
45
+
46
+ ### 2. 任务粒度
47
+
48
+ | 粒度 | 时长 | 信号 |
49
+ | --- | --- | --- |
50
+ | **合理** | 0.5 – 2 人天 | 一个人、一个 PR、一个清晰 acceptance |
51
+ | **过大** | > 2 人天 | 拆!否则 blocker 影响过大 |
52
+ | **过小** | < 0.5 人天 | 并入邻近任务,减少 tracking 开销 |
53
+
54
+ ### 3. 估算单位(二选一,全局统一)
55
+
56
+ #### T-shirt Size
57
+
58
+ | Size | 对应人天 | 适用 |
59
+ | --- | --- | --- |
60
+ | XS | 0.5 | 显而易见的小改动 |
61
+ | S | 1 | 常规单点功能 |
62
+ | M | 2 | 带对接 / 集成 |
63
+ | L | 3–5 | 跨文件重构 |
64
+ | XL | > 5 | ⚠️ 必须拆 |
65
+
66
+ #### Story Points(Fibonacci)
67
+
68
+ `1 / 2 / 3 / 5 / 8`;超过 8 点必拆。
69
+
70
+ ### 4. 每个任务必含字段
71
+
72
+ ```md
73
+ ### {编号}. {任务标题}({估算})
74
+ 状态:`TODO` / `DOING` / `DONE` / `BLOCKED`
75
+ 负责人:@{handle}
76
+ 覆盖 FR:FR-1, FR-3(引自 spec.md,前置对齐任务填"无")
77
+ 子任务:
78
+ - [ ] {编号}.1 {动作}
79
+ - [ ] {编号}.2 {动作}
80
+ 交付物:
81
+ - {文件 / 代码 / 报告}
82
+ 验证:
83
+ - {命令 / 报告链接}
84
+ ```
85
+
86
+ **硬字段**:状态 · 估算 · 覆盖 FR 编号 · 交付物 · 验证方式
87
+
88
+ ### 5. 覆盖 FR 编号规则(交叉引用锚的执行端)
89
+
90
+ > Spec 是编号的**唯一发源地**(FR / NFR / US / AC),Coding 阶段只引用不自创。
91
+
92
+ #### 每任务声明
93
+
94
+ 每个任务在任务头显式列 `覆盖 FR: FR-1, FR-3, NFR-2`:
95
+
96
+ - **引自** `spec.md`,**不自造**新编号
97
+ - 前置对齐任务(事实源核对、环境准备)填 `覆盖 FR: 无`
98
+ - 一个 FR 可被多个任务覆盖
99
+ - 一个任务可覆盖多个 FR
100
+
101
+ #### 末端兜底
102
+
103
+ `docs/{module}/tasks.md` 末尾必须有 **FR 覆盖矩阵**(模板见 [`zsk:task-evidence`](../task-evidence/SKILL.md))。
104
+
105
+ #### 编号只增不改
106
+
107
+ ```text
108
+ 删除功能 → FR-3 (废弃) # 保留编号
109
+ 合并功能 → FR-7 (合并自 FR-3 + FR-5)
110
+ 拆分功能 → FR-3 拆分为 FR-9, FR-10 # 原 FR-3 保留
111
+ ```
112
+
113
+ **理由**:下游(Design 实现映射、Task 覆盖矩阵、Bugfix 受影响契约)都用编号做锚。编号漂移 → 追溯链断。
114
+
115
+ ### 6. 任务分类建议
116
+
117
+ **通用变更**:按"事实源对齐 / 核心实现 / 测试 / 质量门禁准备"四类组织。
118
+
119
+ **组件 / 前端**(强制 7 类):见 [`frontend:feature-tasks-frontend`](../../frontend/feature-tasks-frontend/SKILL.md) — 事实源对齐 / Props / UE-MCP / UE 状态 / 测试 / 视觉回归 / 质量门禁。
120
+
121
+ **Bugfix**:TDD 四步(Red / Green / Regression / Evidence)— 见 [`zsk:bugfix-tasks`](../bugfix-tasks/SKILL.md)。
122
+
123
+ **Refactor**:Characterization + 小步 + Parallel Change(大)— 见 [`zsk:refactor-tasks`](../refactor-tasks/SKILL.md)。
124
+
125
+ ### 7. 总工作量声明
126
+
127
+ tasks.md 末尾给出:
128
+
129
+ ```md
130
+ ## 总工作量
131
+ - T-shirt:`M` / 或 Story Points:`13`
132
+ - 人天:`7.0`
133
+ - 工期(日历天):`{含并行的日历天数}`
134
+ ```
135
+
136
+ **人天 ≠ 工期**:并行任务可压缩工期,但总人天不变。
137
+
138
+ ## Skip 规则(粒度放宽)
139
+
140
+ | 场景 | 粒度可放宽为 |
141
+ | --- | --- |
142
+ | 小重构(rename / extract function) | 单任务完成,跳过两级结构 |
143
+ | P3 typo / 样式微调 | 单任务 + 单 commit |
144
+ | Spike / 调研任务 | 用 timebox 而非 estimation("最多 0.5 天") |
145
+
146
+ ## 反模式(禁止)
147
+
148
+ - ❌ 任务没有估算(无法预测 release)
149
+ - ❌ 任务没有"覆盖 FR"字段(追溯断链)
150
+ - ❌ "实现功能"这种总概括任务(必须拆具体)
151
+ - ❌ 子任务自造新 FR 编号(只能引用 Spec)
152
+ - ❌ 一个任务 > 2 人天(必拆)
153
+ - ❌ 估算后不校准(实际耗时与估算偏差 > 50% 要分析为什么)
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: zsk:task-tracking
3
+ description: Task execution tracking — dependencies (Mermaid graph), blockers
4
+ (dated log with severity H/M/L and escalation rules), milestones (stage exits
5
+ with committed dates), and task state transitions (TODO → DOING → DONE, with
6
+ BLOCKED requiring log entry).
7
+ category: resource
8
+ domain: sdlc
9
+ tier: core
10
+ related:
11
+ - ../task/SKILL.md
12
+ - ../task-structure/SKILL.md
13
+ - ../dor-dod/SKILL.md
14
+ triggers:
15
+ - task dependency graph
16
+ - blocker log
17
+ - milestones
18
+ - task state flow
19
+ - standup progress
20
+ ---
21
+
22
+ # Task Tracking — 依赖 / 阻塞 / 里程碑
23
+
24
+ > **用途**:任务执行全程更新的**状态跟踪模板**,直接复制到 `docs/{module}/tasks.md`
25
+
26
+ ## 1. 任务依赖图(Mermaid)
27
+
28
+ 用 `graph LR`(左到右)或 `graph TD`(上到下),显式标节点:
29
+
30
+ ```md
31
+ ## 任务依赖
32
+
33
+ \`\`\`mermaid
34
+ graph LR
35
+ T1[1. 事实源对齐] --> T2[2. 核心实现]
36
+ T1 --> T3[3. 资源 / 契约刷新]
37
+ T2 --> T4[4. 集成测试]
38
+ T3 --> T4
39
+ T4 --> T5[5. 质量门禁]
40
+ \`\`\`
41
+ ```
42
+
43
+ **纪律**:
44
+ - 有依赖必画;没依赖才可并行
45
+ - 节点名用"编号 + 简述"(便于对照任务列表)
46
+ - 环 / 孤岛 / 反向箭头都是设计错误(rebuild 图)
47
+
48
+ ### 何时更新
49
+
50
+ - 任务列表初稿定型后必画
51
+ - 出现新的阻塞 → 重画
52
+ - 范围调整 → 重画
53
+
54
+ ## 2. 阻塞记录(Blocker Log)
55
+
56
+ **核心约束**:阻塞必须**显式记录**才算存在。口头"等 X"不算。
57
+
58
+ ```md
59
+ ## 阻塞记录
60
+
61
+ | 日期 | 阻塞描述 | 影响任务 | 影响程度 | 责任人 | 预期解决 | 解决日期 | 结论 |
62
+ | --- | --- | --- | --- | --- | --- | --- | --- |
63
+ | YYYY-MM-DD | 后端 XX 接口未提供 mock 环境 | T-2.1, T-5.2 | H | @backend-lead | YYYY-MM-DD | YYYY-MM-DD | 临时 mock 本地 JSON,待后端联调切换 |
64
+ ```
65
+
66
+ ### 字段
67
+
68
+ | 字段 | 说明 |
69
+ | --- | --- |
70
+ | 日期 | 阻塞**出现**日期 |
71
+ | 阻塞描述 | 是什么阻塞(接口 / 环境 / 人员 / 外部依赖) |
72
+ | 影响任务 | 哪些任务被阻(任务编号) |
73
+ | 影响程度 | H(阻塞主路径)/ M(阻塞可并行线)/ L(仅优化) |
74
+ | 责任人 | 谁来解 |
75
+ | 预期解决 | 预估解锁日期 |
76
+ | 解决日期 | 实际解锁日期(未解锁留空) |
77
+ | 结论 | 怎么解的(或"转规避方案") |
78
+
79
+ ### 升级规则
80
+
81
+ - **H 级**:24h 内无解 → 升级到产品 / 架构 / 负责人
82
+ - **M 级**:72h 内无解 → 升级
83
+ - **L 级**:sprint 结束前未解 → 列入下轮 proposal
84
+
85
+ ## 3. 里程碑(Milestones)
86
+
87
+ ```md
88
+ ## 里程碑
89
+ - [ ] Spec 冻结 {YYYY-MM-DD}
90
+ - [ ] Design 冻结 {YYYY-MM-DD}
91
+ - [ ] Code Complete {YYYY-MM-DD}
92
+ - [ ] Reviewing 通过 {YYYY-MM-DD}
93
+ - [ ] Verify 通过 {YYYY-MM-DD}
94
+ - [ ] 合并主干 {YYYY-MM-DD}
95
+ - [ ] 发布(含 canary){YYYY-MM-DD}
96
+ - [ ] Archive 完成 {YYYY-MM-DD}
97
+ ```
98
+
99
+ ### 规则
100
+
101
+ - 里程碑对应**阶段出口**(非中间状态)
102
+ - 日期写**承诺**日期(不是"预估");滑动必须在 log 里解释
103
+ - 勾选 = 所有 exit criteria 全过
104
+
105
+ ## 4. 状态流转(任务状态)
106
+
107
+ ```text
108
+ TODO → DOING → DONE
109
+ ↓ 阻塞时
110
+ BLOCKED → DOING(解锁后)
111
+ ```
112
+
113
+ | 状态 | 含义 | 转入条件 |
114
+ | --- | --- | --- |
115
+ | `TODO` | 未开始 | 默认初始 |
116
+ | `DOING` | 进行中 | 有人拿起来做 |
117
+ | `BLOCKED` | 阻塞 | 必须同时在**阻塞记录**登记 |
118
+ | `DONE` | 完成 | DoD 对应项全绿 |
119
+
120
+ **禁止**:
121
+ - ❌ `DONE` 后再改回 `DOING`(有 regression 就新开子任务)
122
+ - ❌ `BLOCKED` 不登记到阻塞记录("我口头说过了"不算)
123
+ - ❌ 多人同时 `DOING` 一个任务(同一任务一个负责人,协作开子任务)
124
+
125
+ ## 5. 进度汇报模板(stand-up)
126
+
127
+ tasks.md 可选的 daily 汇报 section:
128
+
129
+ ```md
130
+ ## 进度汇报
131
+
132
+ ### {YYYY-MM-DD}(@{owner})
133
+ - Done today: T-2.1, T-3.1
134
+ - Doing: T-2.2(阻塞在 log #1)
135
+ - Next: T-5.1(等 T-2.2 解锁)
136
+ ```
137
+
138
+ ### 汇报三问
139
+
140
+ 1. **今天完成了哪些编号任务**?
141
+ 2. **明天要推进哪些**?
142
+ 3. **有什么阻塞、谁能解**?
143
+
144
+ ## 6. 每任务交互契约(LLM / 代理执行)
145
+
146
+ 当任务由 LLM 或代理执行时,**单任务完成的交互流程**必须遵守,不自动连跑:
147
+
148
+ ```text
149
+ 执行任务
150
+
151
+ 更新状态(DOING → DONE)+ 填证据链接
152
+
153
+ 短汇报(1-3 句:"做了什么 + 证据位置")
154
+
155
+ 等待人类确认 ← 停在这里,不自动推进下一个
156
+
157
+ 人类决策:
158
+ ├─ 通过 → 推进下一任务
159
+ ├─ 需修改 → 状态回 DOING + 追加子任务
160
+ └─ 范围变动 → 回 spec/design 走变更流程
161
+ ```
162
+
163
+ ### 何时可例外
164
+
165
+ - **纯读取任务**(调研、搜索、只读扫描)可批量推进不等确认
166
+ - **用户显式授权"连跑 N 个"**(如 "跑完 T-1/T-2/T-3 再一起确认")
167
+ - **CI/CD 内的自动化任务**(独立兜底 + PR review 兜底)
168
+
169
+ ### 为什么
170
+
171
+ - **证据先于断言**:每步落证据 + 人类审计,防止错误级联
172
+ - **决策归属**:LLM 执行、人类决策——每任务一个 checkpoint
173
+ - **上下文友好**:刚做完时状态最清晰,拖到批末补证据找不回上下文
174
+ - **映射 GSD**:每个 Engage 后回 Reflect,不是无休止 Engage
175
+
176
+ ## 7. 返工 / 重开规则
177
+
178
+ DoR / DoD 检出问题时:
179
+
180
+ - **小范围返工**:原任务状态保持 `DOING`,子任务清单追加
181
+ - **大范围返工**:新开任务 `X.R`(R = rework),显式列原因
182
+ - **范围变动**:回 `spec.md` / `design.md` 走变更流程,**不在 tasks.md 偷改 scope**
183
+
184
+ ## 反模式(禁止)
185
+
186
+ - ❌ 没画依赖图(并行度估错 → 工期错)
187
+ - ❌ 阻塞在群里说但 log 没记(追溯时找不到)
188
+ - ❌ 里程碑一直滑动但不写解释(信任损耗)
189
+ - ❌ `DONE` 后偷改(审计无据)
190
+ - ❌ 一个人同时 `DOING` 3+ 任务(上下文切换毒药)
191
+ - ❌ LLM / 代理自动连跑多任务不停(失去人类审计点;见 §6)
192
+ - ❌ 状态更新延迟到批末(刚做完是最佳落证据窗口)