@captain_z/zsk-skills 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/README.md +2 -2
  2. package/acceptance/SKILL.md +23 -1
  3. package/acceptance/harness/THIS_SKILL.md +35 -1
  4. package/acceptance/harness/best-practices/README.md +1 -1
  5. package/acceptance/harness/constraints/filesystem-boundaries.md +22 -5
  6. package/acceptance/harness/constraints/issue-taxonomy.md +23 -12
  7. package/acceptance/harness/constraints/skill-role-contract.md +22 -2
  8. package/acceptance/harness/constraints/source-of-truth.md +6 -3
  9. package/acceptance/harness/workflow/completion-contract.yaml +31 -11
  10. package/acceptance/harness/workflow/skill-io-contract.yaml +69 -8
  11. package/acceptance/harness/workflow/skill-quality-standards.yaml +55 -0
  12. package/acceptance/harness/workflow/stage-contracts.yaml +4 -2
  13. package/archive/SKILL.md +25 -3
  14. package/archive/harness/THIS_SKILL.md +35 -1
  15. package/archive/harness/best-practices/README.md +1 -1
  16. package/archive/harness/constraints/filesystem-boundaries.md +22 -5
  17. package/archive/harness/constraints/issue-taxonomy.md +23 -12
  18. package/archive/harness/constraints/skill-role-contract.md +22 -2
  19. package/archive/harness/constraints/source-of-truth.md +6 -3
  20. package/archive/harness/workflow/completion-contract.yaml +31 -11
  21. package/archive/harness/workflow/skill-io-contract.yaml +69 -8
  22. package/archive/harness/workflow/skill-quality-standards.yaml +56 -0
  23. package/archive/harness/workflow/stage-contracts.yaml +4 -2
  24. package/coding/SKILL.md +29 -5
  25. package/coding/harness/THIS_SKILL.md +36 -1
  26. package/coding/harness/best-practices/README.md +1 -1
  27. package/coding/harness/constraints/filesystem-boundaries.md +22 -5
  28. package/coding/harness/constraints/issue-taxonomy.md +23 -12
  29. package/coding/harness/constraints/skill-role-contract.md +22 -2
  30. package/coding/harness/constraints/source-of-truth.md +6 -3
  31. package/coding/harness/workflow/completion-contract.yaml +31 -11
  32. package/coding/harness/workflow/skill-io-contract.yaml +69 -8
  33. package/coding/harness/workflow/skill-quality-standards.yaml +58 -0
  34. package/coding/harness/workflow/stage-contracts.yaml +4 -2
  35. package/commit/SKILL.md +23 -1
  36. package/commit/harness/THIS_SKILL.md +35 -1
  37. package/commit/harness/best-practices/README.md +1 -1
  38. package/commit/harness/constraints/filesystem-boundaries.md +22 -5
  39. package/commit/harness/constraints/issue-taxonomy.md +23 -12
  40. package/commit/harness/constraints/skill-role-contract.md +22 -2
  41. package/commit/harness/constraints/source-of-truth.md +6 -3
  42. package/commit/harness/workflow/completion-contract.yaml +31 -11
  43. package/commit/harness/workflow/skill-io-contract.yaml +69 -8
  44. package/commit/harness/workflow/skill-quality-standards.yaml +57 -0
  45. package/commit/harness/workflow/stage-contracts.yaml +4 -2
  46. package/defect/SKILL.md +23 -1
  47. package/defect/harness/THIS_SKILL.md +35 -1
  48. package/defect/harness/best-practices/README.md +1 -1
  49. package/defect/harness/constraints/filesystem-boundaries.md +22 -5
  50. package/defect/harness/constraints/issue-taxonomy.md +23 -12
  51. package/defect/harness/constraints/skill-role-contract.md +22 -2
  52. package/defect/harness/constraints/source-of-truth.md +6 -3
  53. package/defect/harness/workflow/completion-contract.yaml +31 -11
  54. package/defect/harness/workflow/skill-io-contract.yaml +69 -8
  55. package/defect/harness/workflow/skill-quality-standards.yaml +55 -0
  56. package/defect/harness/workflow/stage-contracts.yaml +4 -2
  57. package/demo/SKILL.md +28 -6
  58. package/demo/harness/THIS_SKILL.md +35 -1
  59. package/demo/harness/best-practices/README.md +1 -1
  60. package/demo/harness/best-practices/design-handoff.md +5 -5
  61. package/demo/harness/constraints/filesystem-boundaries.md +22 -5
  62. package/demo/harness/constraints/issue-taxonomy.md +23 -12
  63. package/demo/harness/constraints/skill-role-contract.md +22 -2
  64. package/demo/harness/constraints/source-of-truth.md +6 -3
  65. package/demo/harness/workflow/completion-contract.yaml +31 -11
  66. package/demo/harness/workflow/skill-io-contract.yaml +69 -8
  67. package/demo/harness/workflow/skill-quality-standards.yaml +57 -0
  68. package/demo/harness/workflow/stage-contracts.yaml +4 -2
  69. package/demo/references/automation.md +2 -2
  70. package/demo/templates/scenario-synthesis.json +1 -1
  71. package/deploy/SKILL.md +23 -1
  72. package/deploy/harness/THIS_SKILL.md +35 -1
  73. package/deploy/harness/best-practices/README.md +1 -1
  74. package/deploy/harness/constraints/filesystem-boundaries.md +22 -5
  75. package/deploy/harness/constraints/issue-taxonomy.md +23 -12
  76. package/deploy/harness/constraints/skill-role-contract.md +22 -2
  77. package/deploy/harness/constraints/source-of-truth.md +6 -3
  78. package/deploy/harness/workflow/completion-contract.yaml +31 -11
  79. package/deploy/harness/workflow/skill-io-contract.yaml +69 -8
  80. package/deploy/harness/workflow/skill-quality-standards.yaml +56 -0
  81. package/deploy/harness/workflow/stage-contracts.yaml +4 -2
  82. package/design/SKILL.md +24 -2
  83. package/design/harness/THIS_SKILL.md +37 -1
  84. package/design/harness/best-practices/README.md +1 -1
  85. package/design/harness/best-practices/design-handoff.md +5 -5
  86. package/design/harness/constraints/filesystem-boundaries.md +22 -5
  87. package/design/harness/constraints/issue-taxonomy.md +23 -12
  88. package/design/harness/constraints/skill-role-contract.md +22 -2
  89. package/design/harness/constraints/source-of-truth.md +6 -3
  90. package/design/harness/workflow/completion-contract.yaml +31 -11
  91. package/design/harness/workflow/skill-io-contract.yaml +69 -8
  92. package/design/harness/workflow/skill-quality-standards.yaml +61 -0
  93. package/design/harness/workflow/stage-contracts.yaml +4 -2
  94. package/dispatch/SKILL.md +24 -2
  95. package/dispatch/harness/THIS_SKILL.md +28 -1
  96. package/dispatch/harness/best-practices/README.md +1 -1
  97. package/dispatch/harness/constraints/filesystem-boundaries.md +22 -5
  98. package/dispatch/harness/constraints/issue-taxonomy.md +23 -12
  99. package/dispatch/harness/constraints/skill-role-contract.md +22 -2
  100. package/dispatch/harness/constraints/source-of-truth.md +6 -3
  101. package/dispatch/harness/workflow/completion-contract.yaml +31 -11
  102. package/dispatch/harness/workflow/skill-io-contract.yaml +69 -8
  103. package/dispatch/harness/workflow/skill-quality-standards.yaml +41 -0
  104. package/dispatch/harness/workflow/stage-contracts.yaml +4 -2
  105. package/flow/SKILL.md +26 -4
  106. package/flow/harness/THIS_SKILL.md +28 -1
  107. package/flow/harness/best-practices/README.md +1 -1
  108. package/flow/harness/constraints/filesystem-boundaries.md +22 -5
  109. package/flow/harness/constraints/issue-taxonomy.md +23 -12
  110. package/flow/harness/constraints/skill-role-contract.md +22 -2
  111. package/flow/harness/constraints/source-of-truth.md +6 -3
  112. package/flow/harness/workflow/completion-contract.yaml +31 -11
  113. package/flow/harness/workflow/skill-io-contract.yaml +69 -8
  114. package/flow/harness/workflow/skill-quality-standards.yaml +41 -0
  115. package/flow/harness/workflow/stage-contracts.yaml +4 -2
  116. package/issue/SKILL.md +41 -13
  117. package/issue/harness/THIS_SKILL.md +30 -2
  118. package/issue/harness/best-practices/README.md +1 -1
  119. package/issue/harness/constraints/filesystem-boundaries.md +22 -5
  120. package/issue/harness/constraints/issue-taxonomy.md +23 -12
  121. package/issue/harness/constraints/skill-role-contract.md +22 -2
  122. package/issue/harness/constraints/source-of-truth.md +6 -3
  123. package/issue/harness/workflow/completion-contract.yaml +31 -11
  124. package/issue/harness/workflow/skill-io-contract.yaml +71 -9
  125. package/issue/harness/workflow/skill-quality-standards.yaml +41 -0
  126. package/issue/harness/workflow/stage-contracts.yaml +4 -2
  127. package/learn/SKILL.md +28 -6
  128. package/learn/harness/THIS_SKILL.md +28 -1
  129. package/learn/harness/best-practices/README.md +1 -1
  130. package/learn/harness/constraints/filesystem-boundaries.md +22 -5
  131. package/learn/harness/constraints/issue-taxonomy.md +23 -12
  132. package/learn/harness/constraints/skill-role-contract.md +22 -2
  133. package/learn/harness/constraints/source-of-truth.md +6 -3
  134. package/learn/harness/workflow/completion-contract.yaml +31 -11
  135. package/learn/harness/workflow/skill-io-contract.yaml +69 -8
  136. package/learn/harness/workflow/skill-quality-standards.yaml +41 -0
  137. package/learn/harness/workflow/stage-contracts.yaml +4 -2
  138. package/package.json +1 -1
  139. package/prepare/SKILL.md +33 -11
  140. package/prepare/harness/THIS_SKILL.md +37 -1
  141. package/prepare/harness/best-practices/README.md +1 -1
  142. package/prepare/harness/constraints/filesystem-boundaries.md +22 -5
  143. package/prepare/harness/constraints/issue-taxonomy.md +23 -12
  144. package/prepare/harness/constraints/skill-role-contract.md +22 -2
  145. package/prepare/harness/constraints/source-of-truth.md +6 -3
  146. package/prepare/harness/workflow/completion-contract.yaml +31 -11
  147. package/prepare/harness/workflow/skill-io-contract.yaml +69 -8
  148. package/prepare/harness/workflow/skill-quality-standards.yaml +59 -0
  149. package/prepare/harness/workflow/stage-contracts.yaml +4 -2
  150. package/prepare/harness.yaml +1 -1
  151. package/proposal/SKILL.md +33 -5
  152. package/proposal/harness/THIS_SKILL.md +38 -1
  153. package/proposal/harness/best-practices/README.md +1 -1
  154. package/proposal/harness/constraints/filesystem-boundaries.md +22 -5
  155. package/proposal/harness/constraints/issue-taxonomy.md +23 -12
  156. package/proposal/harness/constraints/skill-role-contract.md +22 -2
  157. package/proposal/harness/constraints/source-of-truth.md +6 -3
  158. package/proposal/harness/workflow/completion-contract.yaml +31 -11
  159. package/proposal/harness/workflow/skill-io-contract.yaml +69 -8
  160. package/proposal/harness/workflow/skill-quality-standards.yaml +60 -0
  161. package/proposal/harness/workflow/stage-contracts.yaml +4 -2
  162. package/ready/SKILL.md +23 -1
  163. package/ready/harness/THIS_SKILL.md +35 -1
  164. package/ready/harness/best-practices/README.md +1 -1
  165. package/ready/harness/constraints/filesystem-boundaries.md +22 -5
  166. package/ready/harness/constraints/issue-taxonomy.md +23 -12
  167. package/ready/harness/constraints/skill-role-contract.md +22 -2
  168. package/ready/harness/constraints/source-of-truth.md +6 -3
  169. package/ready/harness/workflow/completion-contract.yaml +31 -11
  170. package/ready/harness/workflow/skill-io-contract.yaml +69 -8
  171. package/ready/harness/workflow/skill-quality-standards.yaml +56 -0
  172. package/ready/harness/workflow/stage-contracts.yaml +4 -2
  173. package/review/SKILL.md +23 -1
  174. package/review/harness/THIS_SKILL.md +35 -1
  175. package/review/harness/best-practices/README.md +1 -1
  176. package/review/harness/constraints/filesystem-boundaries.md +22 -5
  177. package/review/harness/constraints/issue-taxonomy.md +23 -12
  178. package/review/harness/constraints/skill-role-contract.md +22 -2
  179. package/review/harness/constraints/source-of-truth.md +6 -3
  180. package/review/harness/workflow/completion-contract.yaml +31 -11
  181. package/review/harness/workflow/skill-io-contract.yaml +69 -8
  182. package/review/harness/workflow/skill-quality-standards.yaml +57 -0
  183. package/review/harness/workflow/stage-contracts.yaml +4 -2
  184. package/smoke/SKILL.md +23 -1
  185. package/smoke/harness/THIS_SKILL.md +35 -1
  186. package/smoke/harness/best-practices/README.md +1 -1
  187. package/smoke/harness/constraints/filesystem-boundaries.md +22 -5
  188. package/smoke/harness/constraints/issue-taxonomy.md +23 -12
  189. package/smoke/harness/constraints/skill-role-contract.md +22 -2
  190. package/smoke/harness/constraints/source-of-truth.md +6 -3
  191. package/smoke/harness/workflow/completion-contract.yaml +31 -11
  192. package/smoke/harness/workflow/skill-io-contract.yaml +69 -8
  193. package/smoke/harness/workflow/skill-quality-standards.yaml +57 -0
  194. package/smoke/harness/workflow/stage-contracts.yaml +4 -2
  195. package/spec/SKILL.md +30 -5
  196. package/spec/harness/THIS_SKILL.md +37 -1
  197. package/spec/harness/best-practices/README.md +1 -1
  198. package/spec/harness/constraints/filesystem-boundaries.md +22 -5
  199. package/spec/harness/constraints/issue-taxonomy.md +23 -12
  200. package/spec/harness/constraints/skill-role-contract.md +22 -2
  201. package/spec/harness/constraints/source-of-truth.md +6 -3
  202. package/spec/harness/workflow/completion-contract.yaml +31 -11
  203. package/spec/harness/workflow/skill-io-contract.yaml +69 -8
  204. package/spec/harness/workflow/skill-quality-standards.yaml +59 -0
  205. package/spec/harness/workflow/stage-contracts.yaml +4 -2
  206. package/task/SKILL.md +23 -1
  207. package/task/harness/THIS_SKILL.md +36 -1
  208. package/task/harness/best-practices/README.md +1 -1
  209. package/task/harness/constraints/filesystem-boundaries.md +22 -5
  210. package/task/harness/constraints/issue-taxonomy.md +23 -12
  211. package/task/harness/constraints/skill-role-contract.md +22 -2
  212. package/task/harness/constraints/source-of-truth.md +6 -3
  213. package/task/harness/workflow/completion-contract.yaml +31 -11
  214. package/task/harness/workflow/skill-io-contract.yaml +69 -8
  215. package/task/harness/workflow/skill-quality-standards.yaml +61 -0
  216. package/task/harness/workflow/stage-contracts.yaml +4 -2
  217. package/verify/SKILL.md +23 -1
  218. package/verify/harness/THIS_SKILL.md +35 -1
  219. package/verify/harness/best-practices/README.md +1 -1
  220. package/verify/harness/constraints/filesystem-boundaries.md +22 -5
  221. package/verify/harness/constraints/issue-taxonomy.md +23 -12
  222. package/verify/harness/constraints/skill-role-contract.md +22 -2
  223. package/verify/harness/constraints/source-of-truth.md +6 -3
  224. package/verify/harness/workflow/completion-contract.yaml +31 -11
  225. package/verify/harness/workflow/skill-io-contract.yaml +69 -8
  226. package/verify/harness/workflow/skill-quality-standards.yaml +54 -0
  227. package/verify/harness/workflow/stage-contracts.yaml +4 -2
  228. package/zsk/SKILL.md +30 -7
  229. package/zsk/harness/THIS_SKILL.md +28 -1
  230. package/zsk/harness/best-practices/README.md +1 -1
  231. package/zsk/harness/constraints/filesystem-boundaries.md +22 -5
  232. package/zsk/harness/constraints/issue-taxonomy.md +23 -12
  233. package/zsk/harness/constraints/skill-role-contract.md +22 -2
  234. package/zsk/harness/constraints/source-of-truth.md +6 -3
  235. package/zsk/harness/workflow/completion-contract.yaml +31 -11
  236. package/zsk/harness/workflow/skill-io-contract.yaml +69 -8
  237. package/zsk/harness/workflow/skill-quality-standards.yaml +41 -0
  238. package/zsk/harness/workflow/stage-contracts.yaml +4 -2
  239. package/zskplan/SKILL.md +28 -5
  240. package/zskplan/harness/THIS_SKILL.md +28 -1
  241. package/zskplan/harness/best-practices/README.md +1 -1
  242. package/zskplan/harness/constraints/filesystem-boundaries.md +22 -5
  243. package/zskplan/harness/constraints/issue-taxonomy.md +23 -12
  244. package/zskplan/harness/constraints/skill-role-contract.md +22 -2
  245. package/zskplan/harness/constraints/source-of-truth.md +6 -3
  246. package/zskplan/harness/workflow/completion-contract.yaml +31 -11
  247. package/zskplan/harness/workflow/skill-io-contract.yaml +69 -8
  248. package/zskplan/harness/workflow/skill-quality-standards.yaml +41 -0
  249. package/zskplan/harness/workflow/stage-contracts.yaml +4 -2
package/README.md CHANGED
@@ -101,9 +101,9 @@ flowchart TD
101
101
 
102
102
  ## 和项目知识工作区的关系
103
103
 
104
- `zsk init` 生成的 `.zsk/config.yaml`、`.zsk/docs/SYSTEM-SPEC.md`、`.zsk/resources/`、`.zsk/modules/`、`.zsk/issues/`、`.zsk/evidence/`、`.zsk/playwright/` 和 `.zsk/plans/` 是默认项目上下文。CLI 负责创建最小骨架、使用 package-owned schema 校验、刷新 `.zsk/resources/manifest.json`,并通过 `zsk config check` / `zsk check` 做确定性校验。
104
+ `zsk init` 生成的 `.zsk/config.yaml`、`.zsk/docs/SYSTEM-SPEC.md`、`.zsk/raws/`、`.zsk/modules/`、`.zsk/issues/`、`.zsk/evidence/`、`.zsk/playwright/` 和 `.zsk/plans/` 是默认项目上下文。CLI 负责创建最小骨架、使用 package-owned schema 校验、刷新 `.zsk/raws/manifest.json`,并通过 `zsk config check` / `zsk check` 做确定性校验。
105
105
 
106
- Skills 负责更需要判断的部分:理解 SRS、PRD、API 契约、Figma/Modao、测试资产和设计资产,发现模块边界,做跨事实源冲突分析,并把问题写入配置的 issue 根。运行时验证默认用 Playwright 产生可复现 evidence;登录态优先转成 Playwright `storageState`;视觉/当前页面判断优先 Computer Use;没有 Computer Use 的运行时用 Playwright MCP/ARIA/CDP、手工证据或可用的 Browser Use 兼容处理。Skills 必须通过 `.zsk/config.yaml` 和 `.zsk/modules/{module}/module.yaml` 解析路径,不能硬编码 `.zsk/resources`、root `docs`、root `.issues`、root `.playwright` 或 root `plans`。
106
+ Skills 负责更需要判断的部分:理解 SRS、PRD、API 契约、Figma/Modao、测试资产和设计资产,发现模块边界,做跨事实源冲突分析,并把问题写入配置的 issue 根。运行时验证默认用 Playwright 产生可复现 evidence;登录态优先转成 Playwright `storageState`;视觉/当前页面判断优先 Computer Use;没有 Computer Use 的运行时用 Playwright MCP/ARIA/CDP、手工证据或可用的 Browser Use 兼容处理。Skills 必须通过 `.zsk/config.yaml` 和 `.zsk/modules/{module}/module.yaml` 解析路径,不能硬编码 `.zsk/raws`、root `docs`、root `.issues`、root `.playwright` 或 root `plans`。
107
107
 
108
108
  每个 skill/stage 的输入、输出、工具/能力、脚本策略和运行时 UI 观察策略由 harness 的 `skill-io-contract.yaml` 约束;完成后的产物路径、issue 索引同步和确认后的文档反哺由 `completion-contract.yaml` 约束。缺少 Documentation Feedback 时,`zsk check` 可以把它作为阶段未收口的证据。
109
109
 
@@ -13,6 +13,26 @@ category: stage
13
13
  tier: core
14
14
  triggers:
15
15
  - acceptance
16
+ useWhen:
17
+ - "Use when the workflow is ready for this responsibility: After independent
18
+ verify passes, records accept/reject decision, linked evidence, and
19
+ residual-risk owner."
20
+ - Use when the user invokes zsk:acceptance or asks for acceptance outputs
21
+ after prerequisites are present.
22
+ doNotUseWhen:
23
+ - Do not use when required inputs, prior-stage evidence, or configured sources
24
+ for acceptance are missing.
25
+ - Do not use to bypass stage gates, perform another skill's responsibility, or
26
+ make unsupported completion claims.
27
+ positiveExamples:
28
+ - Run zsk:acceptance with the required inputs and produce the documented
29
+ acceptance artifacts.
30
+ - Continue the workflow at acceptance after the prerequisite evidence and
31
+ blockers are resolved.
32
+ negativeExamples:
33
+ - Use zsk:acceptance to skip missing prerequisites or hide unresolved blockers.
34
+ - Run acceptance for generic chat, unrelated implementation, or another ZSK
35
+ stage's work.
16
36
  ---
17
37
 
18
38
  # Acceptance
@@ -59,6 +79,7 @@ This core skill is governed by the ZSK harness. Enforce these rules even when on
59
79
  - Source of truth: read configured resources before inventing intent; record conflicts instead of choosing silently.
60
80
  - Issue taxonomy: route demo, smoke, review, test, verify, and acceptance findings to the correct issue type.
61
81
  - Skill role: execute the full expert role, including all relevant lanes; partial single-angle execution is a failing result.
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.
62
83
  - Filesystem boundaries: write ZSK-managed outputs only under the configured `.zsk` workspace paths.
63
84
  - Learning loop: reusable gaps become learning proposals; never mutate core constraints, templates, packs, or skills automatically.
64
85
 
@@ -66,10 +87,11 @@ When a `harness/` directory is installed beside this file, treat it as the local
66
87
 
67
88
  - Read `harness/THIS_SKILL.md` before executing this skill.
68
89
  - Read `harness/workflow/skill-io-contract.yaml` for this skill's required inputs, outputs, tools, and capabilities.
90
+ - Read `harness/workflow/skill-quality-standards.yaml` for this skill's document mode, must-answer questions, quality checkpoints, and anti-patterns.
69
91
  - Read `harness/workflow/state-machine.yaml` and `harness/constraints/stage-gates.md` before moving between stages.
70
92
  - Read `harness/constraints/skill-role-contract.md` before planning or reviewing expert work.
71
93
  - Read `harness/constraints/filesystem-boundaries.md` before creating any project artifact.
72
94
  - Read `harness/constraints/evidence-rules.md` and `harness/workflow/completion-contract.yaml` before claiming READY / PASS / DONE.
73
95
  - Read `harness/constraints/issue-taxonomy.md` before creating or updating blockers, risks, defects, or questions.
74
- - Apply the related best-practice concerns listed in `harness/THIS_SKILL.md`; read bundled `harness/best-practices/` files only when they are listed for the current skill. If those references are insufficient, stale, or version-sensitive, prefer Context7 MCP when available; otherwise consult official/current web references and local package docs/types. Record source links plus adaptation rationale in the evidence or learning proposal.
96
+ - 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.
75
97
 
@@ -35,11 +35,33 @@ This file is generated for the installed skill. Read it before executing this sk
35
35
  - `documentation feedback`
36
36
  - `accept/reject evidence`
37
37
 
38
+ ## Document Quality Standard
39
+
40
+ - Document mode: `decisionRecord`
41
+ - Purpose: Record the accept/reject business decision and residual-risk ownership.
42
+
43
+ ## Must Answer
44
+
45
+ - Is the verified work accepted, rejected, or conditionally accepted?
46
+ - Which evidence and issues support the decision?
47
+ - Who owns residual risks and documentation feedback?
48
+
49
+ ## Quality Checkpoints
50
+
51
+ - Names the reader, stage, scope, and stop condition.
52
+ - Separates facts, decisions, assumptions, open questions, and evidence.
53
+ - Links each important claim to a source artifact, command output, issue, scenario, or human decision.
54
+ - States what is out of scope so later stages do not silently expand work.
55
+ - Makes the next stage executable without requiring hidden context from chat.
56
+ - Links verify report, demo evidence, accepted criteria, and residual risks.
57
+ - Records documentation feedback or no-update rationale for confirmed learnings.
58
+
38
59
  ## Related Best-Practice Concerns
39
60
 
40
61
  - `SDLC traceability`
41
62
  - `quality evidence`
42
63
  - `system constraints`
64
+ - `dynamic state awareness`
43
65
 
44
66
  ## Bundled Related Reference Files
45
67
 
@@ -53,6 +75,16 @@ This file is generated for the installed skill. Read it before executing this sk
53
75
  - `silently skipping required inputs or expert lanes`
54
76
  - `mutating core harness/templates/skills without a learning proposal and review`
55
77
 
78
+ ## Document Anti-Patterns
79
+
80
+ - Template-shaped filler that does not resolve a decision.
81
+ - Untraceable claims such as 'should work', 'best practice', or 'user friendly' without evidence or criteria.
82
+ - Mixing raw source facts, decisions, runtime evidence, and tasks in one undifferentiated section.
83
+ - Skipping unresolved contradictions instead of recording a blocker, risk, or question.
84
+ - Optimizing wording while leaving acceptance, evidence, ownership, or next action ambiguous.
85
+ - Accepting without verification evidence.
86
+ - Letting residual risks remain ownerless.
87
+
56
88
  ## Must Read Before Acting
57
89
 
58
90
  - `profiles/*.yaml` to apply the active workflow profile before enforcing optional gates.
@@ -66,7 +98,9 @@ This file is generated for the installed skill. Read it before executing this sk
66
98
  - `constraints/issue-taxonomy.md` before creating defects, blockers, risks, or questions.
67
99
  - `best-practices/sdlc.md` when its domain is touched by this task.
68
100
  - `best-practices/quality.md` when its domain is touched by this task.
69
- - Context7 MCP when available for version-sensitive library/API/framework guidance; otherwise official/current web references and local package docs/types when bundled related references are missing, incomplete, stale, or too generic for the concrete stack. Record source links and adaptation rationale.
101
+ - Dynamic state awareness before role work: identify the stage, role, project type, stack, runtime tools, domain, target users/market, freshness-sensitive decisions, and missing evidence.
102
+ - Local-first best practices and facts: use configured sources, raw manifests, bundled references, local package docs/types, lockfiles, and existing project conventions when they are sufficient and current.
103
+ - Context7/web fallback 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.
70
104
 
71
105
  ## Hard Stops
72
106
 
@@ -4,7 +4,7 @@ These references are bundled only for `acceptance` so standalone skill installs
4
4
 
5
5
  They are supporting guidance, not the source of truth. Runtime gates and hard constraints belong in `../THIS_SKILL.md` and `../constraints/`.
6
6
 
7
- If these references are missing, incomplete, stale, too generic, or version-sensitive for the concrete stack, prefer Context7 MCP when available. If Context7 is unavailable or incomplete, consult official/current web references and local package docs/types. Record source links plus adaptation rationale in the evidence or learning proposal.
7
+ Use these local references first when they are sufficient and current. If they are missing, incomplete, stale, too generic, version-sensitive, market-sensitive, or not matched to the active role/stage, use dynamic state awareness to choose the smallest useful retrieval path: Context7 MCP for library/framework guidance when available, official/current web references for technical facts, and authoritative current sources for product/market research. Record source links, source dates when relevant, and adaptation rationale in the evidence or learning proposal.
8
8
 
9
9
  Bundled files:
10
10
 
@@ -5,12 +5,29 @@ 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/resources/`: raw external source snapshots, manifests, imported test cases, and design/API assets.
9
- - `.zsk/issues/`: normalized managed issue records and indexes.
10
- - `.zsk/evidence/`: reusable runtime evidence that is not Playwright-owned.
11
- - `.zsk/playwright/{module}/`: Playwright specs, test plans, auth state, execution records, reports, and results.
12
- - `.zsk/plans/`: ZSK Plan artifacts, loop plans, and execution handoff plans.
8
+ - `.zsk/raws/`: raw external source snapshots, manifests, imported test cases, market/product research sources, and design/API assets.
9
+ - `.zsk/modules/{module}/_issues/`: module-private managed issue records and indexes, created on demand.
10
+ - `.zsk/modules/{module}/_evidence/`: module-private reusable runtime or research evidence, created on demand.
11
+ - `.zsk/modules/{module}/_playwright/`: module-specific Playwright specs, test plans, auth state, execution records, reports, and results, created on demand.
12
+ - `.zsk/issues/`, `.zsk/evidence/`, `.zsk/playwright/`: shared/global artifacts only, created on demand when the asset is intentionally cross-module.
13
+ - `.zsk/learning/proposals/`: reusable improvement proposals and learning records, created lazily only when learn/archive writes an actual proposal.
13
14
  - `skills/{slug}/`: zsk source skill directories.
14
15
  - `harness/`: zsk source governance contracts.
15
16
 
16
17
  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.
18
+
19
+ ## Scope Routing Rule
20
+
21
+ Before any skill writes an artifact, classify its scope:
22
+
23
+ | Scope | Meaning | Default target |
24
+ | --- | --- | --- |
25
+ | module-final | Formal stage output for one module | `.zsk/modules/{module}/` |
26
+ | module-private | Working, runtime, evidence, issue, or generated artifact for one module | `.zsk/modules/{module}/_{kind}/` |
27
+ | shared | Reused by multiple modules but not public-facing | `.zsk/{kind}/shared/` or the configured shared root |
28
+ | global | Project-wide artifact with no owning module | `.zsk/{kind}/global/` or `.zsk/docs/` for formal docs |
29
+ | public | Intentionally publishable/exportable artifact | `.zsk/{kind}/public/` until explicitly exported |
30
+
31
+ This rule applies to every underscore module directory, not only `_issues`. For example, module-local issues go to `_issues`, module-local runtime evidence goes to `_evidence`, and module-local Playwright specs/auth/results go to `_playwright`. Use outer `.zsk/issues`, `.zsk/evidence`, or `.zsk/playwright` only after deciding the artifact is shared, global, or public. When scope is ambiguous, prefer module-private and record the reason or blocker before promoting outward.
32
+
33
+ The skill that produces the final artifact for a module stage writes the formal report to `.zsk/modules/{module}/{stage}.md`. Supporting artifacts stay in the appropriate `_issues`, `_evidence`, or `_playwright` directory unless they are deliberately shared/global/public.
@@ -2,28 +2,39 @@
2
2
 
3
3
  `zsk:issue` is the cross-stage issue utility. Stage skills call it, but issue paths and fields are defined here.
4
4
 
5
- Issue records are persistent tracking artifacts. Use the configured issue root from `.zsk/config.yaml` `paths.issues`; the default is `.zsk/issues/`. Do not keep actionable findings only in chat, transient task notes, or demo reports.
5
+ Issue records are persistent tracking artifacts. Module-specific findings default to the module-private `.zsk/modules/{module}/_issues/` directory. Use the configured issue root from `.zsk/config.yaml` `paths.issues` only for shared/global or intentionally cross-module issues; the default shared root is `.zsk/issues/`. Do not keep actionable findings only in chat, transient task notes, or demo reports.
6
+
7
+ Issue placement must follow the same scope routing rule as every other underscore artifact:
8
+
9
+ | Issue scope | Use when | Directory |
10
+ | --- | --- | --- |
11
+ | module | One module owns the finding, fix, and verification | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` |
12
+ | shared | Multiple modules reuse the same issue, fixture, dependency, or evidence chain | `.zsk/issues/shared/{prefix}-0001-slug/` |
13
+ | global | Project/process/release/harness issue has no single owning module | `.zsk/issues/global/{prefix}-0001-slug/` |
14
+ | public | Issue is intentionally publishable or external-facing | `.zsk/issues/public/{prefix}-0001-slug/` |
15
+
16
+ When an issue starts shared/global/public and later gets assigned to one module, move or link it into that module's `_issues` directory and leave a backlink in the outer issue record. When a module issue becomes cross-module, promote it to the appropriate outer scope and leave a backlink in the original module issue.
6
17
 
7
18
  Indexes are part of the contract:
8
19
 
9
- - `.zsk/issues/{module}/index.md` tracks every issue for that module and its status.
10
- - `.zsk/issues/index.md` tracks each module and total/open/closed issue counts.
20
+ - `.zsk/modules/{module}/_issues/index.md` tracks every issue for that module and its status.
21
+ - `.zsk/issues/index.md` tracks each module and total/open/closed issue counts across module-private and shared issues.
11
22
  - Creating or updating an issue must refresh both indexes.
12
23
 
13
24
  ## Types
14
25
 
15
26
  | Type | Concrete Issue Directory | Prefix | Typical Source |
16
27
  | --- | --- | --- | --- |
17
- | Demo Issue | `.zsk/issues/{module}/{prefix}-0001-slug/` | `DEMO` | Development demo |
18
- | Smoke Issue | `.zsk/issues/{module}/{prefix}-0001-slug/` | `SMOKE` | Developer smoke |
19
- | Review Issue | `.zsk/issues/{module}/{prefix}-0001-slug/` | `REV` | Code/design review |
20
- | Defect | `.zsk/issues/{module}/{prefix}-0001-slug/` | `DEFECT` | Formal QA |
21
- | Verify Issue | `.zsk/issues/{module}/{prefix}-0001-slug/` | `VER` | Fix verification |
22
- | Acceptance Issue | `.zsk/issues/{module}/{prefix}-0001-slug/` | `ACC` | Business/product acceptance |
28
+ | Demo Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `DEMO` | Development demo |
29
+ | Smoke Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `SMOKE` | Developer smoke |
30
+ | Review Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `REV` | Code/design review |
31
+ | Defect | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `DEFECT` | Formal QA |
32
+ | Verify Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `VER` | Fix verification |
33
+ | Acceptance Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `ACC` | Business/product acceptance |
23
34
 
24
- Stage directories such as `.zsk/issues/{module}/demo/index.md` may exist as stage views or evidence buckets. They are not the authoritative status indexes.
35
+ 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.
25
36
 
26
- If `paths.issues` is customized, it must still stay under `.zsk/` and preserve the `{module}/{type}/` shape.
37
+ If `paths.issues` is customized, it must still stay under `.zsk/` and is reserved for shared/global or cross-module issue records. Module-private issue paths remain under `.zsk/modules/{module}/_issues/`.
27
38
 
28
39
  ## Required Fields
29
40
 
@@ -79,7 +90,7 @@ Every actionable issue should record:
79
90
 
80
91
  ## Closure And Feedback Loop
81
92
 
82
- 1. Create or update the issue under `.zsk/issues/{module}/` as soon as the finding is actionable, using the type and prefix fields to preserve taxonomy.
93
+ 1. Create or update module-specific issues under `.zsk/modules/{module}/_issues/` as soon as the finding is actionable, using the type and prefix fields to preserve taxonomy.
83
94
  2. Fix and verify the issue with linked evidence.
84
95
  3. Wait for user/product confirmation when the outcome changes behavior, business flow, or acceptance semantics.
85
96
  4. After confirmation, update the relevant spec/design/task docs for anything the original artifacts did not cover or described too weakly.
@@ -9,8 +9,11 @@ Each skill run must cover its whole declared role:
9
9
  - read the required inputs or report `BLOCKED`;
10
10
  - produce every required output or explain why it is blocked;
11
11
  - apply the related best-practice files listed in `THIS_SKILL.md` when their domain is touched;
12
- - prefer Context7 MCP for version-sensitive library/API/framework guidance when available; if it is unavailable or incomplete, consult official/current web references and local package docs/types, then record source links and adaptation rationale;
12
+ - run dynamic state awareness for the active role/stage: identify local project facts, stack, runtime, domain, target users, market context, freshness-sensitive decisions, and missing evidence before selecting practices or sources;
13
+ - prefer local configured sources and bundled references when they are sufficient, current, and specific;
14
+ - use Context7 MCP or official/current web references only when local references are missing, incomplete, stale, too generic, version-sensitive, market-sensitive, or role-incomplete; record source links, source dates when relevant, and adaptation rationale;
13
15
  - keep all ZSK-managed artifacts under `.zsk` paths from the completion contract;
16
+ - classify artifact scope before writing: module-final, module-private, shared, global, or public;
14
17
  - state which checks were performed and which were intentionally waived.
15
18
 
16
19
  Partial execution is a failure. A skill must not pass after checking only one convenient angle when its role requires multiple angles.
@@ -18,8 +21,11 @@ Partial execution is a failure. A skill must not pass after checking only one co
18
21
  ## Forbidden Behavior
19
22
 
20
23
  - Do not create new project roots, ad hoc docs folders, loose evidence folders, or hidden state outside `.zsk`.
24
+ - Do not write module-private working artifacts to outer `.zsk/issues`, `.zsk/evidence`, or `.zsk/playwright` without a shared/global/public scope decision.
21
25
  - Do not skip a declared input because it is inconvenient to locate.
22
26
  - Do not collapse a multi-lane expert task into a single generic pass.
27
+ - Do not search the web when local evidence is already sufficient and current for the decision.
28
+ - Do not treat market reports, competitor pages, or best-practice articles as product requirements; use them as evidence and recommendations unless accepted into PRD/spec.
23
29
  - Do not silently cross into another skill's responsibility; route or record the handoff.
24
30
  - Do not claim PASS, READY, DONE, or ACCEPTED without linked evidence.
25
31
 
@@ -29,6 +35,19 @@ When a skill has multiple expert concerns, it must execute all relevant lanes. I
29
35
 
30
36
  The lead skill remains accountable for the final verdict. Subagent output is supporting evidence, not an automatic pass.
31
37
 
38
+ ## Product / Research Minimum
39
+
40
+ Proposal, BRD, product-manager, and product-research work must cover all relevant research lanes before recommending direction:
41
+
42
+ - problem/value hypothesis and target customer;
43
+ - market size, growth, geography, segment, and timing when the decision depends on external demand;
44
+ - user personas, JTBD, pains, willingness to pay, and adoption constraints;
45
+ - competitor/substitute analysis, positioning, differentiation, and pricing references;
46
+ - regulatory, platform, operational, data, or go-to-market risks when touched;
47
+ - confidence, source freshness, gaps, and what would change the recommendation.
48
+
49
+ Use local SRS/PRD/customer notes first. If they are absent, stale, or insufficient for the proposal decision, retrieve current authoritative sources and cite the source date. The output must separate sourced findings, inferred recommendations, and unresolved assumptions.
50
+
32
51
  ## Review-Specific Minimum
33
52
 
34
53
  `review` must always cover these lanes before a PASS verdict:
@@ -53,6 +72,7 @@ For `DEEP` review, dispatch at least three independent expert lanes when subagen
53
72
  - Neither entry point may skip a selected skill's own contract, forbidden scope, required inputs, issue routing, or evidence gate.
54
73
  - When no frozen route exists, `zsk` must perform the `zskplan` route-freeze work first and state the resulting plan.
55
74
  - Plans, Playwright specs, auth state, runtime execution JSON, traces, reports, reusable evidence, issues, and learning proposals must use the configured `.zsk` workspace paths.
75
+ - Module-local runtime/supporting artifacts use module-private `_issues`, `_evidence`, and `_playwright`; shared, global, or public artifacts use the corresponding outer `.zsk/{kind}` scope bucket.
56
76
  - A ZSK loop may not stop at "implemented" when review, Playwright, test, or configured validation evidence is required by the plan.
57
77
 
58
78
  ## Learning Skill
@@ -62,7 +82,7 @@ For `DEEP` review, dispatch at least three independent expert lanes when subagen
62
82
  - collect suggestions and evidence from user feedback, failed runs, review misses, and harness friction;
63
83
  - ingest user-supplied public skill or harness references, including URLs, repos, markdown, examples, screenshots, or pasted excerpts;
64
84
  - compare external patterns against current ZSK contracts, source rights, project constraints, and regression needs;
65
- - record delivery-impacting problems as `.zsk/issues` entries;
85
+ - record module-local delivery-impacting problems under module `_issues`, or outer `.zsk/issues/{shared|global|public}` only when the issue scope is not owned by one module;
66
86
  - write reusable improvement proposals under `.zsk/learning/proposals/`;
67
87
  - group accepted proposals into one optimization batch with target files, regression prompts, risks, and review status.
68
88
 
@@ -4,7 +4,7 @@ Resource priority is:
4
4
 
5
5
  1. explicit project `.zsk/config.yaml`
6
6
  2. module docs and stage artifacts under `.zsk/modules/{module}/`
7
- 3. raw source snapshots under `.zsk/resources/`
7
+ 3. raw source snapshots under `.zsk/raws/`
8
8
  4. code and runtime evidence
9
9
  5. user-provided clarification
10
10
 
@@ -17,14 +17,17 @@ When sources conflict, the stage artifact must record the conflict instead of si
17
17
  - 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
18
  - If asking is blocked, record a resource gap or issue instead of silently choosing a path.
19
19
  - Best practices may shape implementation, but they cannot override project facts or accepted design documents.
20
+ - 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.
20
21
  - Use bundled skill-local best-practice files only when they are related to the active skill and touched domain.
21
- - If related local best-practice coverage is missing, incomplete, stale, too generic, or version-sensitive for the concrete stack, prefer Context7 MCP when available. If Context7 is unavailable, use official/current web references, package repository docs, package README/changelog, installed type definitions, and lockfile/package versions. Record source links, retrieval date when relevant, and adaptation rationale in the evidence, issue, or learning proposal.
22
+ - Treat bundled references as local baselines, not complete coverage. If local best-practice coverage is missing, incomplete, stale, too generic, version-sensitive, or not matched to the role/stage, prefer Context7 MCP when available. If Context7 is unavailable, use official/current web references, package repository docs, package README/changelog, installed type definitions, lockfile/package versions, and current web search. Record source links, retrieval date when relevant, and adaptation rationale in the evidence, issue, or learning proposal.
23
+ - For product-manager, product-research, BRD, proposal, market-analysis, persona, competitor, pricing, GTM, regulation, or benchmark work, local repository facts are often insufficient or stale. Search current authoritative or primary sources when they can materially affect the proposal or recommendation, then clearly separate sourced evidence, assumptions, and product decisions.
22
24
  - External best-practice references are advisory. They may justify implementation style, review criteria, or learning proposals, but they must not invent requirements, acceptance criteria, product behavior, or project policy.
23
25
 
24
26
  ## Documentation Retrieval Fallbacks
25
27
 
26
28
  - Context7 MCP is an accelerator, not a hard dependency. Missing Context7 must not block a skill when equivalent official or local references are available.
27
29
  - For library/API questions, first identify the concrete package and version from `package.json`, lockfiles, imports, installed package metadata, generated types, or project config.
30
+ - For product/market questions, first identify the target customer, market, geography, segment, business model, timeframe, competitors, and decision to be made from the proposal and configured sources.
28
31
  - Prefer official documentation and source repositories over blogs, snippets, or model memory.
29
- - When using web search, restrict to official domains when possible and record the exact source used.
32
+ - When using web search, prefer primary/authoritative sources: official docs, standards bodies, regulator/government statistics, company pricing/docs, app-store reviews, customer-facing pages, credible industry reports, and dated market data. Record the exact source and source date.
30
33
  - When no authoritative reference can be retrieved, mark the item as a resource gap instead of guessing.
@@ -4,9 +4,27 @@ defaults:
4
4
  rules:
5
5
  artifact: "Every skill run must declare produced artifacts and write them to project-template paths, not only to chat."
6
6
  evidence: "Every pass/fail or completion claim must link local evidence."
7
- issue_sync: "Actionable findings must update the concrete issue plus module/global issue indexes."
7
+ issue_sync: "Actionable findings must classify scope, update the concrete issue in module-private or shared/global/public storage, and refresh module/global issue indexes."
8
8
  documentation_feedback: "Confirmed learnings must update spec/design/task docs or record a no-update rationale."
9
9
  execution: "Completion work may be done by a skill-local script or by the agent's normal file-editing tools, but the harness contract decides the required outputs."
10
+ scopeRouting:
11
+ moduleFinal: ".zsk/modules/{module}/{stage}.md"
12
+ modulePrivate:
13
+ issues: ".zsk/modules/{module}/_issues/"
14
+ evidence: ".zsk/modules/{module}/_evidence/"
15
+ playwright: ".zsk/modules/{module}/_playwright/"
16
+ shared:
17
+ issues: ".zsk/issues/shared/"
18
+ evidence: ".zsk/evidence/shared/"
19
+ playwright: ".zsk/playwright/shared/"
20
+ global:
21
+ issues: ".zsk/issues/global/"
22
+ evidence: ".zsk/evidence/global/"
23
+ playwright: ".zsk/playwright/global/"
24
+ public:
25
+ issues: ".zsk/issues/public/"
26
+ evidence: ".zsk/evidence/public/"
27
+ playwright: ".zsk/playwright/public/"
10
28
  execution:
11
29
  owner: harness
12
30
  implementationSurfaces:
@@ -17,7 +35,7 @@ execution:
17
35
  outputs:
18
36
  prepare:
19
37
  artifacts:
20
- - ".zsk/resources/manifest.json"
38
+ - ".zsk/raws/manifest.json"
21
39
  - ".zsk/docs/SYSTEM-SPEC.md"
22
40
  feedbackTargets: [".zsk/docs/SYSTEM-SPEC.md", ".zsk/config.yaml"]
23
41
  proposal:
@@ -35,7 +53,7 @@ outputs:
35
53
  task:
36
54
  artifacts:
37
55
  - ".zsk/modules/{module}/tasks.md"
38
- - ".zsk/playwright/{module}/specs/"
56
+ - ".zsk/modules/{module}/_playwright/specs/"
39
57
  feedbackTargets: [".zsk/modules/{module}/tasks.md", ".zsk/modules/{module}/design.md"]
40
58
  coding:
41
59
  artifacts:
@@ -44,12 +62,12 @@ outputs:
44
62
  smoke:
45
63
  artifacts:
46
64
  - ".zsk/modules/{module}/smoke.md"
47
- - ".zsk/issues/{module}/"
65
+ - ".zsk/modules/{module}/_issues/"
48
66
  feedbackTargets: [".zsk/modules/{module}/smoke.md", ".zsk/modules/{module}/spec.md"]
49
67
  review:
50
68
  artifacts:
51
69
  - ".zsk/modules/{module}/review.md"
52
- - ".zsk/issues/{module}/"
70
+ - ".zsk/modules/{module}/_issues/"
53
71
  feedbackTargets: [".zsk/modules/{module}/review.md", ".zsk/modules/{module}/design.md", ".zsk/modules/{module}/tasks.md"]
54
72
  commit:
55
73
  artifacts:
@@ -63,12 +81,12 @@ outputs:
63
81
  artifacts:
64
82
  - ".zsk/modules/{module}/demo-outline.md"
65
83
  - ".zsk/modules/{module}/demo-report.md"
66
- - ".zsk/playwright/{module}/specs/"
67
- - ".zsk/issues/{module}/"
84
+ - ".zsk/modules/{module}/_playwright/specs/"
85
+ - ".zsk/modules/{module}/_issues/"
68
86
  feedbackTargets: [".zsk/modules/{module}/demo-outline.md", ".zsk/modules/{module}/spec.md", ".zsk/modules/{module}/design.md", ".zsk/modules/{module}/tasks.md"]
69
87
  defect:
70
88
  artifacts:
71
- - ".zsk/issues/{module}/"
89
+ - ".zsk/modules/{module}/_issues/"
72
90
  feedbackTargets: [".zsk/modules/{module}/spec.md", ".zsk/modules/{module}/design.md", ".zsk/modules/{module}/tasks.md"]
73
91
  ready:
74
92
  artifacts:
@@ -77,12 +95,12 @@ outputs:
77
95
  verify:
78
96
  artifacts:
79
97
  - ".zsk/modules/{module}/verify.md"
80
- - ".zsk/issues/{module}/"
98
+ - ".zsk/modules/{module}/_issues/"
81
99
  feedbackTargets: [".zsk/modules/{module}/verify.md", ".zsk/modules/{module}/spec.md"]
82
100
  acceptance:
83
101
  artifacts:
84
102
  - ".zsk/modules/{module}/acceptance.md"
85
- - ".zsk/issues/{module}/"
103
+ - ".zsk/modules/{module}/_issues/"
86
104
  feedbackTargets: [".zsk/modules/{module}/acceptance.md", ".zsk/modules/{module}/spec.md", ".zsk/modules/{module}/design.md", ".zsk/modules/{module}/tasks.md"]
87
105
  archive:
88
106
  artifacts:
@@ -91,7 +109,7 @@ outputs:
91
109
  feedbackTargets: [".zsk/modules/{module}/archive.md", ".zsk/learning/proposals/"]
92
110
  postRun:
93
111
  issueIndexes:
94
- module: ".zsk/issues/{module}/index.md"
112
+ module: ".zsk/modules/{module}/_issues/index.md"
95
113
  global: ".zsk/issues/index.md"
96
114
  refreshWhen: ["issue_create", "issue_status_update", "verification_result", "acceptance_decision"]
97
115
  docsFeedback:
@@ -99,4 +117,6 @@ postRun:
99
117
  targets: ["spec", "design", "tasks", "SYSTEM-SPEC", "learning-proposal"]
100
118
  learning:
101
119
  proposalPath: ".zsk/learning/proposals/"
120
+ createPolicy: "lazy; do not create during zsk init or unrelated stages"
121
+ createWhen: "only when learn/archive writes a concrete reusable improvement proposal"
102
122
  promoteBy: "harness/learning/promotion-rules.yaml"
@@ -9,15 +9,23 @@ principles:
9
9
  authorized; fall back to Playwright MCP/ARIA/CDP or documented manual
10
10
  evidence when Computer Use is unavailable; use Browser Use only on runtimes
11
11
  that explicitly support it and have permission.
12
- - Every actionable finding becomes a persisted issue plus module/global index
12
+ - Every actionable finding classifies scope first, then becomes a persisted
13
+ module-private or shared/global/public issue plus bucket/global index
13
14
  updates.
14
15
  - Follow best practices through the smallest sufficient local design; do not
15
16
  add speculative abstractions, scripts, files, or gates.
16
- - Use only related bundled best-practice references for the active skill; when
17
- they are missing, incomplete, stale, too generic, or version-sensitive for
18
- the concrete stack, prefer Context7 MCP when available, otherwise consult
19
- official/current web references and local package docs/types, then record
20
- source links plus adaptation rationale.
17
+ - "Run dynamic state awareness before role work: identify the current stage,
18
+ role, project type, language, framework, SDKs, runtime tools, domain,
19
+ business context, and freshness-sensitive decisions from local files and
20
+ configured sources."
21
+ - Use local and bundled references first. Search Context7 or the web only when
22
+ local best-practice coverage or factual context is missing, incomplete,
23
+ stale, too generic, version-sensitive, or market/time-sensitive for the role
24
+ and stage.
25
+ - For product, research, strategy, or BRD/proposal work, dynamically retrieve
26
+ current market, competitor, persona, pricing, regulation, benchmark, and
27
+ trend sources when local sources are absent or stale; record source dates
28
+ and how the evidence changes the recommendation.
21
29
  - "Do not decide from uncertainty: summarize conflicting or missing facts and
22
30
  ask, or record a resource gap."
23
31
  - "TDD first for testable behavior: tests and scenarios must be accurate and
@@ -28,20 +36,46 @@ toolPolicy:
28
36
  - git
29
37
  - package-manager
30
38
  - configured-cli
39
+ environmentAwareness:
40
+ - project-config
41
+ - module-docs
42
+ - manifests
43
+ - lockfiles
44
+ - package-manifests
45
+ - imports
46
+ - framework-config
47
+ - runtime-config
48
+ - existing-docs
49
+ - git-history
31
50
  sourceRetrieval:
51
+ - configured-sources
52
+ - raw-manifest
32
53
  - direct-http
33
54
  - local-files
34
55
  - git
35
56
  - local-package-docs
36
57
  - context7-mcp
37
- - figma-mcp
58
+ - provider-mcp
59
+ - current-web-search
38
60
  bestPracticeRetrieval:
39
61
  - bundled-related-references
62
+ - project-stack-detection
63
+ - local-package-docs
40
64
  - context7-mcp
41
65
  - official-docs
42
66
  - current-web-search
43
- - local-package-docs
44
67
  - user-supplied-reference
68
+ productResearchRetrieval:
69
+ - configured-sources
70
+ - current-web-search
71
+ - official-statistics
72
+ - regulator-sources
73
+ - industry-reports
74
+ - competitor-sites
75
+ - pricing-pages
76
+ - app-store-reviews
77
+ - analyst-reports
78
+ - user-research-repositories
45
79
  uiUnderstanding:
46
80
  - computer-use
47
81
  - playwright-mcp
@@ -55,6 +89,14 @@ toolPolicy:
55
89
  - playwright-library
56
90
  fallbackOnly:
57
91
  - browser-use
92
+ - provider-mcp
93
+ providerMcpWhen:
94
+ - a project explicitly configures a provider MCP and its transport is healthy
95
+ - local files, git, raw manifests, Context7, official docs, or direct HTTP
96
+ cannot provide the needed provider-specific fact
97
+ - the provider MCP is optional; if unavailable, failing, or unconfigured,
98
+ record the gap and continue with another approved evidence source instead
99
+ of blocking or requiring installation
58
100
  browserUseWhen:
59
101
  - the current runtime supports Browser Use and permissions are available
60
102
  - Playwright auth state, Playwright MCP/ARIA/CDP, Computer Use, and
@@ -76,11 +118,30 @@ toolPolicy:
76
118
  first unless the user or project config already provides an exact Context7
77
119
  id
78
120
  docsFallbackWhen:
121
+ - local bundled references are absent, incomplete, stale, too generic, or
122
+ version-sensitive for the current role/stage
79
123
  - Context7 MCP is unavailable, unconfigured, rate-limited, or lacks the
80
124
  target library/version
81
125
  - use the official project documentation site, package repository docs,
82
126
  package README, changelog, installed types, lockfile version, or current
83
127
  web search with source links
128
+ productResearchWhen:
129
+ - proposal, BRD, product strategy, product research, positioning, roadmap,
130
+ pricing, market sizing, persona, or competitive-analysis work depends on
131
+ current external facts
132
+ - local SRS/PRD/customer notes do not contain enough evidence to judge
133
+ value, feasibility, target users, differentiation, pricing, or risk
134
+ - existing market or best-practice references are stale or not tied to the
135
+ target market/segment
136
+ - the result must distinguish sourced market evidence from product decisions
137
+ and assumptions
138
+ noSearchWhen:
139
+ - local configured sources and bundled references are sufficient, current,
140
+ and specific to the role/stage
141
+ - the task is purely local implementation or verification and external facts
142
+ would not change the result
143
+ - network access is unavailable and equivalent local package
144
+ docs/types/source evidence exist
84
145
  scriptWhen:
85
146
  - the update is mechanical, repeatable, or index-like
86
147
  - the output shape is schema-bound
@@ -0,0 +1,55 @@
1
+ version: 1
2
+ framework:
3
+ intent: Make every ZSK stage produce a decision-grade document, not a chat
4
+ summary or empty template.
5
+ industryAnchors:
6
+ - "Diataxis: choose the document mode by reader need: task guidance,
7
+ reference, explanation, or learning."
8
+ - "Developer documentation style guides: optimize for the reader, clarity,
9
+ consistency, active language, and project-specific terminology."
10
+ - "Definition of Done: completion requires shared, visible, measurable
11
+ quality criteria."
12
+ - "Review workflows: a stage is not complete until another reader can
13
+ inspect artifacts, evidence, decisions, and unresolved risks."
14
+ documentModes:
15
+ decisionBrief: Frames a decision with context, options, recommendation, risks,
16
+ and success criteria.
17
+ contract: States observable behavior, constraints, interfaces, and acceptance
18
+ conditions.
19
+ executionPlan: Turns approved decisions into ordered, owned, verifiable work.
20
+ evidenceReport: Records what was run, what happened, what failed, and what remains risky.
21
+ decisionRecord: Preserves the reason for an irreversible or future-relevant choice.
22
+ defaults:
23
+ qualityCheckpoints:
24
+ - Names the reader, stage, scope, and stop condition.
25
+ - Separates facts, decisions, assumptions, open questions, and evidence.
26
+ - Links each important claim to a source artifact, command output, issue,
27
+ scenario, or human decision.
28
+ - States what is out of scope so later stages do not silently expand work.
29
+ - Makes the next stage executable without requiring hidden context from chat.
30
+ antiPatterns:
31
+ - Template-shaped filler that does not resolve a decision.
32
+ - Untraceable claims such as 'should work', 'best practice', or 'user
33
+ friendly' without evidence or criteria.
34
+ - Mixing raw source facts, decisions, runtime evidence, and tasks in one
35
+ undifferentiated section.
36
+ - Skipping unresolved contradictions instead of recording a blocker, risk,
37
+ or question.
38
+ - Optimizing wording while leaving acceptance, evidence, ownership, or next
39
+ action ambiguous.
40
+ stages:
41
+ acceptance:
42
+ documentMode: decisionRecord
43
+ purpose: Record the accept/reject business decision and residual-risk ownership.
44
+ mustAnswer:
45
+ - Is the verified work accepted, rejected, or conditionally accepted?
46
+ - Which evidence and issues support the decision?
47
+ - Who owns residual risks and documentation feedback?
48
+ qualityCheckpoints:
49
+ - Links verify report, demo evidence, accepted criteria, and residual
50
+ risks.
51
+ - Records documentation feedback or no-update rationale for confirmed
52
+ learnings.
53
+ antiPatterns:
54
+ - Accepting without verification evidence.
55
+ - Letting residual risks remain ownerless.