@captain_z/zsk-skills 1.8.4 → 1.8.6

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 (217) hide show
  1. package/acceptance/SKILL.md +2 -1
  2. package/acceptance/harness/THIS_SKILL.md +20 -7
  3. package/acceptance/harness/constraints/issue-taxonomy.md +36 -0
  4. package/acceptance/harness/constraints/skill-role-contract.md +24 -12
  5. package/acceptance/harness/constraints/source-of-truth.md +8 -4
  6. package/acceptance/harness/constraints/stage-gates.md +45 -15
  7. package/acceptance/harness/workflow/skill-io-contract.yaml +14 -12
  8. package/acceptance/harness/workflow/skill-quality-standards.yaml +29 -14
  9. package/acceptance/harness/workflow/stage-contracts.yaml +5 -5
  10. package/archive/SKILL.md +2 -1
  11. package/archive/harness/THIS_SKILL.md +20 -7
  12. package/archive/harness/constraints/issue-taxonomy.md +36 -0
  13. package/archive/harness/constraints/skill-role-contract.md +24 -12
  14. package/archive/harness/constraints/source-of-truth.md +8 -4
  15. package/archive/harness/constraints/stage-gates.md +45 -15
  16. package/archive/harness/workflow/skill-io-contract.yaml +14 -12
  17. package/archive/harness/workflow/skill-quality-standards.yaml +29 -14
  18. package/archive/harness/workflow/stage-contracts.yaml +5 -5
  19. package/coding/SKILL.md +2 -1
  20. package/coding/harness/THIS_SKILL.md +20 -7
  21. package/coding/harness/constraints/issue-taxonomy.md +36 -0
  22. package/coding/harness/constraints/skill-role-contract.md +24 -12
  23. package/coding/harness/constraints/source-of-truth.md +8 -4
  24. package/coding/harness/constraints/stage-gates.md +45 -15
  25. package/coding/harness/workflow/skill-io-contract.yaml +14 -12
  26. package/coding/harness/workflow/skill-quality-standards.yaml +29 -14
  27. package/coding/harness/workflow/stage-contracts.yaml +5 -5
  28. package/commit/SKILL.md +2 -1
  29. package/commit/harness/THIS_SKILL.md +20 -7
  30. package/commit/harness/constraints/issue-taxonomy.md +36 -0
  31. package/commit/harness/constraints/skill-role-contract.md +24 -12
  32. package/commit/harness/constraints/source-of-truth.md +8 -4
  33. package/commit/harness/constraints/stage-gates.md +45 -15
  34. package/commit/harness/workflow/skill-io-contract.yaml +14 -12
  35. package/commit/harness/workflow/skill-quality-standards.yaml +29 -14
  36. package/commit/harness/workflow/stage-contracts.yaml +5 -5
  37. package/defect/SKILL.md +2 -1
  38. package/defect/harness/THIS_SKILL.md +20 -7
  39. package/defect/harness/constraints/issue-taxonomy.md +36 -0
  40. package/defect/harness/constraints/skill-role-contract.md +24 -12
  41. package/defect/harness/constraints/source-of-truth.md +8 -4
  42. package/defect/harness/constraints/stage-gates.md +45 -15
  43. package/defect/harness/workflow/skill-io-contract.yaml +14 -12
  44. package/defect/harness/workflow/skill-quality-standards.yaml +29 -14
  45. package/defect/harness/workflow/stage-contracts.yaml +5 -5
  46. package/demo/SKILL.md +7 -4
  47. package/demo/harness/THIS_SKILL.md +22 -7
  48. package/demo/harness/constraints/issue-taxonomy.md +36 -0
  49. package/demo/harness/constraints/skill-role-contract.md +24 -12
  50. package/demo/harness/constraints/source-of-truth.md +8 -4
  51. package/demo/harness/constraints/stage-gates.md +45 -15
  52. package/demo/harness/workflow/skill-io-contract.yaml +14 -12
  53. package/demo/harness/workflow/skill-quality-standards.yaml +34 -14
  54. package/demo/harness/workflow/stage-contracts.yaml +5 -5
  55. package/deploy/SKILL.md +2 -1
  56. package/deploy/harness/THIS_SKILL.md +20 -7
  57. package/deploy/harness/constraints/issue-taxonomy.md +36 -0
  58. package/deploy/harness/constraints/skill-role-contract.md +24 -12
  59. package/deploy/harness/constraints/source-of-truth.md +8 -4
  60. package/deploy/harness/constraints/stage-gates.md +45 -15
  61. package/deploy/harness/workflow/skill-io-contract.yaml +14 -12
  62. package/deploy/harness/workflow/skill-quality-standards.yaml +29 -14
  63. package/deploy/harness/workflow/stage-contracts.yaml +5 -5
  64. package/design/SKILL.md +2 -1
  65. package/design/harness/THIS_SKILL.md +20 -7
  66. package/design/harness/constraints/issue-taxonomy.md +36 -0
  67. package/design/harness/constraints/skill-role-contract.md +24 -12
  68. package/design/harness/constraints/source-of-truth.md +8 -4
  69. package/design/harness/constraints/stage-gates.md +45 -15
  70. package/design/harness/workflow/skill-io-contract.yaml +14 -12
  71. package/design/harness/workflow/skill-quality-standards.yaml +29 -14
  72. package/design/harness/workflow/stage-contracts.yaml +5 -5
  73. package/dispatch/SKILL.md +2 -1
  74. package/dispatch/harness/THIS_SKILL.md +20 -7
  75. package/dispatch/harness/constraints/issue-taxonomy.md +36 -0
  76. package/dispatch/harness/constraints/skill-role-contract.md +24 -12
  77. package/dispatch/harness/constraints/source-of-truth.md +8 -4
  78. package/dispatch/harness/constraints/stage-gates.md +45 -15
  79. package/dispatch/harness/workflow/skill-io-contract.yaml +14 -12
  80. package/dispatch/harness/workflow/skill-quality-standards.yaml +29 -14
  81. package/dispatch/harness/workflow/stage-contracts.yaml +5 -5
  82. package/fix/SKILL.md +2 -1
  83. package/fix/harness/THIS_SKILL.md +20 -7
  84. package/fix/harness/constraints/issue-taxonomy.md +36 -0
  85. package/fix/harness/constraints/skill-role-contract.md +24 -12
  86. package/fix/harness/constraints/source-of-truth.md +8 -4
  87. package/fix/harness/constraints/stage-gates.md +45 -15
  88. package/fix/harness/workflow/skill-io-contract.yaml +14 -12
  89. package/fix/harness/workflow/skill-quality-standards.yaml +29 -14
  90. package/fix/harness/workflow/stage-contracts.yaml +5 -5
  91. package/flow/SKILL.md +2 -1
  92. package/flow/harness/THIS_SKILL.md +20 -7
  93. package/flow/harness/constraints/issue-taxonomy.md +36 -0
  94. package/flow/harness/constraints/skill-role-contract.md +24 -12
  95. package/flow/harness/constraints/source-of-truth.md +8 -4
  96. package/flow/harness/constraints/stage-gates.md +45 -15
  97. package/flow/harness/workflow/skill-io-contract.yaml +14 -12
  98. package/flow/harness/workflow/skill-quality-standards.yaml +29 -14
  99. package/flow/harness/workflow/stage-contracts.yaml +5 -5
  100. package/issue/SKILL.md +2 -1
  101. package/issue/harness/THIS_SKILL.md +20 -7
  102. package/issue/harness/constraints/issue-taxonomy.md +36 -0
  103. package/issue/harness/constraints/skill-role-contract.md +24 -12
  104. package/issue/harness/constraints/source-of-truth.md +8 -4
  105. package/issue/harness/constraints/stage-gates.md +45 -15
  106. package/issue/harness/workflow/skill-io-contract.yaml +14 -12
  107. package/issue/harness/workflow/skill-quality-standards.yaml +29 -14
  108. package/issue/harness/workflow/stage-contracts.yaml +5 -5
  109. package/learn/SKILL.md +2 -1
  110. package/learn/harness/THIS_SKILL.md +20 -7
  111. package/learn/harness/constraints/issue-taxonomy.md +36 -0
  112. package/learn/harness/constraints/skill-role-contract.md +24 -12
  113. package/learn/harness/constraints/source-of-truth.md +8 -4
  114. package/learn/harness/constraints/stage-gates.md +45 -15
  115. package/learn/harness/workflow/skill-io-contract.yaml +14 -12
  116. package/learn/harness/workflow/skill-quality-standards.yaml +29 -14
  117. package/learn/harness/workflow/stage-contracts.yaml +5 -5
  118. package/package.json +1 -1
  119. package/prepare/SKILL.md +2 -1
  120. package/prepare/harness/THIS_SKILL.md +20 -7
  121. package/prepare/harness/constraints/issue-taxonomy.md +36 -0
  122. package/prepare/harness/constraints/skill-role-contract.md +24 -12
  123. package/prepare/harness/constraints/source-of-truth.md +8 -4
  124. package/prepare/harness/constraints/stage-gates.md +45 -15
  125. package/prepare/harness/workflow/skill-io-contract.yaml +14 -12
  126. package/prepare/harness/workflow/skill-quality-standards.yaml +29 -14
  127. package/prepare/harness/workflow/stage-contracts.yaml +5 -5
  128. package/preproposal/SKILL.md +2 -1
  129. package/preproposal/harness/THIS_SKILL.md +20 -7
  130. package/preproposal/harness/constraints/issue-taxonomy.md +36 -0
  131. package/preproposal/harness/constraints/skill-role-contract.md +24 -12
  132. package/preproposal/harness/constraints/source-of-truth.md +8 -4
  133. package/preproposal/harness/constraints/stage-gates.md +45 -15
  134. package/preproposal/harness/workflow/skill-io-contract.yaml +14 -12
  135. package/preproposal/harness/workflow/skill-quality-standards.yaml +29 -14
  136. package/preproposal/harness/workflow/stage-contracts.yaml +5 -5
  137. package/proposal/SKILL.md +18 -11
  138. package/proposal/harness/THIS_SKILL.md +29 -11
  139. package/proposal/harness/constraints/issue-taxonomy.md +36 -0
  140. package/proposal/harness/constraints/skill-role-contract.md +24 -12
  141. package/proposal/harness/constraints/source-of-truth.md +8 -4
  142. package/proposal/harness/constraints/stage-gates.md +45 -15
  143. package/proposal/harness/workflow/skill-io-contract.yaml +18 -16
  144. package/proposal/harness/workflow/skill-quality-standards.yaml +40 -14
  145. package/proposal/harness/workflow/stage-contracts.yaml +5 -5
  146. package/ready/SKILL.md +2 -1
  147. package/ready/harness/THIS_SKILL.md +20 -7
  148. package/ready/harness/constraints/issue-taxonomy.md +36 -0
  149. package/ready/harness/constraints/skill-role-contract.md +24 -12
  150. package/ready/harness/constraints/source-of-truth.md +8 -4
  151. package/ready/harness/constraints/stage-gates.md +45 -15
  152. package/ready/harness/workflow/skill-io-contract.yaml +14 -12
  153. package/ready/harness/workflow/skill-quality-standards.yaml +29 -14
  154. package/ready/harness/workflow/stage-contracts.yaml +5 -5
  155. package/review/SKILL.md +9 -1
  156. package/review/harness/THIS_SKILL.md +20 -7
  157. package/review/harness/constraints/issue-taxonomy.md +36 -0
  158. package/review/harness/constraints/skill-role-contract.md +24 -12
  159. package/review/harness/constraints/source-of-truth.md +8 -4
  160. package/review/harness/constraints/stage-gates.md +45 -15
  161. package/review/harness/workflow/skill-io-contract.yaml +14 -12
  162. package/review/harness/workflow/skill-quality-standards.yaml +29 -14
  163. package/review/harness/workflow/stage-contracts.yaml +5 -5
  164. package/smoke/SKILL.md +2 -1
  165. package/smoke/harness/THIS_SKILL.md +20 -7
  166. package/smoke/harness/constraints/issue-taxonomy.md +36 -0
  167. package/smoke/harness/constraints/skill-role-contract.md +24 -12
  168. package/smoke/harness/constraints/source-of-truth.md +8 -4
  169. package/smoke/harness/constraints/stage-gates.md +45 -15
  170. package/smoke/harness/workflow/skill-io-contract.yaml +14 -12
  171. package/smoke/harness/workflow/skill-quality-standards.yaml +29 -14
  172. package/smoke/harness/workflow/stage-contracts.yaml +5 -5
  173. package/spec/SKILL.md +2 -1
  174. package/spec/harness/THIS_SKILL.md +20 -7
  175. package/spec/harness/constraints/issue-taxonomy.md +36 -0
  176. package/spec/harness/constraints/skill-role-contract.md +24 -12
  177. package/spec/harness/constraints/source-of-truth.md +8 -4
  178. package/spec/harness/constraints/stage-gates.md +45 -15
  179. package/spec/harness/workflow/skill-io-contract.yaml +14 -12
  180. package/spec/harness/workflow/skill-quality-standards.yaml +29 -14
  181. package/spec/harness/workflow/stage-contracts.yaml +5 -5
  182. package/task/SKILL.md +2 -1
  183. package/task/harness/THIS_SKILL.md +20 -7
  184. package/task/harness/constraints/issue-taxonomy.md +36 -0
  185. package/task/harness/constraints/skill-role-contract.md +24 -12
  186. package/task/harness/constraints/source-of-truth.md +8 -4
  187. package/task/harness/constraints/stage-gates.md +45 -15
  188. package/task/harness/workflow/skill-io-contract.yaml +14 -12
  189. package/task/harness/workflow/skill-quality-standards.yaml +29 -14
  190. package/task/harness/workflow/stage-contracts.yaml +5 -5
  191. package/verify/SKILL.md +2 -1
  192. package/verify/harness/THIS_SKILL.md +20 -7
  193. package/verify/harness/constraints/issue-taxonomy.md +36 -0
  194. package/verify/harness/constraints/skill-role-contract.md +24 -12
  195. package/verify/harness/constraints/source-of-truth.md +8 -4
  196. package/verify/harness/constraints/stage-gates.md +45 -15
  197. package/verify/harness/workflow/skill-io-contract.yaml +14 -12
  198. package/verify/harness/workflow/skill-quality-standards.yaml +29 -14
  199. package/verify/harness/workflow/stage-contracts.yaml +5 -5
  200. package/zsk/SKILL.md +2 -1
  201. package/zsk/harness/THIS_SKILL.md +20 -7
  202. package/zsk/harness/constraints/issue-taxonomy.md +36 -0
  203. package/zsk/harness/constraints/skill-role-contract.md +24 -12
  204. package/zsk/harness/constraints/source-of-truth.md +8 -4
  205. package/zsk/harness/constraints/stage-gates.md +45 -15
  206. package/zsk/harness/workflow/skill-io-contract.yaml +14 -12
  207. package/zsk/harness/workflow/skill-quality-standards.yaml +29 -14
  208. package/zsk/harness/workflow/stage-contracts.yaml +5 -5
  209. package/zskplan/SKILL.md +2 -1
  210. package/zskplan/harness/THIS_SKILL.md +20 -7
  211. package/zskplan/harness/constraints/issue-taxonomy.md +36 -0
  212. package/zskplan/harness/constraints/skill-role-contract.md +24 -12
  213. package/zskplan/harness/constraints/source-of-truth.md +8 -4
  214. package/zskplan/harness/constraints/stage-gates.md +45 -15
  215. package/zskplan/harness/workflow/skill-io-contract.yaml +14 -12
  216. package/zskplan/harness/workflow/skill-quality-standards.yaml +29 -14
  217. package/zskplan/harness/workflow/stage-contracts.yaml +5 -5
@@ -82,7 +82,8 @@ 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
- - Stage Challenge Gate: when an existing stage artifact is present, the active skill must challenge only its own responsibility, required inputs, required outputs, must-answer questions, quality checkpoints, current artifact, upstream sources, and downstream consumer; route cross-stage gaps to their owning stage instead of running a generic grill.
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.
86
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.
87
88
  - Filesystem boundaries: write ZSK-managed outputs only under the configured `.zsk` workspace paths.
88
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.
@@ -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,9 +102,10 @@ 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.
94
- - When an existing stage artifact is present, the active skill must run its own Stage Challenge Gate before downstream handoff: derive the challenge focus 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.
95
- - Keep Stage Challenge Gates skill-local: ask, repair, or block only on questions the active skill owns; route upstream or downstream findings to the owning stage instead of absorbing another skill's responsibility.
96
- - Every Stage Challenge Gate 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.
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.
97
109
  - Record durable terminology, naming, decomposition, and load-bearing clarification decisions in the nearest CONTEXT.md, or write `Context update: N/A` with rationale.
98
110
  - Preserve upstream/downstream stage ownership; do not silently rewrite another skill's artifact.
99
111
  - Record accept, reject, or conditional acceptance decision with linked verify/demo evidence.
@@ -143,9 +155,9 @@ This file is generated for the installed skill. Read it before executing this sk
143
155
  - Records `Context update: <path>` or `Context update: N/A` so later stages do not depend on hidden chat terminology.
144
156
  - Names terminology alignment status for the active artifact: source-consistent, repaired, conflicting, missing, or N/A.
145
157
  - Names owner, dependency, acceptance condition, and verification evidence for every required output or blocker.
146
- - Names existing stage artifact clarity status as PASS, NEEDS_REPAIR, BLOCKED, or WAIVED when a prior artifact is being consumed or improved.
147
- - Names the Stage Challenge Gate focus and shows it came from the active skill contract rather than a generic grill.
148
- - 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.
149
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.
150
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.
151
163
  - Links verify report, demo evidence, accepted criteria, and residual risks.
@@ -182,7 +194,7 @@ This file is generated for the installed skill. Read it before executing this sk
182
194
  - Inventing project policy, quality thresholds, source mappings, or platform behavior without configured evidence.
183
195
  - Treating missing evidence as low risk when the stage output depends on that evidence.
184
196
  - Discarding or rewriting an unclear existing stage artifact before classifying what is sourced, accepted, assumed, conflicting, or missing.
185
- - Running a generic grill or cross-stage rewrite instead of the active skill's own Stage Challenge Gate.
197
+ - Running a generic grill or cross-stage rewrite instead of the active skill's own Output Quality Check and Clarification Prelude.
186
198
  - Letting terminology, naming, or decomposition decisions live only in chat instead of CONTEXT.md.
187
199
  - Running stage-specific questioning without checking whether the artifact uses the same terms as upstream sources, downstream consumers, and implementation surfaces.
188
200
  - Letting a delayed subagent packet block indefinitely instead of marking it stale and falling back or re-emitting.
@@ -220,6 +232,7 @@ This file is generated for the installed skill. Read it before executing this sk
220
232
  ## Completion Checklist
221
233
 
222
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.
223
236
  - Evidence is linked and reproducible.
224
237
  - Issues and indexes are updated when actionable findings exist.
225
238
  - Documentation Feedback is recorded when confirmed behavior changes or gaps are found.
@@ -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.
@@ -55,7 +55,7 @@ Each skill owns one stage contract. Workflow skills may route or schedule work,
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
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, decision request | Detailed behavior, architecture, task breakdown, implementation | Every goal and metric must trace to sources or accepted assumptions; hands bounded scope to `spec` |
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
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 |
@@ -107,7 +107,7 @@ 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
- ## Stage Artifact Clarity Pass
110
+ ## Output Quality Check And Clarification Prelude
111
111
 
112
112
  Every stage owns clarity and repair for the artifacts it owns. If a stage artifact
113
113
  already exists but is unclear, incomplete, contradictory, placeholder-like, or too
@@ -115,13 +115,22 @@ weak for the next consumer, the workflow must route to the owning stage instead
115
115
  of restarting from intake, skipping ahead, or letting a downstream skill repair
116
116
  upstream intent.
117
117
 
118
- This is a skill-local Stage Challenge Gate, not a generic grilling session. The
119
- active skill must auto-identify what to challenge from its own responsibility,
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,
120
122
  required inputs, required outputs, must-answer questions, quality checkpoints,
121
123
  current artifact, upstream sources, and downstream consumer. It may surface
122
124
  upstream or downstream findings, but those findings are routed to the owning
123
125
  stage instead of being silently absorbed.
124
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
+
125
134
  The challenge basis is also skill-local: use this skill's `THIS_SKILL.md`,
126
135
  `skill-quality-standards.yaml`, bundled related best-practice files, and current
127
136
  official references when local references are incomplete or version-sensitive.
@@ -141,19 +150,22 @@ The owning stage must:
141
150
 
142
151
  - preserve the current artifact as evidence and avoid wholesale rewrite unless
143
152
  the artifact is explicitly superseded;
144
- - state the Stage Challenge Gate focus for this skill, such as proposal
145
- problem/scope clarity, spec behavior/AC traceability, design implementation
146
- mapping, task execution readiness, or evidence-stage claim validity;
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;
147
157
  - classify material claims as `sourced`, `accepted`, `assumed`, `conflicting`,
148
158
  `missing`, or `N/A`;
149
159
  - classify terminology conflicts and accepted canonical names with source or
150
160
  context references;
151
161
  - repair only the claims that local/configured sources, accepted decisions, or
152
162
  current evidence support;
153
- - ask at most one blocking question when the missing answer changes scope,
154
- behavior, design, task order, or verification;
155
- - report `Stage artifact clarity: PASS | NEEDS_REPAIR | BLOCKED | WAIVED`
156
- with owner, missing input, impact, next action, and downstream consumer.
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.
157
169
 
158
170
  Examples:
159
171
 
@@ -167,7 +179,7 @@ Examples:
167
179
  ## Context Recording Discipline
168
180
 
169
181
  ZSK treats `CONTEXT.md` as durable project language, not chat memory. When a
170
- Clarification Loop, artifact clarity pass, architecture review, stage repair, or
182
+ Clarification Prelude, Output Quality Check, architecture review, stage repair, or
171
183
  task decomposition creates or sharpens terminology, naming, module/decomposition
172
184
  rationale, accepted clarification, or a load-bearing "call this X, not Y"
173
185
  decision, the owning skill must update the nearest `CONTEXT.md` before handoff.
@@ -3,20 +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.
18
- - For vague intake, ask only after checking local and configured sources; ask one blocking question at a time and include the recommended answer plus tradeoff.
19
- - If an existing stage artifact is unclear, preserve it as a source instead of discarding it. The owning stage must run its own Stage Challenge Gate, derive the challenge focus from its active skill contract, and classify each important claim as sourced, accepted, assumed, conflicting, or missing before repairing or blocking.
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.
20
24
  - If asking is blocked, record a resource gap or issue instead of silently choosing a path.
21
25
  - Best practices may shape implementation, but they cannot override project facts or accepted design documents.
22
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.
@@ -22,32 +22,62 @@ The harness computes gate status. Skills may propose outputs and record evidence
22
22
  ## Stage Entry Quality Gate
23
23
 
24
24
  - Before a downstream stage starts, the harness must assess the required upstream artifacts for that stage with `zsk gate assess --stage <stage>`.
25
- - The assessment must write a score, PASS/FAIL criteria, blockers, gaps, and next action under `.zsk/evidence/gates/`.
26
- - 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.
27
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`.
28
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.
29
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.
30
-
31
- ## Stage Artifact Clarity Gate
32
-
33
- - This gate applies to 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.
34
- - When the artifact already exists but is unclear, incomplete, contradictory, placeholder-like, or too weak for its downstream consumer, the workflow must route to the owning stage for that skill's Stage Challenge Gate instead of skipping ahead, discarding the artifact, running a generic grill, or silently rewriting it from another stage.
35
- - The clarity pass must derive its challenge focus from the active skill contract: responsibility, required inputs, required outputs, must-answer questions, quality checkpoints, current artifact, upstream sources, and downstream consumer.
36
- - The clarity pass must apply the active skill's bundled related best-practice
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
37
52
  files and quality standards when their domain is touched. If the bundled
38
53
  references are missing, stale, too generic, version-sensitive, or not matched
39
54
  to the current stack/domain, record the gap and retrieve official/current
40
55
  references before issuing a best-practice challenge.
41
- - The clarity pass must align terminology against project sources before asking
56
+ - The check must align terminology against project sources before asking
42
57
  or repairing: `CONTEXT.md` / `CONTEXT-MAP.md` when present, `SYSTEM-SPEC.md`,
43
58
  configured raw sources, current stage artifact identifiers, and existing
44
59
  code/component/API names when the skill touches implementation-facing work.
45
60
  Conflicting or overloaded terms must be classified as conflicting/missing and
46
61
  routed to the owning stage instead of silently renaming them.
47
- - The clarity pass must classify important claims as sourced, accepted, assumed, conflicting, missing, or N/A; it must name the skill-local challenge focus, downstream consumer, required outputs, source links, blockers, and next action.
48
- - 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; if only one answer blocks direction, ask one blocking question with a recommended answer and tradeoff.
49
- - Durable terminology, naming, decomposition rationale, and load-bearing clarification decisions found during the clarity pass must update the nearest `CONTEXT.md`, or the handoff must record `Context update: N/A` with rationale.
50
- - Clarity status is `PASS`, `NEEDS_REPAIR`, `BLOCKED`, or `WAIVED`. `NEEDS_REPAIR` cannot progress downstream without an explicit risk acceptance; `BLOCKED` must include owner, missing input, impact, and next action.
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.
51
81
 
52
82
  ## Preproposal Checkpoint Gate
53
83
 
@@ -111,10 +141,10 @@ The harness computes gate status. Skills may propose outputs and record evidence
111
141
 
112
142
  - `blocked`: required resource or evidence is missing.
113
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.
114
145
  - `passed`: output exists and gate checks passed.
115
146
  - `failed`: stage ran but produced blocking findings.
116
147
  - `paused`: resumable session state exists, used by interruptible demo.
117
148
  - `terminated`: session intentionally stopped; follow-up owner is required.
118
- - `needs-confirmation`: required artifacts exist, but quality score/gaps require human decision before proceeding.
119
149
  - `waived`: explicit human risk acceptance allows progression despite non-blocking quality gaps; waiver evidence must be linked.
120
150
  - `stale`: a dispatched packet missed its heartbeat/deadline and must fall back or be re-emitted.
@@ -28,21 +28,23 @@ principles:
28
28
  and how the evidence changes the recommendation.
29
29
  - "Do not decide from uncertainty: summarize conflicting or missing facts and
30
30
  ask, or record a resource gap."
31
- - For vague intake, answer discoverable questions from local sources first,
32
- then ask one blocking question at a time with a recommended answer and
33
- tradeoff.
31
+ - For vague intake or stage-output ambiguity, answer discoverable questions
32
+ from local sources first, then ask one blocking question at a time with a
33
+ separate recommended answer.
34
34
  - "TDD first for testable behavior: tests and scenarios must be accurate and
35
35
  traceable to PRD/SRS, spec/design, task, issue, or accepted clarification."
36
+ - Each stage skill owns an `Output Quality Check` near the top of its output.
37
+ The check states status, owner, source basis, blocking items, and next
38
+ action before gate/dispatch.
36
39
  - When an existing stage artifact is unclear, incomplete, contradictory, or
37
- too weak for its downstream consumer, route to the owning stage's
38
- skill-local Stage Challenge Gate before downstream work; preserve the
39
- artifact, derive challenge focus from the active skill's contract, classify
40
- gaps, repair what sources support, and ask only one blocking question when
41
- needed.
42
- - "A Stage Challenge Gate is not a generic grill: proposal challenges problem
43
- and scope, spec challenges behavior contracts, design challenges
44
- implementation mapping, task challenges execution readiness, and later
45
- evidence stages challenge the claim they own."
40
+ too weak for its downstream consumer, route to the owning stage's Output
41
+ Quality Check and Clarification Prelude before downstream work; preserve the
42
+ artifact, derive the check from the active skill's contract, classify gaps,
43
+ repair what sources support, and ask only one blocking question when needed.
44
+ - "Clarification Prelude is not a generic grill: first execution may create an
45
+ initial draft from confirmed upstream artifacts, while later executions
46
+ refine one clarification unit at a time until the stage output is directly
47
+ usable downstream."
46
48
  - When clarification, grilling, architecture review, stage repair, or task
47
49
  decomposition creates or sharpens project/module terminology, naming,
48
50
  decomposition rationale, or load-bearing decisions, update the nearest
@@ -74,6 +74,15 @@ framework:
74
74
  apply, cites the evidence or project rule, and does not hide a missing
75
75
  mandatory input.
76
76
  defaults:
77
+ outputQualityRubricFields:
78
+ - output_goal
79
+ - downstream_consumer
80
+ - required_inputs
81
+ - required_outputs
82
+ - must_answer_questions
83
+ - quality_checks
84
+ - anti_patterns
85
+ - stop_condition
77
86
  hardRequirements:
78
87
  - Read the required inputs for the active skill, or stop as BLOCKED with
79
88
  owner, missing input, impact, and next action.
@@ -85,17 +94,21 @@ defaults:
85
94
  and evidence.
86
95
  - Trace required claims to source artifacts, accepted decisions, scenarios,
87
96
  commands, issues, or human decisions.
88
- - "When an existing stage artifact is present, the active skill must run its
89
- own Stage Challenge Gate before downstream handoff: derive the challenge
90
- focus from that skill's responsibility, required inputs, required outputs,
97
+ - "Every stage output must include a concise `Output Quality Check` near the
98
+ top with fields in order: status, owner, source_basis, blocking_items,
99
+ next_action, and optional waiver/updated_at."
100
+ - "When an existing stage artifact is present, the active skill must update
101
+ its own Output Quality Check before downstream handoff: derive the check
102
+ from that skill's responsibility, required inputs, required outputs,
91
103
  must-answer questions, quality checkpoints, current artifact, upstream
92
104
  sources, and downstream consumer; classify sourced, accepted, assumed,
93
105
  conflicting, missing, and N/A claims, then repair or block through the
94
106
  owning stage."
95
- - "Keep Stage Challenge Gates skill-local: ask, repair, or block only on
96
- questions the active skill owns; route upstream or downstream findings to
97
- the owning stage instead of absorbing another skill's responsibility."
98
- - Every Stage Challenge Gate must align terminology against
107
+ - "Keep Clarification Prelude skill-local: ask, repair, or block only on
108
+ load-bearing questions the active skill owns; route upstream or downstream
109
+ findings to the owning stage instead of absorbing another skill's
110
+ responsibility."
111
+ - Every Output Quality Check must align terminology against
99
112
  CONTEXT.md/CONTEXT-MAP.md when present, SYSTEM-SPEC.md, configured raw
100
113
  sources, current artifact identifiers, and code/component/API names when
101
114
  implementation-facing work is touched.
@@ -162,13 +175,15 @@ defaults:
162
175
  source-consistent, repaired, conflicting, missing, or N/A."
163
176
  - Names owner, dependency, acceptance condition, and verification evidence
164
177
  for every required output or blocker.
165
- - Names existing stage artifact clarity status as PASS, NEEDS_REPAIR,
166
- BLOCKED, or WAIVED when a prior artifact is being consumed or improved.
167
- - Names the Stage Challenge Gate focus and shows it came from the active
168
- skill contract rather than a generic grill.
178
+ - Names `Output Quality Check` status as PASS, NEEDS_CLARIFICATION,
179
+ NEEDS_REPAIR, BLOCKED, or WAIVED when a stage artifact is produced,
180
+ consumed, or improved.
181
+ - "Keeps Output Quality Check summary-level: status, owner, source basis,
182
+ blocking item links, and next action only; long criteria output belongs in
183
+ verbose evidence."
169
184
  - Runs or references the stage-entry quality gate before downstream handoff;
170
- below-threshold but non-blocking gaps require explicit risk acceptance
171
- instead of silent progression.
185
+ gate assess maps Output Quality Check status instead of inventing a new
186
+ quality judgment.
172
187
  - "For testable work, verifies test correctness, not only test execution:
173
188
  traceable test basis, meaningful assertions, negative/boundary/regression
174
189
  coverage, and skipped/unrun checks called out."
@@ -197,7 +212,7 @@ defaults:
197
212
  - Discarding or rewriting an unclear existing stage artifact before
198
213
  classifying what is sourced, accepted, assumed, conflicting, or missing.
199
214
  - Running a generic grill or cross-stage rewrite instead of the active
200
- skill's own Stage Challenge Gate.
215
+ skill's own Output Quality Check and Clarification Prelude.
201
216
  - Letting terminology, naming, or decomposition decisions live only in chat
202
217
  instead of CONTEXT.md.
203
218
  - Running stage-specific questioning without checking whether the artifact
@@ -9,9 +9,9 @@ contracts:
9
9
  optionalResources: [target-module, module-docs, module-context, project-config, system-spec, existing-product-design, existing-roadmap, existing-ux-design, design-sources, market-research, user-research, stakeholder-notes, resource-manifest]
10
10
  outputs: [preproposal-raw-pack, module-scoped-raw-pack-when-targeted, intake-clarity-brief, accepted-clarifications, product-brief, roadmap-decomposition, ux-flow-seeds, interaction-handoff-when-triggered, module-scoped-interaction-handoff-when-targeted, design-source-needs, design-source-map-when-triggered, assumptions-ledger, risk-ledger, scenario-seeds, checkpoint-review-evidence, readiness-handoff]
11
11
  proposal:
12
- requiredResources: [project-config, system-spec, requirements]
13
- optionalResources: [reviewed-preproposal-raw-pack, market-research, competitor-research, pricing-research, user-personas, user-research, business-model, regulatory-sources]
14
- outputs: [project-rules-gate, proposal]
12
+ requiredResources: [project-config, system-spec, resource-manifest, raw-source-library]
13
+ optionalResources: [module-source-map, module-context, reviewed-preproposal-raw-pack, requirements, customer-notes, issue-exports, market-research, competitor-research, pricing-research, user-personas, user-research, business-model, regulatory-sources]
14
+ outputs: [project-rules-gate, source-basis, terminology-basis, proposal]
15
15
  spec:
16
16
  requiredResources: [project-config, system-spec, requirements, proposal]
17
17
  optionalResources: [market-research, user-personas, pricing-research, competitor-research]
@@ -45,8 +45,8 @@ contracts:
45
45
  outputs: [deployment, runtime-evidence]
46
46
  demo:
47
47
  requiredResources: [spec, design, deployment, playwright-case-skeletons]
48
- optionalResources: [api-contracts, design-sources, design-assets, test-cases]
49
- outputs: [demo-outline, demo-report, demo-issues, demo-scenarios, synthesized-playwright-cases]
48
+ optionalResources: [api-contracts, design-sources, design-assets, test-cases, demo-auth-state]
49
+ outputs: [demo-outline, demo-report, demo-issues, demo-scenarios, demo-auth-state, synthesized-playwright-cases]
50
50
  defect:
51
51
  requiredResources: [demo-report]
52
52
  outputs: [defects]
package/archive/SKILL.md CHANGED
@@ -77,7 +77,8 @@ This core skill is governed by the ZSK harness. Enforce these rules even when on
77
77
  - Constraint levels: hard requirements and triggered conditional requirements are blocking; advisory guidance may be skipped only with rationale and no broken hard/conditional gate.
78
78
  - 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.
79
79
  - 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.
80
- - Stage Challenge Gate: when an existing stage artifact is present, the active skill must challenge only its own responsibility, required inputs, required outputs, must-answer questions, quality checkpoints, current artifact, upstream sources, and downstream consumer; route cross-stage gaps to their owning stage instead of running a generic grill.
80
+ - 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.
81
+ - 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.
81
82
  - 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.
82
83
  - Filesystem boundaries: write ZSK-managed outputs only under the configured `.zsk` workspace paths.
83
84
  - 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.
@@ -86,6 +86,17 @@ This file is generated for the installed skill. Read it before executing this sk
86
86
  - Document mode: `decisionRecord`
87
87
  - Purpose: Close the iteration by preserving artifacts, decisions, issues, and learning proposals.
88
88
 
89
+ ## Output Quality Rubric
90
+
91
+ - `output_goal`: Close the iteration by preserving artifacts, decisions, issues, and learning proposals.
92
+ - `downstream_consumer`: Next legal ZSK stage or reviewer.
93
+ - `required_inputs`: acceptance-decision, final-artifacts, closed-issues, learning-candidates
94
+ - `required_outputs`: archive-record, learning-proposals, release-notes
95
+ - `must_answer_questions`: What was delivered, where are final artifacts, and which issues changed state? / What decisions should future agents not re-litigate? / Which reusable gaps deserve learning proposals?
96
+ - `quality_checks`: Indexes final artifacts, closed/open issues, evidence, decisions, and learning candidates. / Distinguishes accepted behavior from future improvement ideas.
97
+ - `anti_patterns`: Archiving chat summaries instead of durable artifact links. / Promoting one-off preferences into core rules without review.
98
+ - `stop_condition`: `Output Quality Check` is PASS, WAIVED with accepted risk, or BLOCKED/NEEDS_CLARIFICATION/NEEDS_REPAIR with owner, impact, and next action.
99
+
89
100
  ## Hard Requirements
90
101
 
91
102
  - Read the required inputs for the active skill, or stop as BLOCKED with owner, missing input, impact, and next action.
@@ -93,9 +104,10 @@ This file is generated for the installed skill. Read it before executing this sk
93
104
  - Expose the required output contract in the artifact or handoff so the next skill can verify what was produced, blocked, or N/A.
94
105
  - Separate facts, decisions, assumptions, open questions, risks, blockers, and evidence.
95
106
  - Trace required claims to source artifacts, accepted decisions, scenarios, commands, issues, or human decisions.
96
- - When an existing stage artifact is present, the active skill must run its own Stage Challenge Gate before downstream handoff: derive the challenge focus 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.
97
- - Keep Stage Challenge Gates skill-local: ask, repair, or block only on questions the active skill owns; route upstream or downstream findings to the owning stage instead of absorbing another skill's responsibility.
98
- - Every Stage Challenge Gate 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.
107
+ - 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.
108
+ - 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.
109
+ - 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.
110
+ - 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.
99
111
  - Record durable terminology, naming, decomposition, and load-bearing clarification decisions in the nearest CONTEXT.md, or write `Context update: N/A` with rationale.
100
112
  - Preserve upstream/downstream stage ownership; do not silently rewrite another skill's artifact.
101
113
  - Index final artifacts, accepted/rejected decisions, closed/open issues, evidence, residual risks, and learning candidates.
@@ -145,9 +157,9 @@ This file is generated for the installed skill. Read it before executing this sk
145
157
  - Records `Context update: <path>` or `Context update: N/A` so later stages do not depend on hidden chat terminology.
146
158
  - Names terminology alignment status for the active artifact: source-consistent, repaired, conflicting, missing, or N/A.
147
159
  - Names owner, dependency, acceptance condition, and verification evidence for every required output or blocker.
148
- - Names existing stage artifact clarity status as PASS, NEEDS_REPAIR, BLOCKED, or WAIVED when a prior artifact is being consumed or improved.
149
- - Names the Stage Challenge Gate focus and shows it came from the active skill contract rather than a generic grill.
150
- - 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.
160
+ - Names `Output Quality Check` status as PASS, NEEDS_CLARIFICATION, NEEDS_REPAIR, BLOCKED, or WAIVED when a stage artifact is produced, consumed, or improved.
161
+ - Keeps Output Quality Check summary-level: status, owner, source basis, blocking item links, and next action only; long criteria output belongs in verbose evidence.
162
+ - 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.
151
163
  - 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.
152
164
  - 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.
153
165
  - Indexes final artifacts, closed/open issues, evidence, decisions, and learning candidates.
@@ -186,7 +198,7 @@ This file is generated for the installed skill. Read it before executing this sk
186
198
  - Inventing project policy, quality thresholds, source mappings, or platform behavior without configured evidence.
187
199
  - Treating missing evidence as low risk when the stage output depends on that evidence.
188
200
  - Discarding or rewriting an unclear existing stage artifact before classifying what is sourced, accepted, assumed, conflicting, or missing.
189
- - Running a generic grill or cross-stage rewrite instead of the active skill's own Stage Challenge Gate.
201
+ - Running a generic grill or cross-stage rewrite instead of the active skill's own Output Quality Check and Clarification Prelude.
190
202
  - Letting terminology, naming, or decomposition decisions live only in chat instead of CONTEXT.md.
191
203
  - Running stage-specific questioning without checking whether the artifact uses the same terms as upstream sources, downstream consumers, and implementation surfaces.
192
204
  - Letting a delayed subagent packet block indefinitely instead of marking it stale and falling back or re-emitting.
@@ -225,6 +237,7 @@ This file is generated for the installed skill. Read it before executing this sk
225
237
  ## Completion Checklist
226
238
 
227
239
  - Required outputs above are produced or explicitly blocked.
240
+ - Output Quality Check is updated with status, owner, source basis, blocking item links, and next action.
228
241
  - Evidence is linked and reproducible.
229
242
  - Issues and indexes are updated when actionable findings exist.
230
243
  - Documentation Feedback is recorded when confirmed behavior changes or gaps are found.