@captain_z/zsk-skills 1.8.3 → 1.8.5

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 (302) hide show
  1. package/README.md +22 -22
  2. package/acceptance/SKILL.md +4 -1
  3. package/acceptance/harness/THIS_SKILL.md +28 -1
  4. package/acceptance/harness/constraints/filesystem-boundaries.md +19 -2
  5. package/acceptance/harness/constraints/issue-taxonomy.md +36 -0
  6. package/acceptance/harness/constraints/skill-role-contract.md +120 -5
  7. package/acceptance/harness/constraints/source-of-truth.md +8 -2
  8. package/acceptance/harness/constraints/stage-gates.md +58 -4
  9. package/acceptance/harness/profiles/frontend.yaml +2 -3
  10. package/acceptance/harness/workflow/completion-contract.yaml +12 -1
  11. package/acceptance/harness/workflow/skill-io-contract.yaml +23 -0
  12. package/acceptance/harness/workflow/skill-quality-standards.yaml +56 -2
  13. package/acceptance/harness/workflow/stage-contracts.yaml +9 -9
  14. package/archive/SKILL.md +4 -1
  15. package/archive/harness/THIS_SKILL.md +28 -1
  16. package/archive/harness/constraints/filesystem-boundaries.md +19 -2
  17. package/archive/harness/constraints/issue-taxonomy.md +36 -0
  18. package/archive/harness/constraints/skill-role-contract.md +120 -5
  19. package/archive/harness/constraints/source-of-truth.md +8 -2
  20. package/archive/harness/constraints/stage-gates.md +58 -4
  21. package/archive/harness/profiles/frontend.yaml +2 -3
  22. package/archive/harness/workflow/completion-contract.yaml +12 -1
  23. package/archive/harness/workflow/skill-io-contract.yaml +23 -0
  24. package/archive/harness/workflow/skill-quality-standards.yaml +56 -2
  25. package/archive/harness/workflow/stage-contracts.yaml +9 -9
  26. package/bundles.yaml +3 -2
  27. package/coding/SKILL.md +23 -5
  28. package/coding/harness/THIS_SKILL.md +33 -2
  29. package/coding/harness/constraints/filesystem-boundaries.md +19 -2
  30. package/coding/harness/constraints/issue-taxonomy.md +36 -0
  31. package/coding/harness/constraints/skill-role-contract.md +120 -5
  32. package/coding/harness/constraints/source-of-truth.md +8 -2
  33. package/coding/harness/constraints/stage-gates.md +58 -4
  34. package/coding/harness/profiles/frontend.yaml +2 -3
  35. package/coding/harness/workflow/completion-contract.yaml +12 -1
  36. package/coding/harness/workflow/skill-io-contract.yaml +23 -0
  37. package/coding/harness/workflow/skill-quality-standards.yaml +68 -3
  38. package/coding/harness/workflow/stage-contracts.yaml +9 -9
  39. package/commit/SKILL.md +4 -1
  40. package/commit/harness/THIS_SKILL.md +28 -1
  41. package/commit/harness/constraints/filesystem-boundaries.md +19 -2
  42. package/commit/harness/constraints/issue-taxonomy.md +36 -0
  43. package/commit/harness/constraints/skill-role-contract.md +120 -5
  44. package/commit/harness/constraints/source-of-truth.md +8 -2
  45. package/commit/harness/constraints/stage-gates.md +58 -4
  46. package/commit/harness/profiles/frontend.yaml +2 -3
  47. package/commit/harness/workflow/completion-contract.yaml +12 -1
  48. package/commit/harness/workflow/skill-io-contract.yaml +23 -0
  49. package/commit/harness/workflow/skill-quality-standards.yaml +56 -2
  50. package/commit/harness/workflow/stage-contracts.yaml +9 -9
  51. package/defect/SKILL.md +4 -1
  52. package/defect/harness/THIS_SKILL.md +28 -1
  53. package/defect/harness/best-practices/frontend.md +2 -3
  54. package/defect/harness/constraints/filesystem-boundaries.md +19 -2
  55. package/defect/harness/constraints/issue-taxonomy.md +36 -0
  56. package/defect/harness/constraints/skill-role-contract.md +120 -5
  57. package/defect/harness/constraints/source-of-truth.md +8 -2
  58. package/defect/harness/constraints/stage-gates.md +58 -4
  59. package/defect/harness/profiles/frontend.yaml +2 -3
  60. package/defect/harness/workflow/completion-contract.yaml +12 -1
  61. package/defect/harness/workflow/skill-io-contract.yaml +23 -0
  62. package/defect/harness/workflow/skill-quality-standards.yaml +56 -2
  63. package/defect/harness/workflow/stage-contracts.yaml +9 -9
  64. package/demo/SKILL.md +9 -4
  65. package/demo/harness/THIS_SKILL.md +30 -1
  66. package/demo/harness/best-practices/design-handoff.md +81 -3
  67. package/demo/harness/best-practices/frontend.md +2 -3
  68. package/demo/harness/constraints/filesystem-boundaries.md +19 -2
  69. package/demo/harness/constraints/issue-taxonomy.md +36 -0
  70. package/demo/harness/constraints/skill-role-contract.md +120 -5
  71. package/demo/harness/constraints/source-of-truth.md +8 -2
  72. package/demo/harness/constraints/stage-gates.md +58 -4
  73. package/demo/harness/profiles/frontend.yaml +2 -3
  74. package/demo/harness/workflow/completion-contract.yaml +12 -1
  75. package/demo/harness/workflow/skill-io-contract.yaml +23 -0
  76. package/demo/harness/workflow/skill-quality-standards.yaml +61 -2
  77. package/demo/harness/workflow/stage-contracts.yaml +9 -9
  78. package/deploy/SKILL.md +4 -1
  79. package/deploy/harness/THIS_SKILL.md +28 -1
  80. package/deploy/harness/constraints/filesystem-boundaries.md +19 -2
  81. package/deploy/harness/constraints/issue-taxonomy.md +36 -0
  82. package/deploy/harness/constraints/skill-role-contract.md +120 -5
  83. package/deploy/harness/constraints/source-of-truth.md +8 -2
  84. package/deploy/harness/constraints/stage-gates.md +58 -4
  85. package/deploy/harness/profiles/frontend.yaml +2 -3
  86. package/deploy/harness/workflow/completion-contract.yaml +12 -1
  87. package/deploy/harness/workflow/skill-io-contract.yaml +23 -0
  88. package/deploy/harness/workflow/skill-quality-standards.yaml +56 -2
  89. package/deploy/harness/workflow/stage-contracts.yaml +9 -9
  90. package/design/SKILL.md +19 -3
  91. package/design/harness/THIS_SKILL.md +38 -11
  92. package/design/harness/best-practices/README.md +0 -1
  93. package/design/harness/best-practices/frontend.md +2 -3
  94. package/design/harness/constraints/filesystem-boundaries.md +19 -2
  95. package/design/harness/constraints/issue-taxonomy.md +36 -0
  96. package/design/harness/constraints/skill-role-contract.md +120 -5
  97. package/design/harness/constraints/source-of-truth.md +8 -2
  98. package/design/harness/constraints/stage-gates.md +58 -4
  99. package/design/harness/profiles/frontend.yaml +2 -3
  100. package/design/harness/workflow/completion-contract.yaml +12 -1
  101. package/design/harness/workflow/skill-io-contract.yaml +26 -4
  102. package/design/harness/workflow/skill-quality-standards.yaml +68 -6
  103. package/design/harness/workflow/stage-contracts.yaml +9 -9
  104. package/dispatch/SKILL.md +4 -1
  105. package/dispatch/harness/THIS_SKILL.md +28 -1
  106. package/dispatch/harness/constraints/filesystem-boundaries.md +19 -2
  107. package/dispatch/harness/constraints/issue-taxonomy.md +36 -0
  108. package/dispatch/harness/constraints/skill-role-contract.md +120 -5
  109. package/dispatch/harness/constraints/source-of-truth.md +8 -2
  110. package/dispatch/harness/constraints/stage-gates.md +58 -4
  111. package/dispatch/harness/profiles/frontend.yaml +2 -3
  112. package/dispatch/harness/workflow/completion-contract.yaml +12 -1
  113. package/dispatch/harness/workflow/skill-io-contract.yaml +23 -0
  114. package/dispatch/harness/workflow/skill-quality-standards.yaml +56 -2
  115. package/dispatch/harness/workflow/stage-contracts.yaml +9 -9
  116. package/fix/SKILL.md +4 -1
  117. package/fix/harness/THIS_SKILL.md +28 -1
  118. package/fix/harness/constraints/filesystem-boundaries.md +19 -2
  119. package/fix/harness/constraints/issue-taxonomy.md +36 -0
  120. package/fix/harness/constraints/skill-role-contract.md +120 -5
  121. package/fix/harness/constraints/source-of-truth.md +8 -2
  122. package/fix/harness/constraints/stage-gates.md +58 -4
  123. package/fix/harness/profiles/frontend.yaml +2 -3
  124. package/fix/harness/workflow/completion-contract.yaml +12 -1
  125. package/fix/harness/workflow/skill-io-contract.yaml +23 -0
  126. package/fix/harness/workflow/skill-quality-standards.yaml +56 -2
  127. package/fix/harness/workflow/stage-contracts.yaml +9 -9
  128. package/flow/SKILL.md +13 -3
  129. package/flow/harness/THIS_SKILL.md +30 -1
  130. package/flow/harness/constraints/filesystem-boundaries.md +19 -2
  131. package/flow/harness/constraints/issue-taxonomy.md +36 -0
  132. package/flow/harness/constraints/skill-role-contract.md +120 -5
  133. package/flow/harness/constraints/source-of-truth.md +8 -2
  134. package/flow/harness/constraints/stage-gates.md +58 -4
  135. package/flow/harness/profiles/frontend.yaml +2 -3
  136. package/flow/harness/workflow/completion-contract.yaml +12 -1
  137. package/flow/harness/workflow/skill-io-contract.yaml +23 -0
  138. package/flow/harness/workflow/skill-quality-standards.yaml +60 -2
  139. package/flow/harness/workflow/stage-contracts.yaml +9 -9
  140. package/issue/SKILL.md +4 -1
  141. package/issue/harness/THIS_SKILL.md +28 -1
  142. package/issue/harness/constraints/filesystem-boundaries.md +19 -2
  143. package/issue/harness/constraints/issue-taxonomy.md +36 -0
  144. package/issue/harness/constraints/skill-role-contract.md +120 -5
  145. package/issue/harness/constraints/source-of-truth.md +8 -2
  146. package/issue/harness/constraints/stage-gates.md +58 -4
  147. package/issue/harness/profiles/frontend.yaml +2 -3
  148. package/issue/harness/workflow/completion-contract.yaml +12 -1
  149. package/issue/harness/workflow/skill-io-contract.yaml +23 -0
  150. package/issue/harness/workflow/skill-quality-standards.yaml +56 -2
  151. package/issue/harness/workflow/stage-contracts.yaml +9 -9
  152. package/learn/SKILL.md +4 -1
  153. package/learn/harness/THIS_SKILL.md +28 -1
  154. package/learn/harness/constraints/filesystem-boundaries.md +19 -2
  155. package/learn/harness/constraints/issue-taxonomy.md +36 -0
  156. package/learn/harness/constraints/skill-role-contract.md +120 -5
  157. package/learn/harness/constraints/source-of-truth.md +8 -2
  158. package/learn/harness/constraints/stage-gates.md +58 -4
  159. package/learn/harness/profiles/frontend.yaml +2 -3
  160. package/learn/harness/workflow/completion-contract.yaml +12 -1
  161. package/learn/harness/workflow/skill-io-contract.yaml +23 -0
  162. package/learn/harness/workflow/skill-quality-standards.yaml +56 -2
  163. package/learn/harness/workflow/stage-contracts.yaml +9 -9
  164. package/package.json +1 -1
  165. package/prepare/SKILL.md +4 -1
  166. package/prepare/harness/THIS_SKILL.md +28 -1
  167. package/prepare/harness/constraints/filesystem-boundaries.md +19 -2
  168. package/prepare/harness/constraints/issue-taxonomy.md +36 -0
  169. package/prepare/harness/constraints/skill-role-contract.md +120 -5
  170. package/prepare/harness/constraints/source-of-truth.md +8 -2
  171. package/prepare/harness/constraints/stage-gates.md +58 -4
  172. package/prepare/harness/profiles/frontend.yaml +2 -3
  173. package/prepare/harness/workflow/completion-contract.yaml +12 -1
  174. package/prepare/harness/workflow/skill-io-contract.yaml +23 -0
  175. package/prepare/harness/workflow/skill-quality-standards.yaml +56 -2
  176. package/prepare/harness/workflow/stage-contracts.yaml +9 -9
  177. package/preproposal/SKILL.md +90 -22
  178. package/preproposal/harness/THIS_SKILL.md +63 -8
  179. package/preproposal/harness/best-practices/design-handoff.md +81 -3
  180. package/preproposal/harness/constraints/filesystem-boundaries.md +19 -2
  181. package/preproposal/harness/constraints/issue-taxonomy.md +36 -0
  182. package/preproposal/harness/constraints/skill-role-contract.md +120 -5
  183. package/preproposal/harness/constraints/source-of-truth.md +8 -2
  184. package/preproposal/harness/constraints/stage-gates.md +58 -4
  185. package/preproposal/harness/profiles/frontend.yaml +2 -3
  186. package/preproposal/harness/workflow/completion-contract.yaml +12 -1
  187. package/preproposal/harness/workflow/skill-io-contract.yaml +42 -0
  188. package/preproposal/harness/workflow/skill-quality-standards.yaml +105 -9
  189. package/preproposal/harness/workflow/stage-contracts.yaml +9 -9
  190. package/preproposal/templates/interaction-handoff.md +88 -0
  191. package/proposal/SKILL.md +20 -11
  192. package/proposal/harness/THIS_SKILL.md +37 -5
  193. package/proposal/harness/constraints/filesystem-boundaries.md +19 -2
  194. package/proposal/harness/constraints/issue-taxonomy.md +36 -0
  195. package/proposal/harness/constraints/skill-role-contract.md +120 -5
  196. package/proposal/harness/constraints/source-of-truth.md +8 -2
  197. package/proposal/harness/constraints/stage-gates.md +58 -4
  198. package/proposal/harness/profiles/frontend.yaml +2 -3
  199. package/proposal/harness/workflow/completion-contract.yaml +12 -1
  200. package/proposal/harness/workflow/skill-io-contract.yaml +27 -4
  201. package/proposal/harness/workflow/skill-quality-standards.yaml +67 -2
  202. package/proposal/harness/workflow/stage-contracts.yaml +9 -9
  203. package/ready/SKILL.md +4 -1
  204. package/ready/harness/THIS_SKILL.md +28 -1
  205. package/ready/harness/constraints/filesystem-boundaries.md +19 -2
  206. package/ready/harness/constraints/issue-taxonomy.md +36 -0
  207. package/ready/harness/constraints/skill-role-contract.md +120 -5
  208. package/ready/harness/constraints/source-of-truth.md +8 -2
  209. package/ready/harness/constraints/stage-gates.md +58 -4
  210. package/ready/harness/profiles/frontend.yaml +2 -3
  211. package/ready/harness/workflow/completion-contract.yaml +12 -1
  212. package/ready/harness/workflow/skill-io-contract.yaml +23 -0
  213. package/ready/harness/workflow/skill-quality-standards.yaml +56 -2
  214. package/ready/harness/workflow/stage-contracts.yaml +9 -9
  215. package/review/SKILL.md +11 -1
  216. package/review/harness/THIS_SKILL.md +28 -1
  217. package/review/harness/best-practices/frontend.md +2 -3
  218. package/review/harness/constraints/filesystem-boundaries.md +19 -2
  219. package/review/harness/constraints/issue-taxonomy.md +36 -0
  220. package/review/harness/constraints/skill-role-contract.md +120 -5
  221. package/review/harness/constraints/source-of-truth.md +8 -2
  222. package/review/harness/constraints/stage-gates.md +58 -4
  223. package/review/harness/profiles/frontend.yaml +2 -3
  224. package/review/harness/workflow/completion-contract.yaml +12 -1
  225. package/review/harness/workflow/skill-io-contract.yaml +23 -0
  226. package/review/harness/workflow/skill-quality-standards.yaml +56 -2
  227. package/review/harness/workflow/stage-contracts.yaml +9 -9
  228. package/smoke/SKILL.md +4 -1
  229. package/smoke/harness/THIS_SKILL.md +28 -1
  230. package/smoke/harness/best-practices/frontend.md +2 -3
  231. package/smoke/harness/constraints/filesystem-boundaries.md +19 -2
  232. package/smoke/harness/constraints/issue-taxonomy.md +36 -0
  233. package/smoke/harness/constraints/skill-role-contract.md +120 -5
  234. package/smoke/harness/constraints/source-of-truth.md +8 -2
  235. package/smoke/harness/constraints/stage-gates.md +58 -4
  236. package/smoke/harness/profiles/frontend.yaml +2 -3
  237. package/smoke/harness/workflow/completion-contract.yaml +12 -1
  238. package/smoke/harness/workflow/skill-io-contract.yaml +23 -0
  239. package/smoke/harness/workflow/skill-quality-standards.yaml +56 -2
  240. package/smoke/harness/workflow/stage-contracts.yaml +9 -9
  241. package/spec/SKILL.md +4 -1
  242. package/spec/harness/THIS_SKILL.md +28 -1
  243. package/spec/harness/constraints/filesystem-boundaries.md +19 -2
  244. package/spec/harness/constraints/issue-taxonomy.md +36 -0
  245. package/spec/harness/constraints/skill-role-contract.md +120 -5
  246. package/spec/harness/constraints/source-of-truth.md +8 -2
  247. package/spec/harness/constraints/stage-gates.md +58 -4
  248. package/spec/harness/profiles/frontend.yaml +2 -3
  249. package/spec/harness/workflow/completion-contract.yaml +12 -1
  250. package/spec/harness/workflow/skill-io-contract.yaml +23 -0
  251. package/spec/harness/workflow/skill-quality-standards.yaml +56 -2
  252. package/spec/harness/workflow/stage-contracts.yaml +9 -9
  253. package/task/SKILL.md +4 -1
  254. package/task/harness/THIS_SKILL.md +28 -1
  255. package/task/harness/constraints/filesystem-boundaries.md +19 -2
  256. package/task/harness/constraints/issue-taxonomy.md +36 -0
  257. package/task/harness/constraints/skill-role-contract.md +120 -5
  258. package/task/harness/constraints/source-of-truth.md +8 -2
  259. package/task/harness/constraints/stage-gates.md +58 -4
  260. package/task/harness/profiles/frontend.yaml +2 -3
  261. package/task/harness/workflow/completion-contract.yaml +12 -1
  262. package/task/harness/workflow/skill-io-contract.yaml +23 -0
  263. package/task/harness/workflow/skill-quality-standards.yaml +56 -2
  264. package/task/harness/workflow/stage-contracts.yaml +9 -9
  265. package/verify/SKILL.md +4 -1
  266. package/verify/harness/THIS_SKILL.md +28 -1
  267. package/verify/harness/best-practices/frontend.md +2 -3
  268. package/verify/harness/constraints/filesystem-boundaries.md +19 -2
  269. package/verify/harness/constraints/issue-taxonomy.md +36 -0
  270. package/verify/harness/constraints/skill-role-contract.md +120 -5
  271. package/verify/harness/constraints/source-of-truth.md +8 -2
  272. package/verify/harness/constraints/stage-gates.md +58 -4
  273. package/verify/harness/profiles/frontend.yaml +2 -3
  274. package/verify/harness/workflow/completion-contract.yaml +12 -1
  275. package/verify/harness/workflow/skill-io-contract.yaml +23 -0
  276. package/verify/harness/workflow/skill-quality-standards.yaml +56 -2
  277. package/verify/harness/workflow/stage-contracts.yaml +9 -9
  278. package/zsk/SKILL.md +18 -7
  279. package/zsk/harness/THIS_SKILL.md +28 -1
  280. package/zsk/harness/constraints/filesystem-boundaries.md +19 -2
  281. package/zsk/harness/constraints/issue-taxonomy.md +36 -0
  282. package/zsk/harness/constraints/skill-role-contract.md +120 -5
  283. package/zsk/harness/constraints/source-of-truth.md +8 -2
  284. package/zsk/harness/constraints/stage-gates.md +58 -4
  285. package/zsk/harness/profiles/frontend.yaml +2 -3
  286. package/zsk/harness/workflow/completion-contract.yaml +12 -1
  287. package/zsk/harness/workflow/skill-io-contract.yaml +23 -0
  288. package/zsk/harness/workflow/skill-quality-standards.yaml +56 -2
  289. package/zsk/harness/workflow/stage-contracts.yaml +9 -9
  290. package/zskplan/SKILL.md +39 -17
  291. package/zskplan/harness/THIS_SKILL.md +40 -5
  292. package/zskplan/harness/constraints/filesystem-boundaries.md +19 -2
  293. package/zskplan/harness/constraints/issue-taxonomy.md +36 -0
  294. package/zskplan/harness/constraints/skill-role-contract.md +120 -5
  295. package/zskplan/harness/constraints/source-of-truth.md +8 -2
  296. package/zskplan/harness/constraints/stage-gates.md +58 -4
  297. package/zskplan/harness/profiles/frontend.yaml +2 -3
  298. package/zskplan/harness/workflow/completion-contract.yaml +12 -1
  299. package/zskplan/harness/workflow/skill-io-contract.yaml +26 -0
  300. package/zskplan/harness/workflow/skill-quality-standards.yaml +77 -8
  301. package/zskplan/harness/workflow/stage-contracts.yaml +9 -9
  302. package/design/harness/best-practices/design-handoff.md +0 -41
package/README.md CHANGED
@@ -2,20 +2,20 @@
2
2
 
3
3
  ZNorth Standard Kit 的可安装 skill 内容包。安装面现在只保留从根级 `skills/` 生成的 **core harness-first skills**;旧 `.best-practices/` 不再批量生成独立 installable skills,而是作为参考源按 skill 携带相关子集。
4
4
 
5
- 包内共有 **23 颗 installable skills**,全部来自根级 `skills/`。
5
+ 包内共有 **24 颗 installable skills**,全部来自根级 `skills/`。
6
6
 
7
7
  ## 合规审查(ARCHITECTURE §4.4 硬指标)
8
8
 
9
9
  | 检查项 | 结果 | 说明 |
10
10
  | ---------------------------------------------------------------------------------------- | ------- | ----------------------------------------------------- |
11
- | frontmatter 完整(`name` / `description` / `category` / `domain` / `tier` / `triggers`) | ✓ 23/23 | core 由 root `skills/` 生成 |
12
- | `name` 使用裸 slug,扁平且不含连字符 | ✓ 23/23 | LLM 原生 skill 入口保持简洁;CLI 选择层使用 `zsk:<slug>` |
13
- | `description` 简洁表达职责和使用时机 | ✓ 23/23 | 面向索引阅读;triggers 留给机器使用 |
14
- | `category` / `domain` / `tier` 枚举值合法 | ✓ 23/23 | stage/utility · core |
15
- | `triggers` 数组非空 | ✓ 23/23 | 至少含裸 slug |
11
+ | frontmatter 完整(`name` / `description` / `category` / `domain` / `tier` / `triggers`) | ✓ 24/24 | core 由 root `skills/` 生成 |
12
+ | `name` 使用裸 slug,扁平且不含连字符 | ✓ 24/24 | LLM 原生 skill 入口保持简洁;CLI 选择层使用 `zsk:<slug>` |
13
+ | `description` 简洁表达职责和使用时机 | ✓ 24/24 | 面向索引阅读;triggers 留给机器使用 |
14
+ | `category` / `domain` / `tier` 枚举值合法 | ✓ 24/24 | stage/utility · core |
15
+ | `triggers` 数组非空 | ✓ 24/24 | 至少含裸 slug |
16
16
  | 无硬编码项目名 / 技术栈(统一 `{{config.*}}` 占位符) | ✓ | harness-neutral |
17
17
  | `related:` 相对路径合法 | ✓ | core 不依赖参考层生成物 |
18
- | 单文件 ≤ 300 行 | ✓ 23/23 | core 由 `lint:harness` 强制 |
18
+ | 单文件 ≤ 300 行 | ✓ 24/24 | core 由 `lint:harness` 强制 |
19
19
 
20
20
  当前 `max-lines` 已由 `tools/lint-frontmatter.ts` 作为 error 强制;新增或修改 skill 不应超过 300 行。
21
21
 
@@ -36,10 +36,10 @@ Profile 是流程组合策略,不是新的 skill。Atomic skills 仍然平铺
36
36
  | --- | ---: | --- |
37
37
  | `zsk-entry` | 2 | 只装 `zskplan` / `zsk` 两个主入口,由它们按 harness 调度 |
38
38
  | `zsk-lite` | 11 | 小修、小项目、脚本、低风险任务 |
39
- | `zsk-sdlc` | 20 | 标准工程交付;需求、实现、审查、验证、验收、归档 |
40
- | `zsk-frontend` | 21 | UI/UX/browser-facing 交付;强化 demo、视觉证据、前端质量门禁 |
41
- | `zsk-enterprise` | 21 | 高治理交付;要求 deploy、验收、归档、审计证据 |
42
- | `sdlc-only` | 23 | 旧入口兼容;安装全部 core skills |
39
+ | `zsk-sdlc` | 21 | 标准工程交付;需求、实现、审查、验证、验收、归档 |
40
+ | `zsk-frontend` | 22 | UI/UX/browser-facing 交付;强化 demo、视觉证据、前端质量门禁 |
41
+ | `zsk-enterprise` | 22 | 高治理交付;要求 deploy、验收、归档、审计证据 |
42
+ | `sdlc-only` | 24 | 旧入口兼容;安装全部 core skills |
43
43
 
44
44
  ## Skill 搭配流程图
45
45
 
@@ -82,7 +82,7 @@ flowchart TD
82
82
  | 安装默认 core skills | `npx @captain_z/zsk add` | 交互选择 target 和 bundle |
83
83
  | CI 安装 ZSK 主入口 | `npx @captain_z/zsk add zsk-entry --target=~/.claude/skills --yes` | 非交互安装 `zskplan` / `zsk` 两个入口 |
84
84
  | CI 安装轻量 profile | `npx @captain_z/zsk add zsk-lite --target=~/.claude/skills --yes` | 非交互安装 11 颗常用 skills |
85
- | CI 安装标准 SDLC profile | `npx @captain_z/zsk add zsk-sdlc --target=~/.claude/skills --yes` | 非交互安装 20 颗标准 workflow skills |
85
+ | CI 安装标准 SDLC profile | `npx @captain_z/zsk add zsk-sdlc --target=~/.claude/skills --yes` | 非交互安装 21 颗标准 workflow skills |
86
86
  | Claude plugin 安装 | `/plugin marketplace add codeshareman/zsk` 后 `/plugin install zsk@zsk` | 使用 `/zsk:<slug>` 命令面 |
87
87
  | GitHub skills 管理器安装 | `npx skills add codeshareman/zsk` | 从仓库根 `skills/` 安装;不要加 `@` |
88
88
  | 只想让 ZSK 自己规划和执行 | "用 `zsk:zskplan` 规划" / "用 `zsk:zsk` 继续" | 计划写入 `.zsk/plans/`,执行产物写入 `.zsk` |
@@ -113,8 +113,8 @@ Skills 负责更需要判断的部分:理解 SRS、PRD、API 契约、Figma/Mo
113
113
 
114
114
  | 领域 | skill 数 | 职责 |
115
115
  | ----------------- | -------- | ------------------------------------------ |
116
- | `skills/` | 23 | harness-first 默认工作流入口 |
117
- | **总计** | **23** | |
116
+ | `skills/` | 24 | harness-first 默认工作流入口 |
117
+ | **总计** | **24** | |
118
118
 
119
119
  ## 安装套件(bundles.yaml)
120
120
 
@@ -122,12 +122,12 @@ Skills 负责更需要判断的部分:理解 SRS、PRD、API 契约、Figma/Mo
122
122
  | ------------------------------ | ------ | --------------------------------------------- |
123
123
  | `zsk-entry` | 2 | 只安装 ZSK / ZSK Plan 两个主入口 |
124
124
  | `zsk-lite` | 11 | 小型低风险任务;ZSK 入口 + fix/coding → smoke → review → commit |
125
- | `zsk-sdlc`(推荐) | 20 | 标准工程交付;完整需求、实现、审查、验证、验收、归档链路 |
126
- | `zsk-frontend` | 21 | 前端/视觉/browser-facing 任务;强化 demo 和前端质量门禁 |
127
- | `zsk-enterprise` | 21 | 高治理交付;要求 deploy、验收、归档、审计证据 |
128
- | `sdlc-only` | 23 | 旧入口兼容;安装全部 core skills |
129
- | `frontend-project` | 23 | 旧入口兼容;推荐改用 `zsk-frontend` |
130
- | `frontend-with-design-handoff` | 23 | 旧入口兼容;推荐改用 `zsk-frontend` |
125
+ | `zsk-sdlc`(推荐) | 21 | 标准工程交付;完整需求、实现、审查、验证、验收、归档链路 |
126
+ | `zsk-frontend` | 22 | 前端/视觉/browser-facing 任务;强化 demo 和前端质量门禁 |
127
+ | `zsk-enterprise` | 22 | 高治理交付;要求 deploy、验收、归档、审计证据 |
128
+ | `sdlc-only` | 24 | 旧入口兼容;安装全部 core skills |
129
+ | `frontend-project` | 24 | 旧入口兼容;推荐改用 `zsk-frontend` |
130
+ | `frontend-with-design-handoff` | 24 | 旧入口兼容;推荐改用 `zsk-frontend` |
131
131
  | `custom` | 交互 | 通过 `zsk add` 任意多选 |
132
132
 
133
133
  <!-- Auto-generated by tools/catalog.ts — do not edit manually. Total: 24 skills -->
@@ -139,7 +139,7 @@ Skills 负责更需要判断的部分:理解 SRS、PRD、API 契约、Figma/Mo
139
139
  ### `<slug>/` — Core · harness-first 默认工作流入口 (24)
140
140
 
141
141
  - **`zskplan`**
142
- Use as the ZSK-aware RalphPlan-style planning entrypoint that freezes scope, module decomposition, skill route, expert lanes, Playwright/evidence paths, and stop conditions under .zsk.
142
+ Use as the ZSK-aware RalphPlan-style planning entrypoint that clarifies vague intake, then freezes scope, module decomposition, skill route, expert lanes, Playwright/evidence paths, and stop conditions under .zsk.
143
143
 
144
144
  - **`zsk`**
145
145
  Use as the ZSK-aware Ralph-style execution loop that follows ZSK plans, dispatches expert lanes, verifies, fixes, and writes only .zsk outputs.
@@ -154,7 +154,7 @@ Skills 负责更需要判断的部分:理解 SRS、PRD、API 契约、Figma/Mo
154
154
  After project init, collects resource origins, snapshots evidence, and updates config/manifests before proposal/spec.
155
155
 
156
156
  - **`preproposal`**
157
- Before proposal, turns a brief request into a reviewed product, roadmap, UX, and readiness raw resource pack.
157
+ Before proposal, turns a one-sentence or vague intake brief into a clear, reviewed product, roadmap, UX, and readiness raw resource pack.
158
158
 
159
159
  - **`proposal`**
160
160
  Before spec, frames the problem, scope, non-goals, success criteria, stakeholders, risks, and resource gaps.
@@ -82,8 +82,11 @@ This core skill is governed by the ZSK harness. Enforce these rules even when on
82
82
  - Constraint levels: hard requirements and triggered conditional requirements are blocking; advisory guidance may be skipped only with rationale and no broken hard/conditional gate.
83
83
  - Required outputs: every output declared in the skill I/O contract is mandatory unless recorded as evidence-backed N/A or BLOCKED with owner, impact, and next action.
84
84
  - Collaboration: ordinary stage skills own their declared outputs and handoff quality; workflow skills own route selection. Do not hardcode the next stage inside a stage skill.
85
+ - Output Quality Check: every stage output must expose status, owner, source basis, blocking item links, and next action near the top of the artifact; route cross-stage gaps to their owning stage instead of running a generic grill.
86
+ - Clarification Prelude: ask exactly one load-bearing question with a separate recommendation only after local sources cannot produce a safe expression; persist confirmed expressions through CLAR, the owning artifact, and required CONTEXT.md updates.
85
87
  - Dynamic state awareness: identify the active role/stage, project type, stack, runtime, domain, target users/market, and freshness-sensitive decisions before selecting practices or retrieval sources.
86
88
  - Filesystem boundaries: write ZSK-managed outputs only under the configured `.zsk` workspace paths.
89
+ - Context recording: durable terminology, naming, decomposition, and load-bearing clarification decisions must update the nearest `CONTEXT.md`, or the handoff must record `Context update: N/A` with rationale.
87
90
  - Learning loop: reusable gaps become learning proposals; never mutate core constraints, templates, packs, or skills automatically.
88
91
  - Learning authority: reusable ZSK core learning must target the canonical ZSK source repo `.zsk/learning/proposals/`; project-local learning may stay in the current project.
89
92
 
@@ -95,7 +98,7 @@ When a `harness/` directory is installed beside this file, treat it as the local
95
98
  - Read `harness/workflow/state-machine.yaml` and `harness/constraints/stage-gates.md` before moving between stages.
96
99
  - Read `harness/constraints/skill-role-contract.md` before planning or reviewing expert work.
97
100
  - Read `harness/constraints/filesystem-boundaries.md` before creating any project artifact.
101
+ - Record durable project/module language in `.zsk/modules/{module}/CONTEXT.md` or `.zsk/docs/CONTEXT.md` before relying on it downstream.
98
102
  - Read `harness/constraints/evidence-rules.md` and `harness/workflow/completion-contract.yaml` before claiming READY / PASS / DONE.
99
103
  - Read `harness/constraints/issue-taxonomy.md` before creating or updating blockers, risks, defects, or questions.
100
104
  - Apply the related best-practice concerns listed in `harness/THIS_SKILL.md`; read bundled `harness/best-practices/` files first when they are listed for the current skill. Search Context7 or the web only when local guidance or local facts are missing, incomplete, stale, too generic, version-sensitive, market-sensitive, or role-incomplete. Record source links, source dates when relevant, and adaptation rationale in the evidence or learning proposal.
101
-
@@ -84,6 +84,17 @@ This file is generated for the installed skill. Read it before executing this sk
84
84
  - Document mode: `decisionRecord`
85
85
  - Purpose: Record the accept/reject business decision and residual-risk ownership.
86
86
 
87
+ ## Output Quality Rubric
88
+
89
+ - `output_goal`: Record the accept/reject business decision and residual-risk ownership.
90
+ - `downstream_consumer`: Next legal ZSK stage or reviewer.
91
+ - `required_inputs`: verify-report, demo-report, residual-risks, linked-issues
92
+ - `required_outputs`: acceptance-decision, confirmed-doc-feedback, residual-risk-list
93
+ - `must_answer_questions`: Is the verified work accepted, rejected, or conditionally accepted? / Which evidence and issues support the decision? / Who owns residual risks and documentation feedback?
94
+ - `quality_checks`: Links verify report, demo evidence, accepted criteria, and residual risks. / Records documentation feedback or no-update rationale for confirmed learnings.
95
+ - `anti_patterns`: Accepting without verification evidence. / Letting residual risks remain ownerless.
96
+ - `stop_condition`: `Output Quality Check` is PASS, WAIVED with accepted risk, or BLOCKED/NEEDS_CLARIFICATION/NEEDS_REPAIR with owner, impact, and next action.
97
+
87
98
  ## Hard Requirements
88
99
 
89
100
  - Read the required inputs for the active skill, or stop as BLOCKED with owner, missing input, impact, and next action.
@@ -91,6 +102,11 @@ This file is generated for the installed skill. Read it before executing this sk
91
102
  - Expose the required output contract in the artifact or handoff so the next skill can verify what was produced, blocked, or N/A.
92
103
  - Separate facts, decisions, assumptions, open questions, risks, blockers, and evidence.
93
104
  - Trace required claims to source artifacts, accepted decisions, scenarios, commands, issues, or human decisions.
105
+ - Every stage output must include a concise `Output Quality Check` near the top with fields in order: status, owner, source_basis, blocking_items, next_action, and optional waiver/updated_at.
106
+ - When an existing stage artifact is present, the active skill must update its own Output Quality Check before downstream handoff: derive the check from that skill's responsibility, required inputs, required outputs, must-answer questions, quality checkpoints, current artifact, upstream sources, and downstream consumer; classify sourced, accepted, assumed, conflicting, missing, and N/A claims, then repair or block through the owning stage.
107
+ - Keep Clarification Prelude skill-local: ask, repair, or block only on load-bearing questions the active skill owns; route upstream or downstream findings to the owning stage instead of absorbing another skill's responsibility.
108
+ - Every Output Quality Check must align terminology against CONTEXT.md/CONTEXT-MAP.md when present, SYSTEM-SPEC.md, configured raw sources, current artifact identifiers, and code/component/API names when implementation-facing work is touched.
109
+ - Record durable terminology, naming, decomposition, and load-bearing clarification decisions in the nearest CONTEXT.md, or write `Context update: N/A` with rationale.
94
110
  - Preserve upstream/downstream stage ownership; do not silently rewrite another skill's artifact.
95
111
  - Record accept, reject, or conditional acceptance decision with linked verify/demo evidence.
96
112
  - Name accepted criteria, residual risks, owners, and documentation feedback or no-update rationale.
@@ -104,6 +120,7 @@ This file is generated for the installed skill. Read it before executing this sk
104
120
  - When behavior is testable, define or consume a traceable test basis before claiming implementation, smoke, review, verify, or acceptance success.
105
121
  - When external facts, SDKs, APIs, regulations, market context, or dependency behavior are freshness-sensitive, retrieve current authoritative references or record why local sources are sufficient.
106
122
  - When an artifact becomes too large for one reviewable file, split it into `{stage}/index.md` plus linked child Markdown files while preserving the full stage contract.
123
+ - When clarification, grilling, architecture review, artifact repair, or task decomposition introduces a term or naming decision future stages must reuse, update module-local or project-level CONTEXT.md before handoff.
107
124
  - When residual risks affect security, privacy, permissions, data, release, or compliance, require owner and follow-up issue.
108
125
  - When business/user confirmation is missing, mark acceptance BLOCKED instead of inferred.
109
126
 
@@ -112,6 +129,7 @@ This file is generated for the installed skill. Read it before executing this sk
112
129
  - Prefer the smallest artifact that lets the next reader decide and act without chat memory.
113
130
  - Use tables, matrices, diagrams, or checklists only when they clarify ownership, traceability, risk, or execution.
114
131
  - Use project terminology and source identifiers consistently across proposal, spec, design, task, and evidence artifacts.
132
+ - When a skill challenges an artifact, name any overloaded, translated, or conflicting term before asking the user or editing the artifact.
115
133
  - Record suggestions separately from current project policy, especially for thresholds that remain `未指定`.
116
134
  - Keep acceptance focused on decision and risk, not implementation recap.
117
135
  - Preserve rejection reasons in a form that can route back to issue/fix.
@@ -134,8 +152,12 @@ This file is generated for the installed skill. Read it before executing this sk
134
152
  - Accepts different project methods and artifact names only when they provide an equivalent control point with evidence.
135
153
  - Uses PASS, FAIL, BLOCKED, or N/A only with evidence; missing mandatory evidence remains a failure, not an assumption.
136
154
  - Records numeric targets or thresholds as `未指定` when the project has not supplied them; never invents thresholds to make an output look complete.
155
+ - Records `Context update: <path>` or `Context update: N/A` so later stages do not depend on hidden chat terminology.
156
+ - Names terminology alignment status for the active artifact: source-consistent, repaired, conflicting, missing, or N/A.
137
157
  - Names owner, dependency, acceptance condition, and verification evidence for every required output or blocker.
138
- - Runs or references the stage-entry quality gate before downstream handoff; below-threshold but non-blocking gaps require explicit risk acceptance instead of silent progression.
158
+ - Names `Output Quality Check` status as PASS, NEEDS_CLARIFICATION, NEEDS_REPAIR, BLOCKED, or WAIVED when a stage artifact is produced, consumed, or improved.
159
+ - Keeps Output Quality Check summary-level: status, owner, source basis, blocking item links, and next action only; long criteria output belongs in verbose evidence.
160
+ - Runs or references the stage-entry quality gate before downstream handoff; gate assess maps Output Quality Check status instead of inventing a new quality judgment.
139
161
  - For testable work, verifies test correctness, not only test execution: traceable test basis, meaningful assertions, negative/boundary/regression coverage, and skipped/unrun checks called out.
140
162
  - When proposal, spec, design, or tasks become too large for one reviewable file, the artifact may split to `{stage}/index.md` plus linked child Markdown files; the index remains the entrypoint and the full stage contract still applies.
141
163
  - Links verify report, demo evidence, accepted criteria, and residual risks.
@@ -171,6 +193,10 @@ This file is generated for the installed skill. Read it before executing this sk
171
193
  - Passing because a familiar term appears while the equivalent lifecycle function is absent.
172
194
  - Inventing project policy, quality thresholds, source mappings, or platform behavior without configured evidence.
173
195
  - Treating missing evidence as low risk when the stage output depends on that evidence.
196
+ - Discarding or rewriting an unclear existing stage artifact before classifying what is sourced, accepted, assumed, conflicting, or missing.
197
+ - Running a generic grill or cross-stage rewrite instead of the active skill's own Output Quality Check and Clarification Prelude.
198
+ - Letting terminology, naming, or decomposition decisions live only in chat instead of CONTEXT.md.
199
+ - Running stage-specific questioning without checking whether the artifact uses the same terms as upstream sources, downstream consumers, and implementation surfaces.
174
200
  - Letting a delayed subagent packet block indefinitely instead of marking it stale and falling back or re-emitting.
175
201
  - Claiming tests prove behavior when they have no traceable basis, no meaningful assertion, or only prove implementation details.
176
202
  - Accepting without verification evidence.
@@ -206,6 +232,7 @@ This file is generated for the installed skill. Read it before executing this sk
206
232
  ## Completion Checklist
207
233
 
208
234
  - Required outputs above are produced or explicitly blocked.
235
+ - Output Quality Check is updated with status, owner, source basis, blocking item links, and next action.
209
236
  - Evidence is linked and reproducible.
210
237
  - Issues and indexes are updated when actionable findings exist.
211
238
  - Documentation Feedback is recorded when confirmed behavior changes or gaps are found.
@@ -5,8 +5,10 @@ Default project paths:
5
5
  - `.zsk/`: the only default ZSK-managed workspace root.
6
6
  - `.zsk/docs/`: project-level docs such as `SYSTEM-SPEC.md` and `PROJECT-CONFIG.md`.
7
7
  - `.zsk/modules/{module}/`: module config and stage artifacts.
8
+ - `.zsk/modules/{module}/CONTEXT.md`: module-local domain language, naming decisions, decomposition rationale, and accepted clarifications that later stages must reuse.
9
+ - `.zsk/docs/CONTEXT.md`: project-wide domain language and cross-module terms when a term is not owned by one module.
8
10
  - `.zsk/raws/`: raw external source snapshots, manifests, imported test cases, market/product research sources, and design/API assets.
9
- - `.zsk/raws/prepare/**`: reusable source lanes. `preproposal` may add generated or candidate product, roadmap, UX, and design-source readiness resources here only when they are labeled with provenance, review checkpoint status, assumptions, and blockers.
11
+ - `.zsk/raws/prepare/**`: reusable source lanes. `preproposal` may add generated or candidate intake clarity, product, roadmap, UX, and design-source readiness resources here only when they are labeled with provenance, review checkpoint status, assumptions, and blockers.
10
12
  - `.zsk/evidence/preproposal/{run}/`: checkpoint review evidence for product direction, roadmap/decomposition, UX/design-readiness, and final readiness before formal proposal.
11
13
  - `.zsk/modules/{module}/_issues/`: module-private managed issue records and indexes, created on demand.
12
14
  - `.zsk/modules/{module}/_evidence/`: module-private reusable runtime or research evidence, created on demand.
@@ -19,6 +21,21 @@ Default project paths:
19
21
 
20
22
  Root `docs/`, `.raws/`, `.issues/`, `.playwright/`, and `plans/` are not default write targets for ZSK skills. Use explicit export, promote, import, or migration commands when project-facing root documentation is needed.
21
23
 
24
+ ## Context Recording Authority
25
+
26
+ Every durable terminology, naming, decomposition, or load-bearing clarification
27
+ created during a Clarification Loop, artifact clarity pass, architecture review,
28
+ stage repair, or task decomposition must be recorded in the nearest
29
+ `CONTEXT.md`.
30
+
31
+ - Module-local terms and decisions go to `.zsk/modules/{module}/CONTEXT.md`.
32
+ - Cross-module or project-wide terms go to `.zsk/docs/CONTEXT.md`.
33
+ - ZSK core terms go to the source repo `CONTEXT.md`.
34
+ - If no update is needed, the stage handoff records a no-update rationale.
35
+ - Do not use `CONTEXT.md` for transient notes, raw evidence, task execution
36
+ logs, or unresolved speculation; record those in the owning artifact, issue,
37
+ evidence directory, or learning proposal.
38
+
22
39
  ## Learning Output Authority
23
40
 
24
41
  Learning artifacts must be written according to what they are meant to change:
@@ -45,4 +62,4 @@ This rule applies to every underscore module directory, not only `_issues`. For
45
62
 
46
63
  The skill that produces the final artifact for a module stage writes the formal report to `.zsk/modules/{module}/{stage}.md`. For large `proposal`, `spec`, `design`, or `tasks` artifacts, the skill may upgrade the stage artifact to `.zsk/modules/{module}/{stage}/index.md` and split child Markdown files under the same stage directory. The `index.md` file remains the review entrypoint, must link every child document included in the logical artifact, and must preserve the same stage contract; splitting content does not weaken required gates. Supporting artifacts stay in the appropriate `_issues`, `_evidence`, or `_playwright` directory unless they are deliberately shared/global/public.
47
64
 
48
- `preproposal` is not a module-final stage. Its outputs are proposal-prep raw resources under `.zsk/raws/prepare/**` plus checkpoint evidence under `.zsk/evidence/preproposal/{run}/`. It must not create `.zsk/modules/{module}/proposal.md`, `spec.md`, `design.md`, or `tasks.md`; those remain owned by their formal stage skills.
65
+ `preproposal` is not a module-final stage. Its outputs are intake clarity and proposal-prep raw resources under `.zsk/raws/prepare/**` plus checkpoint evidence under `.zsk/evidence/preproposal/{run}/`. When a target module is specified, use the module id as the default raw topic, for example `.zsk/raws/prepare/ux/{module}/interaction-handoff.md`, and record any narrower page/frame split rationale in the raw artifact. It must not create `.zsk/modules/{module}/proposal.md`, `spec.md`, `design.md`, or `tasks.md`; those remain owned by their formal stage skills.
@@ -31,6 +31,7 @@ Indexes are part of the contract:
31
31
  | Defect | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `DEFECT` | Formal QA |
32
32
  | Verify Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `VER` | Fix verification |
33
33
  | Acceptance Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `ACC` | Business/product acceptance |
34
+ | Clarification Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `CLAR` | Clarification Prelude |
34
35
 
35
36
  Stage directories such as `.zsk/modules/{module}/_issues/demo/index.md` may exist as stage views or evidence buckets. They are not the authoritative status indexes.
36
37
 
@@ -58,6 +59,41 @@ If `paths.issues` is customized, it must still stay under `.zsk/` and is reserve
58
59
  - `regression_guard`
59
60
  - `confirmed_at` or `confirmation_required`
60
61
 
62
+ Clarification issues extend the common fields with:
63
+
64
+ - `owning_stage`
65
+ - `owning_skill`
66
+ - `question`
67
+ - `recommended_answer`
68
+ - `accepted_answer`
69
+ - `recommendation_delta`
70
+ - `impact_if_unconfirmed`
71
+ - `confirmation_required`
72
+ - `clarification_status`
73
+ - `updated_artifacts`
74
+ - `source_basis`
75
+
76
+ `recommended_answer` stores the recommendation exactly as shown to the user; do
77
+ not rewrite it after the user answers. `accepted_answer` stores the final
78
+ confirmed expression. If the accepted expression differs from the recommendation,
79
+ record `recommendation_delta` so downstream skills do not revert the user's
80
+ decision back to the recommendation.
81
+
82
+ Clarification status is a strict state machine:
83
+
84
+ - `pending_question`: one load-bearing question is ready to ask.
85
+ - `pending_expression`: the user answered and the skill must present or refine
86
+ `待写入确认表达:`.
87
+ - `confirmed`: the user accepted the expression, but it is not yet written into
88
+ the owning artifacts.
89
+ - `applied`: the expression was written into the `CLAR`, owning stage artifact,
90
+ and required `CONTEXT.md` target.
91
+ - `closed`: the smallest useful gate validation passed after application.
92
+
93
+ `confirmed` is not enough to continue downstream. Gate/dispatch may resume only
94
+ after the `CLAR` reaches `applied`, and closure requires linked validation
95
+ evidence.
96
+
61
97
  ## Severity
62
98
 
63
99
  - `P0`: blocks core path, data safety, security, or test handoff.
@@ -54,12 +54,12 @@ Each skill owns one stage contract. Workflow skills may route or schedule work,
54
54
  | Skill | Owns | Does Not Own | Consistency / Handoff |
55
55
  | --- | --- | --- | --- |
56
56
  | `prepare` | Source discovery, configured origin validation, raws snapshots, manifest, source gaps | Product interpretation, requirements decisions, design choices | Hands source manifest, raws indexes, conflicts, and blockers to `proposal` / `spec`; asks before uncertain source-to-lane mapping |
57
- | `preproposal` | Proposal-prep raw resources: product direction, MVP/phase/module decomposition, UX/design-readiness seeds, assumptions, risks, scenario seeds, checkpoint review evidence | Formal module proposal/spec/design/tasks, formal test cases, implementation | Hands reviewed `.zsk/raws/prepare/**` resources and `.zsk/evidence/preproposal/**` checkpoint verdicts to `proposal`; product review must pass before roadmap, roadmap before UX, UX before readiness |
58
- | `proposal` | Problem, goal, scope, non-goals, stakeholders, risks, success metrics, decision request | Detailed behavior, architecture, task breakdown, implementation | Every goal and metric must trace to sources or accepted assumptions; hands bounded scope to `spec` |
57
+ | `preproposal` | Intake clarity, proposal-prep raw resources: product direction, MVP/phase/module decomposition, UX/design-readiness seeds, interaction handoff when triggered, candidate code component mapping when code exists, assumptions, risks, scenario seeds, checkpoint review evidence | Formal module proposal/spec/design/tasks, formal test cases, final implementation decisions | Hands reviewed `.zsk/raws/prepare/**` resources and `.zsk/evidence/preproposal/**` checkpoint verdicts to `proposal`; source-discoverable questions must be answered before asking the user; product review must pass before roadmap, roadmap before UX, UX before readiness |
58
+ | `proposal` | Problem, goal, scope, non-goals, stakeholders, risks, success metrics, source basis, terminology basis, decision request | Detailed behavior, architecture, task breakdown, implementation | When `proposal.md` is missing, synthesizes it from module-linked `.zsk/raws/**`, module context, and accepted terms; every goal and metric must trace to sources or accepted assumptions; hands bounded scope to `spec` |
59
59
  | `spec` | FR/NFR, acceptance criteria, scenarios, edge cases, constraints, traceability, behavior-level control matrix when triggered | Architecture, file/module design, implementation tasks | Every P0/P1 requirement must trace to proposal/source and be testable; cross-cutting control behavior must trace to subject/action/resource/scope/source; hands behavior contract to `design` and `task` |
60
- | `design` | Architecture, interfaces, data/state flow, design views/diagrams, ADRs or equivalent decision records, tradeoffs, rollout and verification surfaces, control traceability matrix when triggered | Rewriting requirements, task sequencing, coding, decorative diagrams | Every design decision and diagram must trace to spec/AC/NFR, ADR, risk, or verification need; triggered controls must trace to enforcement/UI/API/state/test surfaces; hands implementation map to `task` |
60
+ | `design` | Code design: architecture, interfaces, data/state flow, implementation surfaces, design views/diagrams, ADRs or equivalent decision records, tradeoffs, rollout and verification surfaces, control traceability matrix when triggered | Rewriting requirements, authoring interaction handoff, deciding missing UX/Figma behavior, task sequencing, coding, decorative diagrams | Every design decision and diagram must trace to spec/AC/NFR, ADR, risk, or verification need; triggered controls must trace to enforcement/UI/API/state/test surfaces; hands implementation map to `task` |
61
61
  | `task` | Kiro-style nested checkbox task groups/subtasks, owners, dependencies, scope/files, evidence hooks, proposal/spec/design/ADR coverage matrix, control-row task coverage when triggered | Changing proposal/spec/design intent, coding, review approval | Every task group must align to proposal/spec/design/ADR IDs; every subtask must be executable and evidence-backed before `coding`; triggered control rows must map to implementation and evidence tasks |
62
- | `coding` | Scoped implementation, changed tests, implementation notes, local validation evidence | Requirements changes, broad refactors, final approval | Every diff maps to task IDs and preserves upstream intent; hands changed files and evidence to `smoke` / `review` |
62
+ | `coding` | Scoped implementation, vertical TDD cycles, changed tests, implementation notes, local validation evidence | Requirements changes, broad refactors, final approval | Every diff maps to task IDs and preserves upstream intent; each testable behavior records RED/GREEN evidence before the next behavior; hands changed files and evidence to `smoke` / `review` |
63
63
  | `smoke` | Smallest credible local proof of changed behavior, failure classification, smoke issues | Full acceptance, final verification, release approval | Hands command/scenario evidence and failures to `review`, `defect`, or `ready` |
64
64
  | `review` | Scope drift, correctness, maintainability, security, test adequacy, harness compliance findings | Implementing fixes, independent verification, business acceptance | Findings must reference files/artifacts and route fix work to `issue` / `defect` / `coding`; no PASS without evidence adequacy |
65
65
  | `commit` | Scoped staging, Lore commit message, commit evidence, known verification gaps | Feature validation, release readiness | Hands immutable change intent and tested/not-tested evidence to `deploy` / `archive` |
@@ -107,13 +107,128 @@ Consistency checks:
107
107
  - No skill silently changes another skill's artifact; it records a feedback item, issue, or blocker instead.
108
108
  - Workflow skills (`flow`, `zskplan`, `zsk`) choose the route. Stage skills state status, blockers, handoff needs, and next legal candidates only.
109
109
 
110
+ ## Output Quality Check And Clarification Prelude
111
+
112
+ Every stage owns clarity and repair for the artifacts it owns. If a stage artifact
113
+ already exists but is unclear, incomplete, contradictory, placeholder-like, or too
114
+ weak for the next consumer, the workflow must route to the owning stage instead
115
+ of restarting from intake, skipping ahead, or letting a downstream skill repair
116
+ upstream intent.
117
+
118
+ `Output Quality Check` is the public quality entrypoint for the stage artifact,
119
+ not a second gate log. The active skill must keep a concise block near the top of
120
+ the artifact with `status`, `owner`, `source_basis`, `blocking_items`, and
121
+ `next_action`. It auto-identifies what to check from its own responsibility,
122
+ required inputs, required outputs, must-answer questions, quality checkpoints,
123
+ current artifact, upstream sources, and downstream consumer. It may surface
124
+ upstream or downstream findings, but those findings are routed to the owning
125
+ stage instead of being silently absorbed.
126
+
127
+ `Clarification Prelude` is the interactive path used only when the check finds a
128
+ load-bearing decision that local sources cannot resolve. It asks one question,
129
+ shows one separate recommendation, turns the answer into `待写入确认表达:`, and
130
+ waits for confirmation before writing to the `CLAR`, owning artifact, and
131
+ necessary `CONTEXT.md`. It is not a generic grilling session and it is not gate
132
+ evidence.
133
+
134
+ The challenge basis is also skill-local: use this skill's `THIS_SKILL.md`,
135
+ `skill-quality-standards.yaml`, bundled related best-practice files, and current
136
+ official references when local references are incomplete or version-sensitive.
137
+ Do not reuse another stage's checklist as the active challenge unless the finding
138
+ is routed back to that owning stage.
139
+
140
+ Every skill-local challenge also performs terminology alignment. Compare the
141
+ artifact's domain terms, actor names, module names, stage IDs, FR/AC/NFR/ADR IDs,
142
+ UI component names, route/API names, and source/provider labels against
143
+ `CONTEXT.md` / `CONTEXT-MAP.md` when present, `.zsk/docs/SYSTEM-SPEC.md`,
144
+ configured raw sources, and implementation names when the skill touches code or
145
+ UI surfaces. If a term is overloaded, stale, translated inconsistently, or
146
+ conflicts with upstream/downstream language, classify it explicitly and route the
147
+ repair to the owning stage. Do not introduce a new canonical term only in chat.
148
+
149
+ The owning stage must:
150
+
151
+ - preserve the current artifact as evidence and avoid wholesale rewrite unless
152
+ the artifact is explicitly superseded;
153
+ - state `Output Quality Check` status as `PASS`, `NEEDS_CLARIFICATION`,
154
+ `NEEDS_REPAIR`, `BLOCKED`, or `WAIVED`;
155
+ - keep `blocking_items` summary-level and link to `CLAR`, issues, stage body, or
156
+ verbose evidence for details;
157
+ - classify material claims as `sourced`, `accepted`, `assumed`, `conflicting`,
158
+ `missing`, or `N/A`;
159
+ - classify terminology conflicts and accepted canonical names with source or
160
+ context references;
161
+ - repair only the claims that local/configured sources, accepted decisions, or
162
+ current evidence support;
163
+ - ask at most one blocking question through `CLAR` when the missing answer
164
+ changes scope, behavior, design, task order, acceptance, terminology, or
165
+ verification;
166
+ - write confirmed expressions back to the owning stage artifact and nearest
167
+ `CONTEXT.md` when they create durable language or module boundaries;
168
+ - report owner, missing input, impact, next action, and downstream consumer.
169
+
170
+ Examples:
171
+
172
+ - unclear `proposal` routes to `proposal` for problem/scope/non-goal repair;
173
+ - unclear `spec` routes to `spec` for FR/AC/scenario/source-trace repair;
174
+ - unclear `design` routes to `design` for interface, ADR, data-flow, or control
175
+ traceability repair;
176
+ - unclear `tasks` routes to `task` for executable checkbox, ownership,
177
+ dependency, source-alignment, and evidence-hook repair.
178
+
179
+ ## Context Recording Discipline
180
+
181
+ ZSK treats `CONTEXT.md` as durable project language, not chat memory. When a
182
+ Clarification Prelude, Output Quality Check, architecture review, stage repair, or
183
+ task decomposition creates or sharpens terminology, naming, module/decomposition
184
+ rationale, accepted clarification, or a load-bearing "call this X, not Y"
185
+ decision, the owning skill must update the nearest `CONTEXT.md` before handoff.
186
+
187
+ Context targets:
188
+
189
+ - module-local language and decomposition decisions:
190
+ `.zsk/modules/{module}/CONTEXT.md`;
191
+ - project-wide or cross-module language: `.zsk/docs/CONTEXT.md`;
192
+ - reusable ZSK core language: the source repo `CONTEXT.md`.
193
+
194
+ The update must separate accepted terms from rejected/ambiguous framings and
195
+ state the downstream impact. If no context update is needed, the handoff records
196
+ `Context update: N/A` with a short reason. A downstream stage must not rely on a
197
+ term that only exists in chat.
198
+
199
+ ## Coding TDD Cycle Discipline
200
+
201
+ `coding` uses vertical TDD, not horizontal batching. For each testable behavior
202
+ or defect slice:
203
+
204
+ 1. Select one behavior from task, AC, issue, or accepted clarification.
205
+ 2. Write or update one public-interface behavior test or scenario expectation.
206
+ 3. Run that focused test and record RED evidence. If RED cannot be observed
207
+ because the harness, fixture, or dependency is unavailable, record the tool
208
+ gap before implementation.
209
+ 4. Implement the smallest code change that can make this behavior pass.
210
+ 5. Run the focused test again and record GREEN evidence before starting another
211
+ behavior.
212
+ 6. Refactor only while GREEN, then rerun the affected focused test.
213
+
214
+ The coding handoff must list cycles separately. A final full-suite result is
215
+ useful only after the vertical cycles; it must not replace per-behavior evidence.
216
+
110
217
  ## Preproposal Team Simulation
111
218
 
112
219
  `preproposal` is one workflow-node with role lanes, not a set of standalone skills.
113
220
 
221
+ Before lane work begins, the lead-integrator owns intake clarity. A one-sentence
222
+ or vague requirement must be restated as known facts, inferred assumptions,
223
+ source gaps, non-goals, and at most one blocking question. The lead must inspect
224
+ available repo docs, code, `.zsk` sources, glossary, and decision records before
225
+ asking the user. Every blocking question includes the recommended answer and
226
+ tradeoff, and accepted clarification is recorded as fact, decision, assumption,
227
+ or open question.
228
+
114
229
  - Product-owner and business-analyst lanes own product direction, user/problem framing, business process, scope options, non-goals, risks, and evidence gaps.
115
230
  - Planner and architect lanes own MVP/phase/module decomposition, dependency shape, boundary rationale, deferred work, and feasibility risks.
116
- - UX and design-specialist lanes own user journey, IA/navigation seeds, interaction states, usability/accessibility risks, and design-source needs.
231
+ - UX and design-source lanes own user journey, IA/navigation seeds, interaction handoff when triggered, interaction states, usability/accessibility risks, provider-backed source maps, and design-source needs during `preproposal`.
117
232
  - QA and researcher lanes own scenario seeds, risk seeds, test-basis candidates, current external evidence when needed, and source gaps.
118
233
  - Verifier/lead-integrator owns checkpoint completeness, blocker creation, raw manifest/index update or no-update rationale, and readiness handoff.
119
234
 
@@ -3,18 +3,24 @@
3
3
  Resource priority is:
4
4
 
5
5
  1. explicit project `.zsk/config.yaml`
6
- 2. module docs and stage artifacts under `.zsk/modules/{module}/`
7
- 3. raw source snapshots under `.zsk/raws/`
6
+ 2. raw source snapshots under `.zsk/raws/`
7
+ 3. module docs and stage artifacts under `.zsk/modules/{module}/`
8
8
  4. code and runtime evidence
9
9
  5. user-provided clarification
10
10
 
11
11
  When sources conflict, the stage artifact must record the conflict instead of silently choosing the most convenient value.
12
12
 
13
+ `.zsk/raws/**` is the reusable source library for project knowledge and terminology. Requirements, SRS, PRD, customer notes, issue exports, market research, design notes, and provider captures are raw resource categories inside that library, not mandatory separate filenames. A missing module `proposal.md` is not a missing proposal input; the proposal skill must synthesize or repair the proposal from module-linked raw sources, module context, and accepted project terms when those sources are sufficient.
14
+
13
15
  ## Strict Fact Source Discipline
14
16
 
15
17
  - Requirements, behavior, scenario order, acceptance criteria, and test expectations must trace back to PRD/SRS, spec, design, task, raw source, code, runtime evidence, or user clarification.
16
18
  - Do not invent missing requirements, UI behavior, business rules, edge cases, or test expectations from preference or convention.
19
+ - Do not ask for terminology, target users, module boundaries, or product goals until `.zsk/raws/**`, raw manifest/index, module context, and accepted `CONTEXT.md` terms have been checked.
17
20
  - If the facts are incomplete, ambiguous, conflicting, or insufficient to decide, stop the stage decision and ask for clarification after summarizing the known sources and tradeoffs.
21
+ - For vague intake or stage-output ambiguity, ask only after checking local and configured sources; ask one blocking question at a time and put the recommended answer in a separate recommendation block.
22
+ - If an existing stage artifact is unclear, preserve it as a source instead of discarding it. The owning stage must update its `Output Quality Check`, derive the check from its active skill contract, and classify each important claim as sourced, accepted, assumed, conflicting, or missing before repairing or blocking.
23
+ - If the missing decision is load-bearing and cannot be resolved from sources, create exactly one current `CLAR` through Clarification Prelude. Do not batch-persist speculative questions.
18
24
  - If asking is blocked, record a resource gap or issue instead of silently choosing a path.
19
25
  - Best practices may shape implementation, but they cannot override project facts or accepted design documents.
20
26
  - Before applying a role, run dynamic state awareness: identify the current stage, role, project type, domain, language, framework, SDKs, runtime tools, target market, and freshness-sensitive decisions from local config, module docs, manifests, lockfiles, imports, raw sources, and existing evidence.
@@ -14,24 +14,78 @@ The harness computes gate status. Skills may propose outputs and record evidence
14
14
 
15
15
  - For testable behavior changes, `task` should define the test/scenario hook before `coding`.
16
16
  - `coding` should start by creating or updating the targeted test/scenario when one does not already cover the behavior.
17
+ - `coding` must run vertical TDD cycles: one behavior -> one failing test or changed test expectation -> minimal implementation -> passing evidence -> next behavior. Do not batch all tests first or all implementation first.
18
+ - Each cycle records behavior id, source task/AC/issue, RED evidence or an explicit reason RED cannot be observed, GREEN evidence, changed files, and refactor evidence when a refactor occurs.
17
19
  - `smoke`, `review`, and `verify` must reject tests that cannot be traced to PRD/SRS, spec/design, task, issue, or accepted user clarification.
18
20
  - If the test contract is unclear, the stage is `blocked` until the uncertainty is clarified or recorded as a resource gap.
19
21
 
20
22
  ## Stage Entry Quality Gate
21
23
 
22
24
  - Before a downstream stage starts, the harness must assess the required upstream artifacts for that stage with `zsk gate assess --stage <stage>`.
23
- - The assessment must write a score, PASS/FAIL criteria, blockers, gaps, and next action under `.zsk/evidence/gates/`.
24
- - Gate criteria follow the harness constraint levels: hard requirements and triggered conditional requirements are blockers; advisory gaps may require confirmation but cannot be counted as satisfied evidence.
25
+ - The assessment is a lightweight consistency check over the stage document's `Output Quality Check`; default evidence is limited to `summary.json` and `summary.md` with status, blocker count, next action, and artifact links.
26
+ - Detailed scoring, criteria rows, trace output, and long diagnostics are generated only for an explicit verbose/debug run.
27
+ - Gate criteria follow the harness constraint levels only to validate consistency: hard requirements and triggered conditional requirements are blockers; advisory gaps may require confirmation but cannot be counted as satisfied evidence.
25
28
  - A score below the configured threshold is not an infinite hard stop by itself. If all required artifacts exist and only quality gaps remain, the stage may continue only after an explicit human risk acceptance is recorded with `--accept-risk`.
26
29
  - Missing required artifacts, placeholder-only upstream docs, missing project/system rules for governed stages, or missing mandatory test basis remain `BLOCKED`; a risk waiver must not convert those into PASS. Very short but non-placeholder artifacts are quality gaps, not hard blockers.
30
+ - For `proposal`, the current module `proposal.md` is the stage output, not an entry prerequisite. Gate assessment may use project rules and the raw source manifest/library as the entry basis; absence of the current proposal artifact routes to initial draft generation instead of blocking by itself.
27
31
  - Thresholds are project policy. When no project threshold is configured, the CLI default is an advisory 9/10 gate; documents must still record unsupplied numeric thresholds as `未指定` instead of inventing policy.
32
+ - If a stage document exists but lacks `Output Quality Check`, `gate assess` must return a minimal `BLOCKED` result that routes back to the owning stage skill. It must not synthesize a quality judgment or emit a large practice log on behalf of the stage.
33
+
34
+ ## Output Quality Check
35
+
36
+ - `Output Quality Check` is the single public quality status block for every stage-owned artifact: preproposal raw pack, proposal, spec, design, tasks, implementation handoff, smoke/demo/review/ready/verify reports, acceptance, archive, issue, and learning outputs.
37
+ - Every stage skill's stop condition is high-quality output, not file existence or a passing command. The stage output is complete only when its `Output Quality Check` satisfies that skill's rubric and downstream consumer.
38
+ - The block must appear near the top of the stage document, after title/summary and before the main body.
39
+ - The block uses a stable Markdown template with this minimum field order: `status`, `owner`, `source_basis`, `blocking_items`, `next_action`. Optional fields are `waiver` and `updated_at`.
40
+ - `source_basis` is a compact link list to upstream artifacts, raw sources, CLAR issues, other issue records, evidence, or code facts. It is not a long citation log.
41
+ - `blocking_items` is a compact navigation list: item type, short title, link, and status. Detailed explanation belongs in the linked `CLAR`, issue, stage body, or verbose evidence.
42
+ - Status values are exactly `PASS`, `NEEDS_CLARIFICATION`, `NEEDS_REPAIR`, `BLOCKED`, and `WAIVED`.
43
+ - Status mapping is deterministic: `PASS -> READY`, `NEEDS_CLARIFICATION -> NEEDS_CONFIRMATION`, `NEEDS_REPAIR -> BLOCKED`, `BLOCKED -> BLOCKED`, and `WAIVED -> WAIVED`.
44
+ - `PASS` means the current stage output satisfies the stage rubric stop condition and has no downstream-blocking clarification, repair, or blocker.
45
+ - `NEEDS_CLARIFICATION` means a load-bearing user confirmation is missing and the owning stage must run Clarification Prelude for the linked `CLAR`.
46
+ - `NEEDS_REPAIR` means local/configured sources are sufficient and the owning stage must repair the document without asking the user.
47
+ - `BLOCKED` means a required source, tool, permission, or upstream artifact is missing so the skill can neither repair nor safely clarify. It must state blocker, owner, impact, and unblock condition.
48
+ - `WAIVED` is allowed only for explicit human acceptance of non-blocking quality risk. It must record risk, impact, acceptor/time, and follow-up. Blocking gaps cannot be waived.
49
+ - Each stage's output quality rubric lives in `harness/workflow/skill-quality-standards.yaml` with a common structure: `output_goal`, `downstream_consumer`, `required_inputs`, `required_outputs`, `must_answer_questions`, `quality_checks`, `anti_patterns`, and `stop_condition`.
50
+ - The internal check method may challenge the active artifact against the active skill contract: responsibility, required inputs, required outputs, must-answer questions, quality checkpoints, current artifact, upstream sources, and downstream consumer. This is an implementation method of `Output Quality Check`, not a separate public gate concept.
51
+ - The check must apply the active skill's bundled related best-practice
52
+ files and quality standards when their domain is touched. If the bundled
53
+ references are missing, stale, too generic, version-sensitive, or not matched
54
+ to the current stack/domain, record the gap and retrieve official/current
55
+ references before issuing a best-practice challenge.
56
+ - The check must align terminology against project sources before asking
57
+ or repairing: `CONTEXT.md` / `CONTEXT-MAP.md` when present, `SYSTEM-SPEC.md`,
58
+ configured raw sources, current stage artifact identifiers, and existing
59
+ code/component/API names when the skill touches implementation-facing work.
60
+ Conflicting or overloaded terms must be classified as conflicting/missing and
61
+ routed to the owning stage instead of silently renaming them.
62
+ - The check must classify important claims as sourced, accepted, assumed, conflicting, missing, or N/A; it must name downstream consumer, required outputs, source links, blockers, and next action.
63
+ - The owning stage may patch or split its own artifact when local/configured sources support the repair. If the missing fact belongs to an upstream stage, record upstream feedback or route to that stage.
64
+ - Durable terminology, naming, decomposition rationale, and load-bearing clarification decisions found during the check must update the nearest `CONTEXT.md`, or the handoff must record `Context update: N/A` with rationale.
65
+
66
+ ## Clarification Prelude
67
+
68
+ - `Clarification Prelude` runs before gate/dispatch when a stage skill needs user confirmation for a load-bearing decision. It is the interactive clarification layer for module stage output quality; it is not gate evidence and not a generic grill.
69
+ - First execution of a stage skill uses `initial-draft`: when the owning stage artifact does not exist, the skill generates an initial output from confirmed upstream artifacts. For `proposal`, confirmed upstream artifacts include `.zsk/raws/manifest.json`, `.zsk/raws/index.md` when present, module-linked `.zsk/raws/**`, module context, and accepted `CONTEXT.md` terminology. If it hits a source-undiscoverable decision that would change the stage direction, it creates one `CLAR` and asks.
70
+ - Later executions use `clarify/refine`: when the owning stage artifact exists, the skill processes exactly one clarification unit per run, either confirming/applying one `pending_expression` or asking the single highest-impact `pending_question`.
71
+ - After `initial-draft`, the skill performs one `clarify/refine` scan before gate/dispatch. If a key ambiguity remains, it asks one question and stops. If not, it updates `Output Quality Check` and only then proceeds to minimal gate/dispatch.
72
+ - Candidate questions discovered during scanning are not persisted in bulk. Create a `CLAR` only when that question is about to be shown to the user.
73
+ - A `CLAR` is used only for load-bearing questions: module boundary, stage conclusion, interface/behavior contract, task order, acceptance standard, terminology, or naming. Ordinary open questions are non-blocking follow-up items.
74
+ - Before asking, the skill must read local sources first: module artifacts, `CONTEXT.md`, raw sources, existing issues, and code facts. It asks only when those sources cannot produce a safe expression or when sources conflict.
75
+ - If sources conflict, ask the user to choose one conflict decision; do not silently merge contradictory authorities.
76
+ - User-facing format is fixed: a `问题:` block containing only one clear question, then a separate `推荐:` block containing only the recommended answer.
77
+ - After the user answers, the skill writes a separate `待写入确认表达:` block. If the user replies `ok`, `OK`, `是`, `对`, or `好`, treat it as confirmation. If the user corrects it, refine the same expression instead of moving to a new question.
78
+ - A confirmed expression must be clear enough to write into the owning stage artifact: terminology consistent, stage/module boundary explicit, decision and non-goal clear, downstream stage directly reusable, and confirmation source traceable.
79
+ - Confirmation is not chat memory. The owning skill writes the accepted expression to the linked `CLAR`, the owning stage artifact, and the nearest `CONTEXT.md` when the decision creates reusable terminology, naming, or module boundaries.
80
+ - After applying one confirmed expression, the current run performs the smallest useful gate validation and stops. The next clarification belongs to the next execution of the same owning stage skill.
28
81
 
29
82
  ## Preproposal Checkpoint Gate
30
83
 
31
84
  - Use `preproposal` when a brief request lacks reviewed product direction, roadmap/decomposition, UX/design-readiness, or source-readiness material for `proposal`.
85
+ - Intake clarity runs before product work. It must inspect available sources first, separate known facts from inferred assumptions and gaps, and ask at most one blocking question with a recommended answer when the answer would materially change direction.
32
86
  - Product checkpoint must pass before roadmap/decomposition starts. It reviews target users, problem, outcome, scope options, non-goals, risks, assumptions, and source gaps.
33
87
  - Roadmap/decomposition checkpoint must pass before UX/detail work starts. It reviews MVP/1.0/2.0 or equivalent phase split, module boundaries, dependencies, deferred work, and merge/split/block rationale.
34
- - UX/design-readiness checkpoint must pass before readiness handoff. It reviews user journey, IA/navigation seeds, interaction states, accessibility/usability risks, and design-source needs.
88
+ - UX/design-readiness checkpoint must pass before readiness handoff. It reviews user journey, IA/navigation seeds, interaction handoff when triggered, interaction states, accessibility/usability risks, source maps, and design-source needs.
35
89
  - Readiness checkpoint must pass before formal `proposal`. It verifies that `.zsk/raws/prepare/**` and `.zsk/evidence/preproposal/{run}/` contain enough reviewed raw material for proposal without chat memory.
36
90
  - A checkpoint failure loops only while the missing input is actionable. Repeated failures beyond the configured retry limit, or default 2 when no project policy exists, become a tracked blocker/issue with owner, missing source, impact, and next action.
37
91
  - Preproposal checkpoint reviews use the target-aware `review` skill. They must not require module `spec`, `design`, `tasks`, or `smoke` artifacts unless the explicit review target is an implementation/code-diff review.
@@ -87,10 +141,10 @@ The harness computes gate status. Skills may propose outputs and record evidence
87
141
 
88
142
  - `blocked`: required resource or evidence is missing.
89
143
  - `ready`: resources are present and current enough to run the stage.
144
+ - `needs-confirmation`: an `Output Quality Check` has `NEEDS_CLARIFICATION` or a linked `CLAR` requires user confirmation.
90
145
  - `passed`: output exists and gate checks passed.
91
146
  - `failed`: stage ran but produced blocking findings.
92
147
  - `paused`: resumable session state exists, used by interruptible demo.
93
148
  - `terminated`: session intentionally stopped; follow-up owner is required.
94
- - `needs-confirmation`: required artifacts exist, but quality score/gaps require human decision before proceeding.
95
149
  - `waived`: explicit human risk acceptance allows progression despite non-blocking quality gaps; waiver evidence must be linked.
96
150
  - `stale`: a dispatched packet missed its heartbeat/deadline and must fall back or be re-emitted.
@@ -1,9 +1,9 @@
1
1
  name: zsk-frontend
2
- description: Frontend delivery profile with design, demo, and visual quality gates.
2
+ description: Frontend delivery profile with code design, demo, and visual quality gates.
3
3
  extends: zsk-sdlc
4
4
  purpose: >
5
5
  Use for UI, UX, visual, interaction, accessibility, and browser-facing work
6
- where design handoff, demo evidence, and frontend quality checks matter.
6
+ where preproposal readiness, demo evidence, and frontend quality checks matter.
7
7
 
8
8
  stages:
9
9
  required:
@@ -82,7 +82,6 @@ strictness:
82
82
 
83
83
  bestPractices:
84
84
  required:
85
- - design-handoff.md
86
85
  - frontend.md
87
86
  - quality.md
88
87
  recommended: