@captain_z/zsk-skills 1.8.0 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/acceptance/SKILL.md +25 -1
- package/acceptance/harness/THIS_SKILL.md +63 -1
- package/acceptance/harness/best-practices/README.md +1 -1
- package/acceptance/harness/constraints/filesystem-boundaries.md +32 -5
- package/acceptance/harness/constraints/issue-taxonomy.md +23 -12
- package/acceptance/harness/constraints/skill-role-contract.md +129 -3
- package/acceptance/harness/constraints/source-of-truth.md +6 -3
- package/acceptance/harness/constraints/stage-gates.md +28 -0
- package/acceptance/harness/workflow/completion-contract.yaml +58 -11
- package/acceptance/harness/workflow/skill-io-contract.yaml +78 -8
- package/acceptance/harness/workflow/skill-quality-standards.yaml +99 -0
- package/acceptance/harness/workflow/stage-contracts.yaml +12 -10
- package/archive/SKILL.md +27 -3
- package/archive/harness/THIS_SKILL.md +65 -1
- package/archive/harness/best-practices/README.md +1 -1
- package/archive/harness/constraints/filesystem-boundaries.md +32 -5
- package/archive/harness/constraints/issue-taxonomy.md +23 -12
- package/archive/harness/constraints/skill-role-contract.md +129 -3
- package/archive/harness/constraints/source-of-truth.md +6 -3
- package/archive/harness/constraints/stage-gates.md +28 -0
- package/archive/harness/workflow/completion-contract.yaml +58 -11
- package/archive/harness/workflow/skill-io-contract.yaml +78 -8
- package/archive/harness/workflow/skill-quality-standards.yaml +100 -0
- package/archive/harness/workflow/stage-contracts.yaml +12 -10
- package/coding/SKILL.md +36 -6
- package/coding/harness/THIS_SKILL.md +67 -2
- package/coding/harness/best-practices/README.md +1 -1
- package/coding/harness/constraints/filesystem-boundaries.md +32 -5
- package/coding/harness/constraints/issue-taxonomy.md +23 -12
- package/coding/harness/constraints/skill-role-contract.md +129 -3
- package/coding/harness/constraints/source-of-truth.md +6 -3
- package/coding/harness/constraints/stage-gates.md +28 -0
- package/coding/harness/workflow/completion-contract.yaml +58 -11
- package/coding/harness/workflow/skill-io-contract.yaml +79 -8
- package/coding/harness/workflow/skill-quality-standards.yaml +106 -0
- package/coding/harness/workflow/stage-contracts.yaml +12 -10
- package/commit/SKILL.md +25 -1
- package/commit/harness/THIS_SKILL.md +63 -1
- package/commit/harness/best-practices/README.md +1 -1
- package/commit/harness/constraints/filesystem-boundaries.md +32 -5
- package/commit/harness/constraints/issue-taxonomy.md +23 -12
- package/commit/harness/constraints/skill-role-contract.md +129 -3
- package/commit/harness/constraints/source-of-truth.md +6 -3
- package/commit/harness/constraints/stage-gates.md +28 -0
- package/commit/harness/workflow/completion-contract.yaml +58 -11
- package/commit/harness/workflow/skill-io-contract.yaml +78 -8
- package/commit/harness/workflow/skill-quality-standards.yaml +101 -0
- package/commit/harness/workflow/stage-contracts.yaml +12 -10
- package/defect/SKILL.md +25 -1
- package/defect/harness/THIS_SKILL.md +63 -1
- package/defect/harness/best-practices/README.md +1 -1
- package/defect/harness/constraints/filesystem-boundaries.md +32 -5
- package/defect/harness/constraints/issue-taxonomy.md +23 -12
- package/defect/harness/constraints/skill-role-contract.md +129 -3
- package/defect/harness/constraints/source-of-truth.md +6 -3
- package/defect/harness/constraints/stage-gates.md +28 -0
- package/defect/harness/workflow/completion-contract.yaml +58 -11
- package/defect/harness/workflow/skill-io-contract.yaml +78 -8
- package/defect/harness/workflow/skill-quality-standards.yaml +99 -0
- package/defect/harness/workflow/stage-contracts.yaml +12 -10
- package/demo/SKILL.md +30 -6
- package/demo/harness/THIS_SKILL.md +63 -1
- package/demo/harness/best-practices/README.md +1 -1
- package/demo/harness/best-practices/design-handoff.md +5 -5
- package/demo/harness/constraints/filesystem-boundaries.md +32 -5
- package/demo/harness/constraints/issue-taxonomy.md +23 -12
- package/demo/harness/constraints/skill-role-contract.md +129 -3
- package/demo/harness/constraints/source-of-truth.md +6 -3
- package/demo/harness/constraints/stage-gates.md +28 -0
- package/demo/harness/workflow/completion-contract.yaml +58 -11
- package/demo/harness/workflow/skill-io-contract.yaml +78 -8
- package/demo/harness/workflow/skill-quality-standards.yaml +101 -0
- package/demo/harness/workflow/stage-contracts.yaml +12 -10
- package/demo/references/automation.md +2 -2
- package/demo/templates/scenario-synthesis.json +1 -1
- package/deploy/SKILL.md +25 -1
- package/deploy/harness/THIS_SKILL.md +63 -1
- package/deploy/harness/best-practices/README.md +1 -1
- package/deploy/harness/constraints/filesystem-boundaries.md +32 -5
- package/deploy/harness/constraints/issue-taxonomy.md +23 -12
- package/deploy/harness/constraints/skill-role-contract.md +129 -3
- package/deploy/harness/constraints/source-of-truth.md +6 -3
- package/deploy/harness/constraints/stage-gates.md +28 -0
- package/deploy/harness/workflow/completion-contract.yaml +58 -11
- package/deploy/harness/workflow/skill-io-contract.yaml +78 -8
- package/deploy/harness/workflow/skill-quality-standards.yaml +100 -0
- package/deploy/harness/workflow/stage-contracts.yaml +12 -10
- package/design/SKILL.md +55 -6
- package/design/harness/THIS_SKILL.md +77 -3
- package/design/harness/best-practices/README.md +1 -1
- package/design/harness/best-practices/design-handoff.md +5 -5
- package/design/harness/constraints/filesystem-boundaries.md +32 -5
- package/design/harness/constraints/issue-taxonomy.md +23 -12
- package/design/harness/constraints/skill-role-contract.md +129 -3
- package/design/harness/constraints/source-of-truth.md +6 -3
- package/design/harness/constraints/stage-gates.md +28 -0
- package/design/harness/workflow/completion-contract.yaml +58 -11
- package/design/harness/workflow/skill-io-contract.yaml +84 -9
- package/design/harness/workflow/skill-quality-standards.yaml +118 -0
- package/design/harness/workflow/stage-contracts.yaml +12 -10
- package/dispatch/SKILL.md +26 -2
- package/dispatch/harness/THIS_SKILL.md +69 -2
- package/dispatch/harness/best-practices/README.md +1 -1
- package/dispatch/harness/constraints/filesystem-boundaries.md +32 -5
- package/dispatch/harness/constraints/issue-taxonomy.md +23 -12
- package/dispatch/harness/constraints/skill-role-contract.md +129 -3
- package/dispatch/harness/constraints/source-of-truth.md +6 -3
- package/dispatch/harness/constraints/stage-gates.md +28 -0
- package/dispatch/harness/workflow/completion-contract.yaml +58 -11
- package/dispatch/harness/workflow/skill-io-contract.yaml +81 -8
- package/dispatch/harness/workflow/skill-quality-standards.yaml +109 -0
- package/dispatch/harness/workflow/stage-contracts.yaml +12 -10
- package/flow/SKILL.md +33 -8
- package/flow/harness/THIS_SKILL.md +67 -2
- package/flow/harness/best-practices/README.md +1 -1
- package/flow/harness/constraints/filesystem-boundaries.md +32 -5
- package/flow/harness/constraints/issue-taxonomy.md +23 -12
- package/flow/harness/constraints/skill-role-contract.md +129 -3
- package/flow/harness/constraints/source-of-truth.md +6 -3
- package/flow/harness/constraints/stage-gates.md +28 -0
- package/flow/harness/workflow/completion-contract.yaml +58 -11
- package/flow/harness/workflow/skill-io-contract.yaml +80 -8
- package/flow/harness/workflow/skill-quality-standards.yaml +105 -0
- package/flow/harness/workflow/stage-contracts.yaml +12 -10
- package/issue/SKILL.md +43 -13
- package/issue/harness/THIS_SKILL.md +66 -2
- package/issue/harness/best-practices/README.md +1 -1
- package/issue/harness/constraints/filesystem-boundaries.md +32 -5
- package/issue/harness/constraints/issue-taxonomy.md +23 -12
- package/issue/harness/constraints/skill-role-contract.md +129 -3
- package/issue/harness/constraints/source-of-truth.md +6 -3
- package/issue/harness/constraints/stage-gates.md +28 -0
- package/issue/harness/workflow/completion-contract.yaml +58 -11
- package/issue/harness/workflow/skill-io-contract.yaml +80 -9
- package/issue/harness/workflow/skill-quality-standards.yaml +106 -0
- package/issue/harness/workflow/stage-contracts.yaml +12 -10
- package/learn/SKILL.md +41 -10
- package/learn/harness/THIS_SKILL.md +68 -1
- package/learn/harness/best-practices/README.md +1 -1
- package/learn/harness/constraints/filesystem-boundaries.md +32 -5
- package/learn/harness/constraints/issue-taxonomy.md +23 -12
- package/learn/harness/constraints/skill-role-contract.md +129 -3
- package/learn/harness/constraints/source-of-truth.md +6 -3
- package/learn/harness/constraints/stage-gates.md +28 -0
- package/learn/harness/workflow/completion-contract.yaml +58 -11
- package/learn/harness/workflow/skill-io-contract.yaml +78 -8
- package/learn/harness/workflow/skill-quality-standards.yaml +112 -0
- package/learn/harness/workflow/stage-contracts.yaml +12 -10
- package/package.json +1 -1
- package/prepare/SKILL.md +52 -17
- package/prepare/harness/THIS_SKILL.md +65 -1
- package/prepare/harness/best-practices/README.md +1 -1
- package/prepare/harness/constraints/filesystem-boundaries.md +32 -5
- package/prepare/harness/constraints/issue-taxonomy.md +23 -12
- package/prepare/harness/constraints/skill-role-contract.md +129 -3
- package/prepare/harness/constraints/source-of-truth.md +6 -3
- package/prepare/harness/constraints/stage-gates.md +28 -0
- package/prepare/harness/workflow/completion-contract.yaml +58 -11
- package/prepare/harness/workflow/skill-io-contract.yaml +78 -8
- package/prepare/harness/workflow/skill-quality-standards.yaml +103 -0
- package/prepare/harness/workflow/stage-contracts.yaml +12 -10
- package/prepare/harness.yaml +1 -1
- package/proposal/SKILL.md +43 -5
- package/proposal/harness/THIS_SKILL.md +69 -1
- package/proposal/harness/best-practices/README.md +1 -1
- package/proposal/harness/constraints/filesystem-boundaries.md +32 -5
- package/proposal/harness/constraints/issue-taxonomy.md +23 -12
- package/proposal/harness/constraints/skill-role-contract.md +129 -3
- package/proposal/harness/constraints/source-of-truth.md +6 -3
- package/proposal/harness/constraints/stage-gates.md +28 -0
- package/proposal/harness/workflow/completion-contract.yaml +58 -11
- package/proposal/harness/workflow/skill-io-contract.yaml +81 -8
- package/proposal/harness/workflow/skill-quality-standards.yaml +104 -0
- package/proposal/harness/workflow/stage-contracts.yaml +12 -10
- package/ready/SKILL.md +25 -1
- package/ready/harness/THIS_SKILL.md +63 -1
- package/ready/harness/best-practices/README.md +1 -1
- package/ready/harness/constraints/filesystem-boundaries.md +32 -5
- package/ready/harness/constraints/issue-taxonomy.md +23 -12
- package/ready/harness/constraints/skill-role-contract.md +129 -3
- package/ready/harness/constraints/source-of-truth.md +6 -3
- package/ready/harness/constraints/stage-gates.md +28 -0
- package/ready/harness/workflow/completion-contract.yaml +58 -11
- package/ready/harness/workflow/skill-io-contract.yaml +78 -8
- package/ready/harness/workflow/skill-quality-standards.yaml +100 -0
- package/ready/harness/workflow/stage-contracts.yaml +12 -10
- package/review/SKILL.md +30 -2
- package/review/harness/THIS_SKILL.md +66 -2
- package/review/harness/best-practices/README.md +1 -1
- package/review/harness/constraints/filesystem-boundaries.md +32 -5
- package/review/harness/constraints/issue-taxonomy.md +23 -12
- package/review/harness/constraints/skill-role-contract.md +129 -3
- package/review/harness/constraints/source-of-truth.md +6 -3
- package/review/harness/constraints/stage-gates.md +28 -0
- package/review/harness/workflow/completion-contract.yaml +58 -11
- package/review/harness/workflow/skill-io-contract.yaml +79 -8
- package/review/harness/workflow/skill-quality-standards.yaml +106 -0
- package/review/harness/workflow/stage-contracts.yaml +12 -10
- package/smoke/SKILL.md +25 -1
- package/smoke/harness/THIS_SKILL.md +66 -2
- package/smoke/harness/best-practices/README.md +1 -1
- package/smoke/harness/constraints/filesystem-boundaries.md +32 -5
- package/smoke/harness/constraints/issue-taxonomy.md +23 -12
- package/smoke/harness/constraints/skill-role-contract.md +129 -3
- package/smoke/harness/constraints/source-of-truth.md +6 -3
- package/smoke/harness/constraints/stage-gates.md +28 -0
- package/smoke/harness/workflow/completion-contract.yaml +58 -11
- package/smoke/harness/workflow/skill-io-contract.yaml +79 -8
- package/smoke/harness/workflow/skill-quality-standards.yaml +104 -0
- package/smoke/harness/workflow/stage-contracts.yaml +12 -10
- package/spec/SKILL.md +41 -6
- package/spec/harness/THIS_SKILL.md +69 -1
- package/spec/harness/best-practices/README.md +1 -1
- package/spec/harness/constraints/filesystem-boundaries.md +32 -5
- package/spec/harness/constraints/issue-taxonomy.md +23 -12
- package/spec/harness/constraints/skill-role-contract.md +129 -3
- package/spec/harness/constraints/source-of-truth.md +6 -3
- package/spec/harness/constraints/stage-gates.md +28 -0
- package/spec/harness/workflow/completion-contract.yaml +58 -11
- package/spec/harness/workflow/skill-io-contract.yaml +81 -8
- package/spec/harness/workflow/skill-quality-standards.yaml +106 -0
- package/spec/harness/workflow/stage-contracts.yaml +12 -10
- package/task/SKILL.md +77 -5
- package/task/harness/THIS_SKILL.md +77 -1
- package/task/harness/best-practices/README.md +1 -1
- package/task/harness/constraints/filesystem-boundaries.md +32 -5
- package/task/harness/constraints/issue-taxonomy.md +23 -12
- package/task/harness/constraints/skill-role-contract.md +129 -3
- package/task/harness/constraints/source-of-truth.md +6 -3
- package/task/harness/constraints/stage-gates.md +28 -0
- package/task/harness/workflow/completion-contract.yaml +58 -11
- package/task/harness/workflow/skill-io-contract.yaml +83 -8
- package/task/harness/workflow/skill-quality-standards.yaml +117 -0
- package/task/harness/workflow/stage-contracts.yaml +12 -10
- package/verify/SKILL.md +29 -1
- package/verify/harness/THIS_SKILL.md +63 -1
- package/verify/harness/best-practices/README.md +1 -1
- package/verify/harness/constraints/filesystem-boundaries.md +32 -5
- package/verify/harness/constraints/issue-taxonomy.md +23 -12
- package/verify/harness/constraints/skill-role-contract.md +129 -3
- package/verify/harness/constraints/source-of-truth.md +6 -3
- package/verify/harness/constraints/stage-gates.md +28 -0
- package/verify/harness/workflow/completion-contract.yaml +58 -11
- package/verify/harness/workflow/skill-io-contract.yaml +78 -8
- package/verify/harness/workflow/skill-quality-standards.yaml +98 -0
- package/verify/harness/workflow/stage-contracts.yaml +12 -10
- package/zsk/SKILL.md +36 -10
- package/zsk/harness/THIS_SKILL.md +64 -1
- package/zsk/harness/best-practices/README.md +1 -1
- package/zsk/harness/constraints/filesystem-boundaries.md +32 -5
- package/zsk/harness/constraints/issue-taxonomy.md +23 -12
- package/zsk/harness/constraints/skill-role-contract.md +129 -3
- package/zsk/harness/constraints/source-of-truth.md +6 -3
- package/zsk/harness/constraints/stage-gates.md +28 -0
- package/zsk/harness/workflow/completion-contract.yaml +58 -11
- package/zsk/harness/workflow/skill-io-contract.yaml +78 -8
- package/zsk/harness/workflow/skill-quality-standards.yaml +104 -0
- package/zsk/harness/workflow/stage-contracts.yaml +12 -10
- package/zskplan/SKILL.md +30 -5
- package/zskplan/harness/THIS_SKILL.md +64 -1
- package/zskplan/harness/best-practices/README.md +1 -1
- package/zskplan/harness/constraints/filesystem-boundaries.md +32 -5
- package/zskplan/harness/constraints/issue-taxonomy.md +23 -12
- package/zskplan/harness/constraints/skill-role-contract.md +129 -3
- package/zskplan/harness/constraints/source-of-truth.md +6 -3
- package/zskplan/harness/constraints/stage-gates.md +28 -0
- package/zskplan/harness/workflow/completion-contract.yaml +58 -11
- package/zskplan/harness/workflow/skill-io-contract.yaml +78 -8
- package/zskplan/harness/workflow/skill-quality-standards.yaml +106 -0
- package/zskplan/harness/workflow/stage-contracts.yaml +12 -10
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/
|
|
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/
|
|
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
|
|
package/acceptance/SKILL.md
CHANGED
|
@@ -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
|
+
- Run this skill only for its owned outputs after prerequisites are present;
|
|
31
|
+
let workflow skills decide subsequent stage routing.
|
|
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,17 +79,21 @@ 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
|
+
- 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.
|
|
83
|
+
- 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
84
|
- Filesystem boundaries: write ZSK-managed outputs only under the configured `.zsk` workspace paths.
|
|
63
85
|
- Learning loop: reusable gaps become learning proposals; never mutate core constraints, templates, packs, or skills automatically.
|
|
86
|
+
- Learning authority: reusable ZSK core learning must target the canonical ZSK source repo `.zsk/learning/proposals/`; project-local learning may stay in the current project.
|
|
64
87
|
|
|
65
88
|
When a `harness/` directory is installed beside this file, treat it as the local contract source:
|
|
66
89
|
|
|
67
90
|
- Read `harness/THIS_SKILL.md` before executing this skill.
|
|
68
91
|
- Read `harness/workflow/skill-io-contract.yaml` for this skill's required inputs, outputs, tools, and capabilities.
|
|
92
|
+
- Read `harness/workflow/skill-quality-standards.yaml` for this skill's document mode, must-answer questions, quality checkpoints, and anti-patterns.
|
|
69
93
|
- Read `harness/workflow/state-machine.yaml` and `harness/constraints/stage-gates.md` before moving between stages.
|
|
70
94
|
- Read `harness/constraints/skill-role-contract.md` before planning or reviewing expert work.
|
|
71
95
|
- Read `harness/constraints/filesystem-boundaries.md` before creating any project artifact.
|
|
72
96
|
- Read `harness/constraints/evidence-rules.md` and `harness/workflow/completion-contract.yaml` before claiming READY / PASS / DONE.
|
|
73
97
|
- 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
|
|
98
|
+
- 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
99
|
|
|
@@ -35,11 +35,55 @@ 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
|
+
## Collaboration Discipline
|
|
39
|
+
|
|
40
|
+
- Own only this skill's required outputs; do not redefine upstream artifacts or approve downstream work on another skill's behalf.
|
|
41
|
+
- Before handoff, confirm required inputs were consumed, outputs are complete or explicitly BLOCKED, and the next consumer can act without chat memory.
|
|
42
|
+
- If another stage is missing, stale, contradictory, or under-specified, record a blocker, issue, or documentation feedback instead of silently fixing it inside this skill.
|
|
43
|
+
|
|
44
|
+
## Best-Practice Baseline
|
|
45
|
+
|
|
46
|
+
- Judge lifecycle function, not terminology: accept equivalent project artifacts only when they satisfy the same responsibility, handoff, and evidence need.
|
|
47
|
+
- Treat missing mandatory artifacts, mandatory evidence, required owners, required gates, or downstream-consumable outputs as FAIL or BLOCKED.
|
|
48
|
+
- Write unsupplied numeric thresholds, quality bars, SLOs, coverage targets, and business targets as `未指定`; suggestions must be labeled separately from current policy.
|
|
49
|
+
- Avoid provider lock-in: do not assume Jira, Confluence, Figma, GitHub, GitLab, Linear, Notion, browser tooling, or any platform unless configured sources or evidence identify it.
|
|
50
|
+
- For each required output or finding, name owner, dependency, acceptance condition, verification evidence, and next action.
|
|
51
|
+
|
|
52
|
+
## Document Quality Standard
|
|
53
|
+
|
|
54
|
+
- Document mode: `decisionRecord`
|
|
55
|
+
- Purpose: Record the accept/reject business decision and residual-risk ownership.
|
|
56
|
+
|
|
57
|
+
## Must Answer
|
|
58
|
+
|
|
59
|
+
- Is the verified work accepted, rejected, or conditionally accepted?
|
|
60
|
+
- Which evidence and issues support the decision?
|
|
61
|
+
- Who owns residual risks and documentation feedback?
|
|
62
|
+
|
|
63
|
+
## Quality Checkpoints
|
|
64
|
+
|
|
65
|
+
- Names the reader, stage, scope, and stop condition.
|
|
66
|
+
- Separates facts, decisions, assumptions, open questions, and evidence.
|
|
67
|
+
- Links each important claim to a source artifact, command output, issue, scenario, or human decision.
|
|
68
|
+
- States what is out of scope so later stages do not silently expand work.
|
|
69
|
+
- Makes the next stage executable without requiring hidden context from chat.
|
|
70
|
+
- Includes a Project Rules Gate that cites PROJECT-CONFIG.md and SYSTEM-SPEC.md constraints, impacts, and blockers.
|
|
71
|
+
- Confirms upstream/downstream consistency before handoff: inputs consumed, outputs complete or blocked, and next consumer can act without chat memory.
|
|
72
|
+
- Accepts different project methods and artifact names only when they provide an equivalent control point with evidence.
|
|
73
|
+
- Uses PASS, FAIL, BLOCKED, or N/A only with evidence; missing mandatory evidence remains a failure, not an assumption.
|
|
74
|
+
- Records numeric targets or thresholds as `未指定` when the project has not supplied them; never invents thresholds to make an output look complete.
|
|
75
|
+
- Names owner, dependency, acceptance condition, and verification evidence for every required output or blocker.
|
|
76
|
+
- 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.
|
|
77
|
+
- 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.
|
|
78
|
+
- Links verify report, demo evidence, accepted criteria, and residual risks.
|
|
79
|
+
- Records documentation feedback or no-update rationale for confirmed learnings.
|
|
80
|
+
|
|
38
81
|
## Related Best-Practice Concerns
|
|
39
82
|
|
|
40
83
|
- `SDLC traceability`
|
|
41
84
|
- `quality evidence`
|
|
42
85
|
- `system constraints`
|
|
86
|
+
- `dynamic state awareness`
|
|
43
87
|
|
|
44
88
|
## Bundled Related Reference Files
|
|
45
89
|
|
|
@@ -53,6 +97,22 @@ This file is generated for the installed skill. Read it before executing this sk
|
|
|
53
97
|
- `silently skipping required inputs or expert lanes`
|
|
54
98
|
- `mutating core harness/templates/skills without a learning proposal and review`
|
|
55
99
|
|
|
100
|
+
## Document Anti-Patterns
|
|
101
|
+
|
|
102
|
+
- Template-shaped filler that does not resolve a decision.
|
|
103
|
+
- Skipping PROJECT-CONFIG.md or SYSTEM-SPEC.md, or treating their project rules as optional suggestions.
|
|
104
|
+
- Untraceable claims such as 'should work', 'best practice', or 'user friendly' without evidence or criteria.
|
|
105
|
+
- Mixing raw source facts, decisions, runtime evidence, and tasks in one undifferentiated section.
|
|
106
|
+
- Skipping unresolved contradictions instead of recording a blocker, risk, or question.
|
|
107
|
+
- Optimizing wording while leaving acceptance, evidence, ownership, or next action ambiguous.
|
|
108
|
+
- Passing because a familiar term appears while the equivalent lifecycle function is absent.
|
|
109
|
+
- Inventing project policy, quality thresholds, source mappings, or platform behavior without configured evidence.
|
|
110
|
+
- Treating missing evidence as low risk when the stage output depends on that evidence.
|
|
111
|
+
- Letting a delayed subagent packet block indefinitely instead of marking it stale and falling back or re-emitting.
|
|
112
|
+
- Claiming tests prove behavior when they have no traceable basis, no meaningful assertion, or only prove implementation details.
|
|
113
|
+
- Accepting without verification evidence.
|
|
114
|
+
- Letting residual risks remain ownerless.
|
|
115
|
+
|
|
56
116
|
## Must Read Before Acting
|
|
57
117
|
|
|
58
118
|
- `profiles/*.yaml` to apply the active workflow profile before enforcing optional gates.
|
|
@@ -66,7 +126,9 @@ This file is generated for the installed skill. Read it before executing this sk
|
|
|
66
126
|
- `constraints/issue-taxonomy.md` before creating defects, blockers, risks, or questions.
|
|
67
127
|
- `best-practices/sdlc.md` when its domain is touched by this task.
|
|
68
128
|
- `best-practices/quality.md` when its domain is touched by this task.
|
|
69
|
-
-
|
|
129
|
+
- 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.
|
|
130
|
+
- 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.
|
|
131
|
+
- 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
132
|
|
|
71
133
|
## Hard Stops
|
|
72
134
|
|
|
@@ -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
|
-
|
|
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,39 @@ 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/
|
|
9
|
-
- `.zsk/
|
|
10
|
-
- `.zsk/
|
|
11
|
-
- `.zsk/
|
|
12
|
-
- `.zsk/
|
|
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
|
+
## Learning Output Authority
|
|
20
|
+
|
|
21
|
+
Learning artifacts must be written according to what they are meant to change:
|
|
22
|
+
|
|
23
|
+
- Project-local learning that only affects the current business/product project may use the current project's `.zsk/learning/proposals/`, created lazily.
|
|
24
|
+
- Reusable ZSK core learning that would change ZSK skills, harness contracts, templates, packs, CLI behavior, defaults, or installer behavior must be written to the canonical ZSK source checkout: `<zsk-core>/.zsk/learning/proposals/`.
|
|
25
|
+
- Resolve `<zsk-core>` from explicit configuration/environment first: `ZSK_LEARNING_REPO`, then `ZSK_CORE_REPO`. If neither is set, the current repository qualifies only when it contains `skills/`, `harness/`, and `packages/cli/`.
|
|
26
|
+
- If no canonical ZSK source checkout is available or writable, do not create a substitute core-learning proposal in the consuming project. Record `BLOCKED` with the missing root, intended proposal title, source evidence, and next action.
|
|
27
|
+
- `zsk init` must not create `.zsk/learning/`; learning directories remain lazy outputs created by `learn` or `archive` only when a concrete proposal is written.
|
|
28
|
+
|
|
29
|
+
## Scope Routing Rule
|
|
30
|
+
|
|
31
|
+
Before any skill writes an artifact, classify its scope:
|
|
32
|
+
|
|
33
|
+
| Scope | Meaning | Default target |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| module-final | Formal stage output for one module | `.zsk/modules/{module}/` |
|
|
36
|
+
| module-private | Working, runtime, evidence, issue, or generated artifact for one module | `.zsk/modules/{module}/_{kind}/` |
|
|
37
|
+
| shared | Reused by multiple modules but not public-facing | `.zsk/{kind}/shared/` or the configured shared root |
|
|
38
|
+
| global | Project-wide artifact with no owning module | `.zsk/{kind}/global/` or `.zsk/docs/` for formal docs |
|
|
39
|
+
| public | Intentionally publishable/exportable artifact | `.zsk/{kind}/public/` until explicitly exported |
|
|
40
|
+
|
|
41
|
+
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.
|
|
42
|
+
|
|
43
|
+
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
|
|
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/
|
|
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/
|
|
18
|
-
| Smoke Issue | `.zsk/
|
|
19
|
-
| Review Issue | `.zsk/
|
|
20
|
-
| Defect | `.zsk/
|
|
21
|
-
| Verify Issue | `.zsk/
|
|
22
|
-
| Acceptance Issue | `.zsk/
|
|
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/
|
|
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
|
|
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
|
|
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.
|
|
@@ -2,6 +2,107 @@
|
|
|
2
2
|
|
|
3
3
|
Every ZSK skill is an expert role, not a loose prompt. Before acting, the skill must identify its responsibility, required inputs, required outputs, forbidden scope, expert checks, and evidence obligations from `harness/THIS_SKILL.md`, `workflow/skill-io-contract.yaml`, and this file.
|
|
4
4
|
|
|
5
|
+
## Method-Neutral Best-Practice Baseline
|
|
6
|
+
|
|
7
|
+
ZSK skills must work across project types, team methods, tools, and platforms. A skill must judge the lifecycle function, not the label.
|
|
8
|
+
|
|
9
|
+
- Equivalent artifacts are accepted only with evidence. For example, a project may use use cases instead of user stories, an architecture note instead of a formal C4 diagram, or a release checklist instead of a named release skill, but the artifact must still satisfy the same responsibility and handoff need.
|
|
10
|
+
- Missing mandatory artifacts, mandatory evidence, required owners, required gates, or required downstream-consumable outputs are `FAIL` or `BLOCKED`, not a soft recommendation.
|
|
11
|
+
- Numeric thresholds, quality bars, SLOs, coverage targets, or business targets that are not supplied by project config, docs, or accepted decisions must be written as `未指定`. A skill may propose suggested values separately, but must not present them as current policy.
|
|
12
|
+
- Every required output or finding needs an owner, dependency, acceptance condition, verification evidence, and next action.
|
|
13
|
+
- Security, privacy, data safety, release readiness, test traceability, and continuous improvement are lifecycle concerns. They are N/A only when the project context proves they do not apply.
|
|
14
|
+
|
|
15
|
+
## Cross-Project Portability Rule
|
|
16
|
+
|
|
17
|
+
Core skills and harness rules must be generic by default.
|
|
18
|
+
|
|
19
|
+
- Do not hardcode Jira, Confluence, Figma, GitHub, GitLab, Linear, Notion, browser tooling, design tooling, or any provider as the only valid path.
|
|
20
|
+
- Detect source/provider behavior from `.zsk/config.yaml`, source URLs, local manifests, exports, and user-approved auth/session evidence.
|
|
21
|
+
- When a provider is unsupported, prefer generic fetch, Playwright/browser capture, local export ingestion, or a clearly blocked adapter request rather than silently dropping the source.
|
|
22
|
+
- If source-to-lane mapping is uncertain, record a question or blocker and ask before choosing. Do not invent that a URL is product, design, QA, backend, or UX without evidence.
|
|
23
|
+
|
|
24
|
+
## Learning Output Authority
|
|
25
|
+
|
|
26
|
+
Learning output has two different authorities:
|
|
27
|
+
|
|
28
|
+
- Project-specific delivery learning stays with the current project: module archives, `.zsk/docs/SYSTEM-SPEC.md`, module `_issues`, shared/global issue buckets, or project-local `.zsk/learning/proposals/` when the proposal only affects that project.
|
|
29
|
+
- Reusable ZSK core learning belongs to the canonical ZSK source repository: `<zsk-core>/.zsk/learning/proposals/`, because it is intended to change ZSK skills, harness, templates, packs, CLI behavior, or defaults.
|
|
30
|
+
|
|
31
|
+
Resolve `<zsk-core>` in this order:
|
|
32
|
+
|
|
33
|
+
1. Explicit environment/configured root such as `ZSK_LEARNING_REPO` or `ZSK_CORE_REPO`.
|
|
34
|
+
2. The current repository if it is recognizably the ZSK source repo, containing `skills/`, `harness/`, and `packages/cli/`.
|
|
35
|
+
3. Otherwise `BLOCKED`: report the missing canonical ZSK source root and do not scatter reusable core-learning notes into the consuming project.
|
|
36
|
+
|
|
37
|
+
## Skill Responsibility Matrix
|
|
38
|
+
|
|
39
|
+
Each skill owns one stage contract. Workflow skills may route or schedule work, but ordinary stage skills must not hardcode the next stage, redefine upstream facts, or accept downstream work on behalf of another skill.
|
|
40
|
+
|
|
41
|
+
| Skill | Owns | Does Not Own | Consistency / Handoff |
|
|
42
|
+
| --- | --- | --- | --- |
|
|
43
|
+
| `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 |
|
|
44
|
+
| `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` |
|
|
45
|
+
| `spec` | FR/NFR, acceptance criteria, scenarios, edge cases, constraints, traceability | Architecture, file/module design, implementation tasks | Every P0/P1 requirement must trace to proposal/source and be testable; hands behavior contract to `design` and `task` |
|
|
46
|
+
| `design` | Architecture, interfaces, data/state flow, design views/diagrams, ADRs or equivalent decisions, tradeoffs, rollout and verification surfaces | Rewriting requirements, task sequencing, coding, decorative diagrams | Every design decision and diagram must trace to spec/AC/NFR, ADR, risk, or verification need; hands implementation map to `task` |
|
|
47
|
+
| `task` | Kiro-style nested checkbox task groups/subtasks, owners, dependencies, scope/files, evidence hooks, coverage matrix | Changing proposal/spec/design intent, coding, review approval | Every task group must align to proposal/spec/design IDs; every subtask must be executable and evidence-backed before `coding` |
|
|
48
|
+
| `coding` | Scoped implementation, changed tests, implementation notes, local validation evidence | Requirements changes, broad refactors, final approval | Every diff maps to task IDs and preserves upstream intent; hands changed files and evidence to `smoke` / `review` |
|
|
49
|
+
| `smoke` | Smallest credible local proof of changed behavior, failure classification, smoke issues | Full acceptance, final verification, release approval | Hands command/scenario evidence and failures to `review`, `defect`, or `ready` |
|
|
50
|
+
| `review` | Scope drift, correctness, maintainability, security, test adequacy, harness compliance findings | Implementing fixes, independent verification, business acceptance | Findings must reference files/artifacts and route fix work to `issue` / `defect` / `coding`; no PASS without evidence adequacy |
|
|
51
|
+
| `commit` | Scoped staging, Lore commit message, commit evidence, known verification gaps | Feature validation, release readiness | Hands immutable change intent and tested/not-tested evidence to `deploy` / `archive` |
|
|
52
|
+
| `deploy` | Release target, deployment command, environment/version, health checks, rollback owner | Product acceptance, postmortem, unrelated infra changes | Hands runtime URL/version, smoke evidence, and rollback path to `demo`, `verify`, or `archive` |
|
|
53
|
+
| `demo` | Source-backed user-visible flow rehearsal, scenario evidence, demo issues | Formal testing, acceptance, invented flows | Consumes spec/design/task case skeletons; routes gaps to `defect` or upstream docs feedback |
|
|
54
|
+
| `defect` | Reproducible defect records, severity, dedupe, fix route | Fix implementation, broad redesign | Links failures to FR/AC/evidence and hands fix route to `coding` / `ready` |
|
|
55
|
+
| `ready` | Verification handoff, issue-evidence matrix, exact claim and version | Fixing defects, independent pass/fail decision | Hands replayable claims and evidence paths to `verify` |
|
|
56
|
+
| `verify` | Independent replay, pass/fail decision, issue status update, regression evidence | Implementation, business acceptance, release changes | Verifies against ready/spec/AC with fresh evidence; hands decision to `acceptance` |
|
|
57
|
+
| `acceptance` | Accept/reject decision, residual risk, business/user confirmation, documentation feedback | New verification, implementation fixes | Hands accepted state, waived risks, or rejection reasons to `archive` / `issue` |
|
|
58
|
+
| `archive` | Final artifact preservation, closed issue audit, learning proposals, release notes | Changing delivered scope, reopening decisions without issue evidence | Preserves decisions/evidence and promotes reusable gaps to `learn` |
|
|
59
|
+
| `learn` | Learning proposal intake, pattern comparison, optimization batch planning, reusable ZSK core proposal routing | Unreviewed mutation of core skills/harness/templates, scattering core learning into consuming projects | Writes project-local learning only for project-specific change; writes reusable core learning to canonical ZSK source repo proposals; requires review/regression before promotion |
|
|
60
|
+
| `issue` | Persistent issue/defect/risk/question records, indexes, owner/status/evidence fields | Resolving the issue by assertion, replacing review/verify | Provides the shared feedback and closure ledger for all stages |
|
|
61
|
+
| `dispatch` | Runtime staffing plan, active roles, write scopes, evidence obligations, durable emit packets, packet status ledger | Business or technical stage output | Supports any stage skill from the resource pool; stale or delayed packets fall back to leader-sequential role simulation |
|
|
62
|
+
| `flow` | Next legal stage decision from state, resources, blockers, profile, and stage-entry quality assessment | Stage artifact production | Routes only when gates allow; reports blockers or quality-confirmation needs instead of forcing progression |
|
|
63
|
+
| `zskplan` | Route freeze, selected skills, output map, expert lane plan, evidence plan, blockers | Implementation and verification | Produces the plan contract that `zsk` executes |
|
|
64
|
+
| `zsk` | End-to-end execution loop, skill dispatch, expert lane integration, validation/fix loop | Skipping selected skill contracts or evidence gates | Executes the frozen or inferred route until complete or blocked |
|
|
65
|
+
|
|
66
|
+
## Collaboration Consistency Gate
|
|
67
|
+
|
|
68
|
+
Before a skill reports `PASS`, `READY`, `DONE`, or an unblocked handoff, it must prove the following chain remains intact:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
prepare sources
|
|
72
|
+
-> proposal goals / scope / success metrics
|
|
73
|
+
-> spec FR / AC / NFR / scenarios
|
|
74
|
+
-> design decisions / ADRs / interfaces / data flow
|
|
75
|
+
-> task checkbox groups / subtasks / evidence hooks
|
|
76
|
+
-> coding diff / changed tests
|
|
77
|
+
-> smoke or demo evidence
|
|
78
|
+
-> review findings
|
|
79
|
+
-> ready claim
|
|
80
|
+
-> verify result
|
|
81
|
+
-> acceptance decision
|
|
82
|
+
-> archive / learn
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Consistency checks:
|
|
86
|
+
|
|
87
|
+
- Upstream input exists, is current enough for the decision, and is explicitly referenced.
|
|
88
|
+
- Current-stage required outputs are complete or marked `BLOCKED` with owner, missing input, impact, and next action.
|
|
89
|
+
- Downstream consumers can use the output without hidden chat memory.
|
|
90
|
+
- Facts, decisions, assumptions, open questions, and evidence are separated.
|
|
91
|
+
- No skill silently changes another skill's artifact; it records a feedback item, issue, or blocker instead.
|
|
92
|
+
- Workflow skills (`flow`, `zskplan`, `zsk`) choose the route. Stage skills state status, blockers, handoff needs, and next legal candidates only.
|
|
93
|
+
|
|
94
|
+
## Kiro-Style Task Handoff
|
|
95
|
+
|
|
96
|
+
`task` must use nested Markdown checkboxes as the primary execution surface:
|
|
97
|
+
|
|
98
|
+
```md
|
|
99
|
+
- [ ] 1. <task group>
|
|
100
|
+
- [ ] 1.1 <subtask>
|
|
101
|
+
- [ ] 1.2 <subtask>
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Metadata belongs under the relevant checkbox item, not in a detached table alone. Each task group needs proposal/spec/design alignment, owner, dependencies, scope/files, expected output, evidence, and stop condition. Each subtask needs at least source ID, owner, scope/files, expected output, acceptance, and evidence. A task artifact without this hierarchy is not execution-ready.
|
|
105
|
+
|
|
5
106
|
## Role Completeness
|
|
6
107
|
|
|
7
108
|
Each skill run must cover its whole declared role:
|
|
@@ -9,8 +110,11 @@ Each skill run must cover its whole declared role:
|
|
|
9
110
|
- read the required inputs or report `BLOCKED`;
|
|
10
111
|
- produce every required output or explain why it is blocked;
|
|
11
112
|
- apply the related best-practice files listed in `THIS_SKILL.md` when their domain is touched;
|
|
12
|
-
-
|
|
113
|
+
- 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;
|
|
114
|
+
- prefer local configured sources and bundled references when they are sufficient, current, and specific;
|
|
115
|
+
- 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
116
|
- keep all ZSK-managed artifacts under `.zsk` paths from the completion contract;
|
|
117
|
+
- classify artifact scope before writing: module-final, module-private, shared, global, or public;
|
|
14
118
|
- state which checks were performed and which were intentionally waived.
|
|
15
119
|
|
|
16
120
|
Partial execution is a failure. A skill must not pass after checking only one convenient angle when its role requires multiple angles.
|
|
@@ -18,8 +122,11 @@ Partial execution is a failure. A skill must not pass after checking only one co
|
|
|
18
122
|
## Forbidden Behavior
|
|
19
123
|
|
|
20
124
|
- Do not create new project roots, ad hoc docs folders, loose evidence folders, or hidden state outside `.zsk`.
|
|
125
|
+
- Do not write module-private working artifacts to outer `.zsk/issues`, `.zsk/evidence`, or `.zsk/playwright` without a shared/global/public scope decision.
|
|
21
126
|
- Do not skip a declared input because it is inconvenient to locate.
|
|
22
127
|
- Do not collapse a multi-lane expert task into a single generic pass.
|
|
128
|
+
- Do not search the web when local evidence is already sufficient and current for the decision.
|
|
129
|
+
- 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
130
|
- Do not silently cross into another skill's responsibility; route or record the handoff.
|
|
24
131
|
- Do not claim PASS, READY, DONE, or ACCEPTED without linked evidence.
|
|
25
132
|
|
|
@@ -29,6 +136,19 @@ When a skill has multiple expert concerns, it must execute all relevant lanes. I
|
|
|
29
136
|
|
|
30
137
|
The lead skill remains accountable for the final verdict. Subagent output is supporting evidence, not an automatic pass.
|
|
31
138
|
|
|
139
|
+
## Product / Research Minimum
|
|
140
|
+
|
|
141
|
+
Proposal, BRD, product-manager, and product-research work must cover all relevant research lanes before recommending direction:
|
|
142
|
+
|
|
143
|
+
- problem/value hypothesis and target customer;
|
|
144
|
+
- market size, growth, geography, segment, and timing when the decision depends on external demand;
|
|
145
|
+
- user personas, JTBD, pains, willingness to pay, and adoption constraints;
|
|
146
|
+
- competitor/substitute analysis, positioning, differentiation, and pricing references;
|
|
147
|
+
- regulatory, platform, operational, data, or go-to-market risks when touched;
|
|
148
|
+
- confidence, source freshness, gaps, and what would change the recommendation.
|
|
149
|
+
|
|
150
|
+
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.
|
|
151
|
+
|
|
32
152
|
## Review-Specific Minimum
|
|
33
153
|
|
|
34
154
|
`review` must always cover these lanes before a PASS verdict:
|
|
@@ -51,8 +171,11 @@ For `DEEP` review, dispatch at least three independent expert lanes when subagen
|
|
|
51
171
|
- `zskplan` freezes the route and writes the plan artifact under `.zsk/plans/`: selected skills, required inputs, `.zsk` output map, expert lanes, subagent plan, Playwright/auth/evidence plan, fix loop, blockers, and stop condition.
|
|
52
172
|
- `zsk` executes the frozen or inferred route: it selects the legal skill, dispatches required expert lanes, integrates results, writes only `.zsk` artifacts, validates, fixes, and repeats until the plan is complete or blocked.
|
|
53
173
|
- Neither entry point may skip a selected skill's own contract, forbidden scope, required inputs, issue routing, or evidence gate.
|
|
174
|
+
- Before entering a downstream stage, the workflow must evaluate required upstream artifact quality or record why the gate is N/A. Below-threshold quality gaps require an explicit risk acceptance; missing mandatory artifacts remain blocked.
|
|
175
|
+
- Every emitted subagent packet must be durable: `runId`, `packetId`, heartbeat/deadline policy, status path, write scope, evidence obligation, stop condition, and fallback route. Stale packets must be completed by fallback evidence or re-emitted; they cannot count as completed work.
|
|
54
176
|
- When no frozen route exists, `zsk` must perform the `zskplan` route-freeze work first and state the resulting plan.
|
|
55
177
|
- Plans, Playwright specs, auth state, runtime execution JSON, traces, reports, reusable evidence, issues, and learning proposals must use the configured `.zsk` workspace paths.
|
|
178
|
+
- 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
179
|
- A ZSK loop may not stop at "implemented" when review, Playwright, test, or configured validation evidence is required by the plan.
|
|
57
180
|
|
|
58
181
|
## Learning Skill
|
|
@@ -62,8 +185,11 @@ For `DEEP` review, dispatch at least three independent expert lanes when subagen
|
|
|
62
185
|
- collect suggestions and evidence from user feedback, failed runs, review misses, and harness friction;
|
|
63
186
|
- ingest user-supplied public skill or harness references, including URLs, repos, markdown, examples, screenshots, or pasted excerpts;
|
|
64
187
|
- compare external patterns against current ZSK contracts, source rights, project constraints, and regression needs;
|
|
65
|
-
- record delivery-impacting problems
|
|
66
|
-
-
|
|
188
|
+
- 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;
|
|
189
|
+
- classify the learning target as project-local, optional-pack, team-local, or reusable ZSK core before writing;
|
|
190
|
+
- write project-local proposals under the current project's `.zsk/learning/proposals/` only when the proposal affects that project alone;
|
|
191
|
+
- write reusable ZSK core proposals under the canonical ZSK source repo `.zsk/learning/proposals/`, resolved by `ZSK_LEARNING_REPO`, `ZSK_CORE_REPO`, or a recognized ZSK source checkout;
|
|
192
|
+
- if the canonical ZSK source repo cannot be resolved or is not writable, report `BLOCKED` with the missing root, intended proposal name, evidence, and next action instead of writing core learning into the consuming project;
|
|
67
193
|
- group accepted proposals into one optimization batch with target files, regression prompts, risks, and review status.
|
|
68
194
|
|
|
69
195
|
`learn` must not mutate core skills, harness constraints, packs, templates, or generated artifacts from one unreviewed incident. It must not copy external skills or harnesses wholesale; it adapts principles and testable constraints into ZSK proposals with source notes. Promotion requires review evidence and regression prompts.
|
|
@@ -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/
|
|
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
|
-
-
|
|
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,
|
|
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.
|
|
@@ -17,6 +17,31 @@ The harness computes gate status. Skills may propose outputs and record evidence
|
|
|
17
17
|
- `smoke`, `review`, and `verify` must reject tests that cannot be traced to PRD/SRS, spec/design, task, issue, or accepted user clarification.
|
|
18
18
|
- If the test contract is unclear, the stage is `blocked` until the uncertainty is clarified or recorded as a resource gap.
|
|
19
19
|
|
|
20
|
+
## Stage Entry Quality Gate
|
|
21
|
+
|
|
22
|
+
- Before a downstream stage starts, the harness must assess the required upstream artifacts for that stage with `zsk gate assess --stage <stage>`.
|
|
23
|
+
- The assessment must write a score, PASS/FAIL criteria, blockers, gaps, and next action under `.zsk/evidence/gates/`.
|
|
24
|
+
- 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`.
|
|
25
|
+
- 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.
|
|
26
|
+
- 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.
|
|
27
|
+
|
|
28
|
+
## Test Correctness Gate
|
|
29
|
+
|
|
30
|
+
- A passing test suite is not sufficient evidence when the tests do not prove the intended behavior.
|
|
31
|
+
- New or changed behavior needs a traceable test basis: PRD/SRS, spec acceptance criteria, design decision, task, issue, or accepted user clarification.
|
|
32
|
+
- Tests must include the meaningful negative, boundary, and regression cases implied by the acceptance criteria. If a case is intentionally omitted, record the omitted case, reason, risk, and owner.
|
|
33
|
+
- For TDD work, prefer a red/green proof or equivalent evidence that the new test fails without the fix. If that is impractical, review must explain the substitute evidence.
|
|
34
|
+
- `smoke`, `review`, and `verify` must reject fake passes: skipped tests, tests with no assertions, tests that only assert mocks were called while ignoring user-visible behavior, tests that assert implementation details instead of contract behavior, or tests that pass because expected data is hardcoded to the implementation.
|
|
35
|
+
- Every test report must distinguish passed, failed, skipped, flaky, unrun, and not-applicable checks. Skipped or unrun checks are not PASS.
|
|
36
|
+
|
|
37
|
+
## Durable Dispatch Gate
|
|
38
|
+
|
|
39
|
+
- Every dispatched role/subagent lane must have a durable emit packet with `runId`, `packetId`, write scope, evidence obligation, stop condition, status path, and fallback route.
|
|
40
|
+
- Dispatch must write an emit ledger under `.zsk/evidence/dispatch/{run}/emit-ledger.json` plus per-packet status files.
|
|
41
|
+
- Long-running packets must heartbeat before their deadline. A pending or running packet with no heartbeat past deadline becomes `stale`.
|
|
42
|
+
- Stale packets do not block forever. The lead-integrator must either fall back to leader-sequential execution for that lane or re-emit a new bounded packet.
|
|
43
|
+
- A stale, failed, blocked, or waived packet cannot be counted as completed evidence unless the lead-integrator records the fallback result or accepted risk.
|
|
44
|
+
|
|
20
45
|
## Gate Status
|
|
21
46
|
|
|
22
47
|
- `blocked`: required resource or evidence is missing.
|
|
@@ -25,3 +50,6 @@ The harness computes gate status. Skills may propose outputs and record evidence
|
|
|
25
50
|
- `failed`: stage ran but produced blocking findings.
|
|
26
51
|
- `paused`: resumable session state exists, used by interruptible demo.
|
|
27
52
|
- `terminated`: session intentionally stopped; follow-up owner is required.
|
|
53
|
+
- `needs-confirmation`: required artifacts exist, but quality score/gaps require human decision before proceeding.
|
|
54
|
+
- `waived`: explicit human risk acceptance allows progression despite non-blocking quality gaps; waiver evidence must be linked.
|
|
55
|
+
- `stale`: a dispatched packet missed its heartbeat/deadline and must fall back or be re-emitted.
|