@captain_z/zsk-skills 1.8.9 → 1.8.10
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 +32 -24
- package/package.json +1 -1
- package/{zsk-zsk → zsk}/SKILL.md +4 -4
- package/zsk/harness/POLICY.md +22 -0
- package/zsk/harness/constraints/evidence-rules.md +33 -0
- package/zsk/harness/constraints/filesystem-boundaries.md +76 -0
- package/zsk/harness/constraints/issue-taxonomy.md +150 -0
- package/zsk/harness/constraints/skill-role-contract.md +371 -0
- package/zsk/harness/constraints/source-of-truth.md +39 -0
- package/zsk/harness/constraints/stage-gates.md +162 -0
- package/zsk/harness/contracts/dispatch-runtime.yaml +119 -0
- package/zsk/harness/contracts/profile-strategy.yaml +178 -0
- package/zsk/harness/contracts/quality-roles.yaml +281 -0
- package/zsk/harness/contracts/readiness-packs.yaml +169 -0
- package/zsk/harness/contracts/repository-layout.yaml +129 -0
- package/zsk/harness/contracts/requirements-grilling.yaml +153 -0
- package/zsk/harness/contracts/skill-classification.yaml +388 -0
- package/zsk/harness/contracts/stage-output-readiness.yaml +123 -0
- package/zsk/harness/contracts/work-management.yaml +250 -0
- package/zsk/harness/contracts/workspace-layout.yaml +97 -0
- package/zsk/harness/examples/clarification/design-stage-output.yaml +19 -0
- package/zsk/harness/examples/clarification/preproposal-high-impact.yaml +18 -0
- package/zsk/harness/examples/clarification/spec-stage-output.yaml +19 -0
- package/zsk/harness/examples/dispatch/emit-ledger.json +22 -0
- package/zsk/harness/examples/dispatch/packet-status/PKT-design-architect.json +11 -0
- package/zsk/harness/examples/dispatch/packet-status/PKT-design-test-engineer.json +10 -0
- package/zsk/harness/examples/dispatch/staffing-plan.json +47 -0
- package/zsk/harness/examples/readiness-packs/defect-pack.yaml +28 -0
- package/zsk/harness/examples/readiness-packs/product-pack.yaml +28 -0
- package/zsk/harness/examples/readiness-packs/qa-case-pack.yaml +29 -0
- package/zsk/harness/examples/readiness-packs/readiness-handoff.yaml +29 -0
- package/zsk/harness/examples/readiness-packs/ux-supplement.yaml +29 -0
- package/zsk/harness/profiles/enterprise.yaml +132 -0
- package/zsk/harness/profiles/entry.yaml +68 -0
- package/zsk/harness/profiles/frontend.yaml +131 -0
- package/zsk/harness/profiles/lite.yaml +93 -0
- package/zsk/harness/profiles/sdlc.yaml +119 -0
- package/zsk/harness/workflow/completion-contract.yaml +181 -0
- package/zsk/harness/workflow/stage-contracts.yaml +64 -0
- package/zsk/harness/workflow/state-machine.yaml +74 -0
- package/zsk-acceptance/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-archive/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-check/SKILL.md +384 -0
- package/zsk-check/harness/README.md +16 -0
- package/zsk-check/harness/THIS_SKILL.md +260 -0
- package/{zsk-zsk → zsk-check}/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-check/harness/workflow/skill-io-contract.yaml +227 -0
- package/zsk-check/harness/workflow/skill-quality-standards.yaml +287 -0
- package/zsk-coding/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-commit/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-defect/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-demo/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-deploy/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-design/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-dispatch/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-fix/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-flow/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-health/SKILL.md +397 -0
- package/zsk-health/harness/README.md +16 -0
- package/zsk-health/harness/THIS_SKILL.md +262 -0
- package/{zsk-zskplan → zsk-health}/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-health/harness/workflow/skill-io-contract.yaml +226 -0
- package/zsk-health/harness/workflow/skill-quality-standards.yaml +283 -0
- package/zsk-issue/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-learn/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-prepare/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-preproposal/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-proposal/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-ready/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-review/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-smoke/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-spec/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-task/harness/contracts/skill-classification.yaml +22 -0
- package/zsk-verify/harness/contracts/skill-classification.yaml +22 -0
- package/{zsk-zskplan → zskplan}/SKILL.md +5 -5
- package/zskplan/harness/POLICY.md +22 -0
- package/zskplan/harness/constraints/evidence-rules.md +33 -0
- package/zskplan/harness/constraints/filesystem-boundaries.md +76 -0
- package/zskplan/harness/constraints/issue-taxonomy.md +150 -0
- package/zskplan/harness/constraints/skill-role-contract.md +371 -0
- package/zskplan/harness/constraints/source-of-truth.md +39 -0
- package/zskplan/harness/constraints/stage-gates.md +162 -0
- package/zskplan/harness/contracts/dispatch-runtime.yaml +119 -0
- package/zskplan/harness/contracts/profile-strategy.yaml +178 -0
- package/zskplan/harness/contracts/quality-roles.yaml +281 -0
- package/zskplan/harness/contracts/readiness-packs.yaml +169 -0
- package/zskplan/harness/contracts/repository-layout.yaml +129 -0
- package/zskplan/harness/contracts/requirements-grilling.yaml +153 -0
- package/zskplan/harness/contracts/skill-classification.yaml +388 -0
- package/zskplan/harness/contracts/stage-output-readiness.yaml +123 -0
- package/zskplan/harness/contracts/work-management.yaml +250 -0
- package/zskplan/harness/contracts/workspace-layout.yaml +97 -0
- package/zskplan/harness/examples/clarification/design-stage-output.yaml +19 -0
- package/zskplan/harness/examples/clarification/preproposal-high-impact.yaml +18 -0
- package/zskplan/harness/examples/clarification/spec-stage-output.yaml +19 -0
- package/zskplan/harness/examples/dispatch/emit-ledger.json +22 -0
- package/zskplan/harness/examples/dispatch/packet-status/PKT-design-architect.json +11 -0
- package/zskplan/harness/examples/dispatch/packet-status/PKT-design-test-engineer.json +10 -0
- package/zskplan/harness/examples/dispatch/staffing-plan.json +47 -0
- package/zskplan/harness/examples/readiness-packs/defect-pack.yaml +28 -0
- package/zskplan/harness/examples/readiness-packs/product-pack.yaml +28 -0
- package/zskplan/harness/examples/readiness-packs/qa-case-pack.yaml +29 -0
- package/zskplan/harness/examples/readiness-packs/readiness-handoff.yaml +29 -0
- package/zskplan/harness/examples/readiness-packs/ux-supplement.yaml +29 -0
- package/zskplan/harness/profiles/enterprise.yaml +132 -0
- package/zskplan/harness/profiles/entry.yaml +68 -0
- package/zskplan/harness/profiles/frontend.yaml +131 -0
- package/zskplan/harness/profiles/lite.yaml +93 -0
- package/zskplan/harness/profiles/sdlc.yaml +119 -0
- package/zskplan/harness/workflow/completion-contract.yaml +181 -0
- package/zskplan/harness/workflow/stage-contracts.yaml +64 -0
- package/zskplan/harness/workflow/state-machine.yaml +74 -0
- /package/{zsk-zsk → zsk}/harness/README.md +0 -0
- /package/{zsk-zsk → zsk}/harness/THIS_SKILL.md +0 -0
- /package/{zsk-zsk → zsk}/harness/best-practices/README.md +0 -0
- /package/{zsk-zsk → zsk}/harness/best-practices/agent-orchestration.md +0 -0
- /package/{zsk-zsk → zsk}/harness/best-practices/quality.md +0 -0
- /package/{zsk-zsk → zsk}/harness/best-practices/sdlc.md +0 -0
- /package/{zsk-zsk → zsk}/harness/workflow/skill-io-contract.yaml +0 -0
- /package/{zsk-zsk → zsk}/harness/workflow/skill-quality-standards.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/POLICY.md +0 -0
- /package/{zsk-zsk → zsk-check}/harness/constraints/evidence-rules.md +0 -0
- /package/{zsk-zsk → zsk-check}/harness/constraints/filesystem-boundaries.md +0 -0
- /package/{zsk-zsk → zsk-check}/harness/constraints/issue-taxonomy.md +0 -0
- /package/{zsk-zsk → zsk-check}/harness/constraints/skill-role-contract.md +0 -0
- /package/{zsk-zsk → zsk-check}/harness/constraints/source-of-truth.md +0 -0
- /package/{zsk-zsk → zsk-check}/harness/constraints/stage-gates.md +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/dispatch-runtime.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/profile-strategy.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/quality-roles.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/readiness-packs.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/repository-layout.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/requirements-grilling.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/stage-output-readiness.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/work-management.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/contracts/workspace-layout.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/clarification/design-stage-output.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/clarification/preproposal-high-impact.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/clarification/spec-stage-output.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/dispatch/emit-ledger.json +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/dispatch/packet-status/PKT-design-architect.json +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/dispatch/packet-status/PKT-design-test-engineer.json +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/dispatch/staffing-plan.json +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/readiness-packs/defect-pack.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/readiness-packs/product-pack.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/readiness-packs/qa-case-pack.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/readiness-packs/readiness-handoff.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/examples/readiness-packs/ux-supplement.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/profiles/enterprise.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/profiles/entry.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/profiles/frontend.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/profiles/lite.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/profiles/sdlc.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/workflow/completion-contract.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/workflow/stage-contracts.yaml +0 -0
- /package/{zsk-zsk → zsk-check}/harness/workflow/state-machine.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/POLICY.md +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/constraints/evidence-rules.md +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/constraints/filesystem-boundaries.md +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/constraints/issue-taxonomy.md +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/constraints/skill-role-contract.md +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/constraints/source-of-truth.md +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/constraints/stage-gates.md +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/dispatch-runtime.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/profile-strategy.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/quality-roles.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/readiness-packs.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/repository-layout.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/requirements-grilling.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/stage-output-readiness.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/work-management.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/contracts/workspace-layout.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/clarification/design-stage-output.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/clarification/preproposal-high-impact.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/clarification/spec-stage-output.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/dispatch/emit-ledger.json +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/dispatch/packet-status/PKT-design-architect.json +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/dispatch/packet-status/PKT-design-test-engineer.json +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/dispatch/staffing-plan.json +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/readiness-packs/defect-pack.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/readiness-packs/product-pack.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/readiness-packs/qa-case-pack.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/readiness-packs/readiness-handoff.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/examples/readiness-packs/ux-supplement.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/profiles/enterprise.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/profiles/entry.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/profiles/frontend.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/profiles/lite.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/profiles/sdlc.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/workflow/completion-contract.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/workflow/stage-contracts.yaml +0 -0
- /package/{zsk-zskplan → zsk-health}/harness/workflow/state-machine.yaml +0 -0
- /package/{zsk-zskplan → zskplan}/harness/README.md +0 -0
- /package/{zsk-zskplan → zskplan}/harness/THIS_SKILL.md +0 -0
- /package/{zsk-zskplan → zskplan}/harness/best-practices/README.md +0 -0
- /package/{zsk-zskplan → zskplan}/harness/best-practices/agent-orchestration.md +0 -0
- /package/{zsk-zskplan → zskplan}/harness/best-practices/quality.md +0 -0
- /package/{zsk-zskplan → zskplan}/harness/best-practices/sdlc.md +0 -0
- /package/{zsk-zskplan → zskplan}/harness/workflow/skill-io-contract.yaml +0 -0
- /package/{zsk-zskplan → zskplan}/harness/workflow/skill-quality-standards.yaml +0 -0
package/README.md
CHANGED
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
ZNorth Standard Kit 的可安装 skill 内容包。安装面现在只保留从根级 `skills/` 生成的 **core harness-first skills**;旧 `.best-practices/` 不再批量生成独立 installable skills,而是作为参考源按 skill 携带相关子集。
|
|
4
4
|
|
|
5
|
-
包内共有 **
|
|
5
|
+
包内共有 **26 颗 installable skills**,全部来自根级 `skills/`。其中 legacy full-core profile 继续保留 24 颗生命周期 skill;`check` / `health` 是可选诊断能力,适合通过 custom、单颗安装或 GitHub skill 管理器引入。
|
|
6
6
|
|
|
7
7
|
## 合规审查(ARCHITECTURE §4.4 硬指标)
|
|
8
8
|
|
|
9
9
|
| 检查项 | 结果 | 说明 |
|
|
10
10
|
| ---------------------------------------------------------------------------------------- | ------- | ----------------------------------------------------- |
|
|
11
|
-
| frontmatter 完整(`name` / `description` / `category` / `domain` / `tier` / `triggers`) | ✓
|
|
12
|
-
| `name`
|
|
13
|
-
| `description` 简洁表达职责和使用时机 | ✓
|
|
14
|
-
| `category` / `domain` / `tier` 枚举值合法 | ✓
|
|
15
|
-
| `triggers` 数组非空 | ✓
|
|
11
|
+
| frontmatter 完整(`name` / `description` / `category` / `domain` / `tier` / `triggers`) | ✓ 26/26 | core 由 root `skills/` 生成 |
|
|
12
|
+
| `name` 使用公共命名,目录同名且只含小写/数字/连字符 | ✓ 26/26 | 主入口为 `zskplan` / `zsk`;其它 skill 使用 `zsk-<slug>` 避免裸名冲突;CLI 选择层继续兼容 `zsk:<slug>` |
|
|
13
|
+
| `description` 简洁表达职责和使用时机 | ✓ 26/26 | 面向索引阅读;triggers 留给机器使用 |
|
|
14
|
+
| `category` / `domain` / `tier` 枚举值合法 | ✓ 26/26 | stage/utility · core |
|
|
15
|
+
| `triggers` 数组非空 | ✓ 26/26 | 至少含裸 slug |
|
|
16
16
|
| 无硬编码项目名 / 技术栈(统一 `{{config.*}}` 占位符) | ✓ | harness-neutral |
|
|
17
17
|
| `related:` 相对路径合法 | ✓ | core 不依赖参考层生成物 |
|
|
18
|
-
| 单文件 ≤ 300 行 | ✓
|
|
18
|
+
| 单文件 ≤ 300 行 | ✓ 26/26 | core 由 `lint:harness` 强制 |
|
|
19
19
|
|
|
20
20
|
当前 `max-lines` 已由 `tools/lint-frontmatter.ts` 作为 error 强制;新增或修改 skill 不应超过 300 行。
|
|
21
21
|
|
|
@@ -87,23 +87,25 @@ Direct review 只需要明确 review target(代码 diff、本地路径、stage
|
|
|
87
87
|
| CI 安装 ZSK 主入口 | `npx @captain_z/zsk add zsk-entry --target=~/.claude/skills --yes` | 非交互安装 `zskplan` / `zsk` 两个入口 |
|
|
88
88
|
| CI 安装轻量 profile | `npx @captain_z/zsk add zsk-lite --target=~/.claude/skills --yes` | 非交互安装 4 颗入口/执行 skills |
|
|
89
89
|
| CI 安装标准 SDLC profile | `npx @captain_z/zsk add zsk-sdlc --target=~/.claude/skills --yes` | 非交互安装 12 颗标准 entry/stage skills |
|
|
90
|
-
| Claude plugin
|
|
91
|
-
|
|
|
90
|
+
| Claude plugin 分层安装 | `/plugin marketplace add codeshareman/zsk` 后 `/plugin install zsk-entry@zsk` | 在 Claude 内按 profile 安装 ZSK skills |
|
|
91
|
+
| Claude plugin 全量兼容 | `/plugin install zsk@zsk` | 安装 24 颗 core skills,保留给旧工作流或高级用法 |
|
|
92
|
+
| GitHub skills 管理器安装 | `npx skills add codeshareman/zsk` | 从仓库安装公共命名的 ZSK skills 或单颗 skill;不要加 `@` |
|
|
93
|
+
| Skill 质量 dry-run | `npx @captain_z/zsk skills dry-run --min-score=90` | 不调用 LLM、不写项目;模拟每颗 skill 的输入、输出、质量检查、stop condition 和专属场景断言;总分、`qualityItems[]` 和 `scenarioChecks[]` 单项都必须达到阈值 |
|
|
92
94
|
| 准备项目资源 | `npx @captain_z/zsk prepare draft && npx @captain_z/zsk prepare plan && npx @captain_z/zsk prepare sync --all` | 先审查建议,再同步确认后的 `.zsk/raws/**` snapshot |
|
|
93
|
-
| 只想让 ZSK 自己规划和执行 | "用 `
|
|
95
|
+
| 只想让 ZSK 自己规划和执行 | "用 `zskplan` 规划" / "用 `zsk` 继续" | 计划写入 `.zsk/plans/`,执行产物写入 `.zsk` |
|
|
94
96
|
| 不确定该用哪个阶段 skill | "用 `zsk:dispatch` 调度" | 让 OMX 围绕 ZSK skills 分配 subagents |
|
|
95
97
|
| 恢复一个项目的下一步 | "用 `zsk:flow` 继续" | 读取配置、阶段文档和 blocker,选择合法下一阶段 |
|
|
96
98
|
| 明确进入某阶段 | "用 `zsk:spec` 写模块规格" | 只载入对应 stage contract |
|
|
97
99
|
|
|
98
|
-
**典型消费路径**(production
|
|
100
|
+
**典型消费路径**(production,安装后)。`<public-name>` 表示 `zskplan` / `zsk` 两个裸入口,或其它 skill 的 `zsk-<slug>`:
|
|
99
101
|
|
|
100
|
-
- `~/.claude/skills
|
|
101
|
-
- `~/.codex/skills
|
|
102
|
+
- `~/.claude/skills/<public-name>/SKILL.md` — Claude Code / flat target
|
|
103
|
+
- `~/.codex/skills/<public-name>/SKILL.md` — Codex / flat target
|
|
102
104
|
- `./.claude-plugin/skills/<slug>/SKILL.md` + `commands/<slug>.md` — Claude plugin local target
|
|
103
|
-
- `skills/.curated
|
|
104
|
-
- `@captain_z/zsk-skills
|
|
105
|
+
- `skills/.curated/<public-name>/SKILL.md` — `npx skills` / Claude plugin marketplace repository target
|
|
106
|
+
- `@captain_z/zsk-skills/<public-name>/SKILL.md` — 通过 npm 读
|
|
105
107
|
|
|
106
|
-
仓库根还发布 `.claude-plugin/plugin.json` 和 `.claude-plugin/marketplace.json`,用于 Claude Code `/plugin marketplace add codeshareman/zsk`
|
|
108
|
+
仓库根还发布 `.claude-plugin/plugin.json` 和 `.claude-plugin/marketplace.json`,用于 Claude Code `/plugin marketplace add codeshareman/zsk` 后按 profile 安装 `zsk-entry@zsk`、`zsk-lite@zsk`、`zsk-sdlc@zsk`、`zsk-frontend@zsk` 或 `zsk-enterprise@zsk`;`zsk@zsk` 保留为全量兼容入口。根级 `skills/.curated/` 同时兼容 `npx skills add codeshareman/zsk`。
|
|
107
109
|
|
|
108
110
|
## 和项目知识工作区的关系
|
|
109
111
|
|
|
@@ -119,8 +121,8 @@ Skills 负责更需要判断的部分:理解已同步的 SRS、PRD、API 契
|
|
|
119
121
|
|
|
120
122
|
| 领域 | skill 数 | 职责 |
|
|
121
123
|
| ----------------- | -------- | ------------------------------------------ |
|
|
122
|
-
| `skills/` |
|
|
123
|
-
| **总计** | **
|
|
124
|
+
| `skills/` | 26 | harness-first 默认工作流入口与可选诊断能力 |
|
|
125
|
+
| **总计** | **26** | |
|
|
124
126
|
|
|
125
127
|
## 安装套件(bundles.yaml)
|
|
126
128
|
|
|
@@ -136,21 +138,21 @@ Skills 负责更需要判断的部分:理解已同步的 SRS、PRD、API 契
|
|
|
136
138
|
| `frontend-with-design-handoff` | 24 | 旧入口兼容;推荐改用 `zsk-frontend` |
|
|
137
139
|
| `custom` | 交互 | 通过 `zsk add` 任意多选 |
|
|
138
140
|
|
|
139
|
-
<!-- Auto-generated by tools/catalog.ts — do not edit manually. Total:
|
|
141
|
+
<!-- Auto-generated by tools/catalog.ts — do not edit manually. Total: 26 skills -->
|
|
140
142
|
|
|
141
143
|
## Skill 清单(core skills)
|
|
142
144
|
|
|
143
|
-
> 内容由 `tools/catalog.ts` 从 `packages/skills
|
|
145
|
+
> 内容由 `tools/catalog.ts` 从 `packages/skills/<public-name>/SKILL.md` frontmatter 生成;`zsk` / `zskplan` 为裸入口,其它 skill 使用 `zsk-<slug>`。重生成:`pnpm catalog`。
|
|
144
146
|
> 默认 profile bundles 只安装 entry 和保留的一等 stage;capability / gate / mode 由 `zskplan` / `zsk` 内部调度或通过 custom/legacy 明确安装。Legacy aliases 仍保留 24 个 skill 以兼容旧安装。
|
|
145
147
|
|
|
146
148
|
### Entry Skills (2)
|
|
147
149
|
|
|
148
150
|
用户默认只需要理解的入口。
|
|
149
151
|
|
|
150
|
-
- **`
|
|
152
|
+
- **`zskplan`** · type: workflow · keep-entry
|
|
151
153
|
Use as the ZSK-aware RalphPlan-style planning entrypoint that clarifies vague intake, then freezes scope, module decomposition, skill route, expert lanes, Playwright/evidence paths, and stop conditions under .zsk.
|
|
152
154
|
|
|
153
|
-
- **`zsk
|
|
155
|
+
- **`zsk`** · type: workflow · keep-entry
|
|
154
156
|
Use as the ZSK-aware Ralph-style execution loop that follows ZSK plans, dispatches expert lanes, verifies, fixes, and writes only .zsk outputs.
|
|
155
157
|
|
|
156
158
|
### Stage Skills (11)
|
|
@@ -190,7 +192,7 @@ Skills 负责更需要判断的部分:理解已同步的 SRS、PRD、API 契
|
|
|
190
192
|
- **`zsk-archive`** · type: capability · keep-stage
|
|
191
193
|
After acceptance, closes the iteration by preserving artifacts, decisions, issues, and learning proposals.
|
|
192
194
|
|
|
193
|
-
### Capabilities (
|
|
195
|
+
### Capabilities (7)
|
|
194
196
|
|
|
195
197
|
可被多个阶段复用的内部能力;默认由入口或阶段调度。
|
|
196
198
|
|
|
@@ -212,7 +214,10 @@ Skills 负责更需要判断的部分:理解已同步的 SRS、PRD、API 契
|
|
|
212
214
|
- **`zsk-issue`** · type: utility · keep-capability
|
|
213
215
|
Tracks defects, blockers, questions, and risks with taxonomy, severity, owner, reproduction, and evidence.
|
|
214
216
|
|
|
215
|
-
|
|
217
|
+
- **`zsk-health`** · type: capability · keep-capability
|
|
218
|
+
Use when auditing ZSK agent, skill, workflow, harness, and installation health to find coupling, token waste, trigger overlap, stale generated surfaces, and output-quality gaps without owning product delivery.
|
|
219
|
+
|
|
220
|
+
### Gates (4)
|
|
216
221
|
|
|
217
222
|
阶段内部的质量检查点或发布检查点。
|
|
218
223
|
|
|
@@ -225,6 +230,9 @@ Skills 负责更需要判断的部分:理解已同步的 SRS、PRD、API 契
|
|
|
225
230
|
- **`zsk-ready`** · type: capability · downshift-to-gate
|
|
226
231
|
Before independent verification, prepares a handoff with issue mappings, evidence, version, and regression notes.
|
|
227
232
|
|
|
233
|
+
- **`zsk-check`** · type: capability · downshift-to-gate
|
|
234
|
+
Before commit, push, release, or handoff, runs a lightweight readiness preflight over local changes and reports evidence, risks, and a clear ready/not-ready verdict without owning workflow gates.
|
|
235
|
+
|
|
228
236
|
### Modes (2)
|
|
229
237
|
|
|
230
238
|
入口或阶段内部的执行模式。
|
package/package.json
CHANGED
package/{zsk-zsk → zsk}/SKILL.md
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: zsk
|
|
2
|
+
name: zsk
|
|
3
3
|
description: Use as the ZSK-aware Ralph-style execution loop that follows ZSK
|
|
4
4
|
plans, dispatches expert lanes, verifies, fixes, and writes only .zsk outputs.
|
|
5
5
|
kind: workflow
|
|
@@ -23,7 +23,7 @@ useWhen:
|
|
|
23
23
|
- "Use when the workflow is ready for this responsibility: Use as the
|
|
24
24
|
ZSK-aware Ralph-style execution loop that follows ZSK plans, dispatches
|
|
25
25
|
expert lanes, verifies, fixes, and writes only .zsk outputs."
|
|
26
|
-
- Use when the user invokes zsk
|
|
26
|
+
- Use when the user invokes zsk or asks for zsk workflow outputs after
|
|
27
27
|
prerequisites are present.
|
|
28
28
|
doNotUseWhen:
|
|
29
29
|
- Do not use when required inputs, prior-stage evidence, or configured sources
|
|
@@ -31,12 +31,12 @@ doNotUseWhen:
|
|
|
31
31
|
- Do not use to bypass stage gates, perform another skill's responsibility, or
|
|
32
32
|
make unsupported completion claims.
|
|
33
33
|
positiveExamples:
|
|
34
|
-
- Run zsk
|
|
34
|
+
- Run zsk with the required inputs and produce the documented zsk workflow
|
|
35
35
|
artifacts.
|
|
36
36
|
- Continue the workflow at zsk workflow after the prerequisite evidence and
|
|
37
37
|
blockers are resolved.
|
|
38
38
|
negativeExamples:
|
|
39
|
-
- Use zsk
|
|
39
|
+
- Use zsk to skip missing prerequisites or hide unresolved blockers.
|
|
40
40
|
- Run zsk workflow for generic chat, unrelated implementation, or another ZSK
|
|
41
41
|
stage's work.
|
|
42
42
|
---
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# ZSK Skill Policy Contract
|
|
2
|
+
|
|
3
|
+
This compact policy is the default single-skill contract. It keeps direct skill runs lightweight; full harness resources are loaded only by a process-level flow, strict profile, or explicit local instruction.
|
|
4
|
+
|
|
5
|
+
When a `harness/` directory is installed beside this file:
|
|
6
|
+
|
|
7
|
+
- Read `harness/POLICY.md` as the default local policy.
|
|
8
|
+
- Load `harness/THIS_SKILL.md`, `harness/workflow/skill-io-contract.yaml`, or `harness/constraints/*` only when a process-level flow, strict profile, or local instruction explicitly requires full contract enforcement.
|
|
9
|
+
|
|
10
|
+
Execution discipline:
|
|
11
|
+
|
|
12
|
+
- Follow the active repository `AGENTS.md` and any nearer project instructions first.
|
|
13
|
+
- Load the smallest context needed to make a correct decision; prefer local source, existing artifacts, and focused reads over broad contract loading.
|
|
14
|
+
- Produce verifiable outputs: do not claim PASS, DONE, READY, or completion without linked evidence from commands, artifacts, issue state, scenarios, or accepted human decisions.
|
|
15
|
+
- Stay inside this skill's responsibility; do not redefine upstream artifacts or approve downstream work on another skill's behalf.
|
|
16
|
+
- Do not route, sequence, or invoke peer skills from a single-skill run unless the user explicitly asked for a workflow.
|
|
17
|
+
- Treat required inputs as mode-specific: direct single-skill targets may block when missing, while workflow-only gates, signoffs, peer-skill artifacts, validation packets, and anchors are optional context unless a process-level flow, strict profile, or explicit local instruction declares them required.
|
|
18
|
+
- If an actually required input is missing, stale, contradictory, or outside this skill's remit, report BLOCKED or NEEDS_CLARIFICATION with owner, impact, and next action instead of guessing.
|
|
19
|
+
- Path privacy: do not write personal home-directory absolute paths such as `/Users/<name>/...`, `/home/<name>/...`, `C:\Users\<name>\...`, or `/private/var/...` into reusable project docs; use repo-relative, `.zsk/...`, `$HOME/...`, or `<workspace>/...` references instead.
|
|
20
|
+
- Context recording: durable terminology, naming, decomposition, and load-bearing clarification decisions must update the nearest Context Record target, or the handoff must record `Context update: N/A` with rationale.
|
|
21
|
+
- Record durable project/module language in `.zsk/modules/{module}/CONTEXT.md` or `.zsk/CONTEXT.md` before relying on it downstream.
|
|
22
|
+
- Learning authority: learning proposals must target the canonical ZSK source repo `.zsk/learning/proposals/`; consuming projects keep experience in archives, docs feedback, or issues and must not create `.zsk/learning/`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Evidence Rules
|
|
2
|
+
|
|
3
|
+
Every pass/fail claim must link to evidence.
|
|
4
|
+
|
|
5
|
+
Accepted evidence types:
|
|
6
|
+
|
|
7
|
+
- document section
|
|
8
|
+
- test output
|
|
9
|
+
- lint/typecheck/build output
|
|
10
|
+
- screenshot
|
|
11
|
+
- Playwright trace
|
|
12
|
+
- UI observation note from Computer Use, Playwright MCP/ARIA/CDP, compatible Browser Use, or documented manual evidence
|
|
13
|
+
- network log
|
|
14
|
+
- console log
|
|
15
|
+
- deploy URL
|
|
16
|
+
- issue record
|
|
17
|
+
- sign-off record
|
|
18
|
+
|
|
19
|
+
Demo evidence produced by manual execution, Playwright, Computer Use, Playwright MCP/ARIA/CDP, or compatible Browser Use must be normalized into the same report and issue taxonomy.
|
|
20
|
+
|
|
21
|
+
## Test Evidence Discipline
|
|
22
|
+
|
|
23
|
+
- TDD is the default for behavior changes: write or update the smallest accurate failing test/scenario before implementation when a testable contract exists.
|
|
24
|
+
- Test cases must match the requirement, function point, scenario, and expected behavior from PRD/SRS, spec/design, task, accepted issue, or user clarification.
|
|
25
|
+
- Do not write tests from guesses, convenient implementation details, brittle selectors, or generic best-practice expectations that are not in the facts.
|
|
26
|
+
- Before using a test as evidence, verify that it fails for the right reason before the fix when practical, and passes for the intended reason after the fix.
|
|
27
|
+
- Every generated or updated test should link to its source requirement, scenario contract, issue, or design/spec row.
|
|
28
|
+
|
|
29
|
+
## Traceability Discipline
|
|
30
|
+
|
|
31
|
+
- Important requirements and function points should carry a visible chain: source requirement -> spec/design contract -> task -> test/scenario -> evidence -> issue/acceptance status.
|
|
32
|
+
- If a chain is incomplete, mark the missing link and its impact instead of presenting the output as complete.
|
|
33
|
+
- Review, verify, and acceptance should check traceability before approving the next stage.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Filesystem Boundaries
|
|
2
|
+
|
|
3
|
+
Default project paths:
|
|
4
|
+
|
|
5
|
+
- `.zsk/`: the only default ZSK-managed workspace root.
|
|
6
|
+
- `.zsk/CONTEXT.md`: canonical project-wide Context Record for cross-module terminology, naming decisions, decomposition rationale, and accepted clarifications.
|
|
7
|
+
- `.zsk/docs/`: project-level docs such as `SYSTEM-SPEC.md` and `PROJECT-CONFIG.md`; `.zsk/docs/CONTEXT.md` is deprecated compatibility output only, not a canonical write target.
|
|
8
|
+
- `.zsk/modules/{module}/`: module config and stage artifacts.
|
|
9
|
+
- `.zsk/modules/{module}/CONTEXT.md`: module-local domain language, naming decisions, decomposition rationale, and accepted clarifications that later stages must reuse.
|
|
10
|
+
- `.zsk/raws/`: raw external source snapshots, manifests, imported test cases, market/product research sources, and design/API assets.
|
|
11
|
+
- `.zsk/raws/prepare/**`: reusable source lanes. `preproposal` may add generated or candidate intake clarity, product, roadmap, UX, and design-source readiness resources here only when they are labeled with provenance, review checkpoint status, assumptions, and blockers.
|
|
12
|
+
- `.zsk/evidence/preproposal/{run}/`: checkpoint review evidence for product direction, roadmap/decomposition, UX/design-readiness, and final readiness before formal proposal.
|
|
13
|
+
- `.zsk/modules/{module}/_issues/`: module-private managed issue records and indexes, created on demand.
|
|
14
|
+
- `.zsk/modules/{module}/_evidence/`: module-private reusable runtime or research evidence, created on demand.
|
|
15
|
+
- `.zsk/modules/{module}/_playwright/`: module-specific Playwright specs, test plans, auth state, execution records, reports, and results, created on demand.
|
|
16
|
+
- `.zsk/issues/`, `.zsk/evidence/`, `.zsk/playwright/`: shared/global artifacts only, created on demand when the asset is intentionally cross-module.
|
|
17
|
+
- `.zsk/learning/proposals/`: ZSK core learning proposal path. This path belongs in the canonical ZSK source checkout, not in consuming business/product projects.
|
|
18
|
+
- `.zsk/plans/`: ZSK plan artifacts, created lazily only when `zskplan` or `zsk` freezes an executable route.
|
|
19
|
+
- `skills/{slug}/`: zsk source skill directories.
|
|
20
|
+
- `harness/`: zsk source governance contracts.
|
|
21
|
+
|
|
22
|
+
Root `docs/`, `.raws/`, `.issues/`, `.playwright/`, and `plans/` are not default write targets for ZSK skills. Use explicit export, promote, import, or migration commands when project-facing root documentation is needed.
|
|
23
|
+
|
|
24
|
+
## Context Recording Authority
|
|
25
|
+
|
|
26
|
+
Every durable terminology, naming, decomposition, or load-bearing clarification
|
|
27
|
+
created during a Clarification Loop, artifact clarity pass, architecture review,
|
|
28
|
+
stage repair, or task decomposition must be recorded in the nearest
|
|
29
|
+
`CONTEXT.md`.
|
|
30
|
+
|
|
31
|
+
- Module-local terms and decisions go to `.zsk/modules/{module}/CONTEXT.md`.
|
|
32
|
+
- Cross-module or project-wide terms go to `.zsk/CONTEXT.md`.
|
|
33
|
+
- `.zsk/docs/CONTEXT.md` may exist only as a deprecated mirror or migration compatibility path; do not write it as the canonical Context Record.
|
|
34
|
+
- ZSK core terms go to the source repo `CONTEXT.md`.
|
|
35
|
+
- If no update is needed, the stage handoff records a no-update rationale.
|
|
36
|
+
- Do not use `CONTEXT.md` for transient notes, raw evidence, task execution
|
|
37
|
+
logs, or unresolved speculation; record those in the owning artifact, issue,
|
|
38
|
+
evidence directory, or learning proposal.
|
|
39
|
+
|
|
40
|
+
## Path Privacy And Portability
|
|
41
|
+
|
|
42
|
+
Project-facing ZSK artifacts must stay portable across machines and reviewers.
|
|
43
|
+
|
|
44
|
+
- Use workspace-relative or repo-relative paths such as `.zsk/modules/{module}/design.md`, `src/components/...`, or configured `sourceRefs` in stage artifacts, Context Records, handoffs, archives, issues, and evidence summaries.
|
|
45
|
+
- Do not write personal home-directory absolute paths such as `/Users/<name>/...`, `/home/<name>/...`, `C:\Users\<name>\...`, or `/private/var/...` into reusable project docs, especially proposal, spec, design, tasks, Context Records, and handoffs.
|
|
46
|
+
- If an absolute local path is unavoidable for raw acquisition provenance, keep it inside raw/evidence metadata and also provide a portable alias such as `<workspace>/...`, `$HOME/...`, `.zsk/...`, or a repo-relative path.
|
|
47
|
+
- Before finalizing or handing off a design/spec/task document, replace local machine paths with portable references and keep user names out of copied path strings unless the user explicitly requires audit provenance.
|
|
48
|
+
|
|
49
|
+
## Learning Output Authority
|
|
50
|
+
|
|
51
|
+
Learning artifacts must be written according to what they are meant to change:
|
|
52
|
+
|
|
53
|
+
- Project-specific delivery experience stays in the current project as module archives, `.zsk/docs/SYSTEM-SPEC.md` feedback, module `_issues`, or shared/global/public issue buckets.
|
|
54
|
+
- Learning proposals always belong to the canonical ZSK source checkout: `<zsk-core>/.zsk/learning/proposals/`.
|
|
55
|
+
- Consuming business/product projects must not create `.zsk/learning/` or `.zsk/learning/proposals/` for learn/archive output.
|
|
56
|
+
- 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/`.
|
|
57
|
+
- If no canonical ZSK source checkout is available or writable, do not create a substitute learning proposal in the consuming project. Record `BLOCKED` with the missing root, intended proposal title, source evidence, and next action.
|
|
58
|
+
- `zsk init` must not create `.zsk/learning/`; in non-ZSK projects the learn directory remains absent.
|
|
59
|
+
|
|
60
|
+
## Scope Routing Rule
|
|
61
|
+
|
|
62
|
+
Before any skill writes an artifact, classify its scope:
|
|
63
|
+
|
|
64
|
+
| Scope | Meaning | Default target |
|
|
65
|
+
| --- | --- | --- |
|
|
66
|
+
| module-final | Formal stage output for one module | `.zsk/modules/{module}/` |
|
|
67
|
+
| module-private | Working, runtime, evidence, issue, or generated artifact for one module | `.zsk/modules/{module}/_{kind}/` |
|
|
68
|
+
| shared | Reused by multiple modules but not public-facing | `.zsk/{kind}/shared/` or the configured shared root |
|
|
69
|
+
| global | Project-wide artifact with no owning module | `.zsk/{kind}/global/` or `.zsk/docs/` for formal docs |
|
|
70
|
+
| public | Intentionally publishable/exportable artifact | `.zsk/{kind}/public/` until explicitly exported |
|
|
71
|
+
|
|
72
|
+
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.
|
|
73
|
+
|
|
74
|
+
The skill that produces the final artifact for a module stage writes the formal report to `.zsk/modules/{module}/{stage}.md`. For large `proposal`, `spec`, `design`, or `tasks` artifacts, the skill may upgrade the stage artifact to `.zsk/modules/{module}/{stage}/index.md` and split child Markdown files under the same stage directory. The `index.md` file remains the review entrypoint, must link every child document included in the logical artifact, and must preserve the same stage contract; splitting content does not weaken required gates. Supporting artifacts stay in the appropriate `_issues`, `_evidence`, or `_playwright` directory unless they are deliberately shared/global/public.
|
|
75
|
+
|
|
76
|
+
`preproposal` is not a module-final stage. Its outputs are intake clarity and proposal-prep raw resources under `.zsk/raws/prepare/**` plus checkpoint evidence under `.zsk/evidence/preproposal/{run}/`. When a target module is specified, use the module id as the default raw topic, for example `.zsk/raws/prepare/ux/{module}/interaction-handoff.md`, and record any narrower page/frame split rationale in the raw artifact. It must not create `.zsk/modules/{module}/proposal.md`, `spec.md`, `design.md`, or `tasks.md`; those remain owned by their formal stage skills.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Issue Taxonomy
|
|
2
|
+
|
|
3
|
+
`zsk:issue` is the cross-stage issue utility. Stage skills call it, but issue paths and fields are defined here.
|
|
4
|
+
|
|
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.
|
|
17
|
+
|
|
18
|
+
Indexes are part of the contract:
|
|
19
|
+
|
|
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.
|
|
22
|
+
- Creating or updating an issue must refresh both indexes.
|
|
23
|
+
|
|
24
|
+
## Types
|
|
25
|
+
|
|
26
|
+
| Type | Concrete Issue Directory | Prefix | Typical Source |
|
|
27
|
+
| --- | --- | --- | --- |
|
|
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 |
|
|
34
|
+
| Clarification Issue | `.zsk/modules/{module}/_issues/{prefix}-0001-slug/` | `CLAR` | Clarification Prelude |
|
|
35
|
+
|
|
36
|
+
Stage directories such as `.zsk/modules/{module}/_issues/demo/index.md` may exist as stage views or evidence buckets. They are not the authoritative status indexes.
|
|
37
|
+
|
|
38
|
+
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/`.
|
|
39
|
+
|
|
40
|
+
## Required Fields
|
|
41
|
+
|
|
42
|
+
- `id`
|
|
43
|
+
- `type`
|
|
44
|
+
- `severity`
|
|
45
|
+
- `severity_rationale`
|
|
46
|
+
- `status`
|
|
47
|
+
- `owner`
|
|
48
|
+
- `module`
|
|
49
|
+
- `stage`
|
|
50
|
+
- `environment`
|
|
51
|
+
- `related_artifacts`
|
|
52
|
+
- `steps`
|
|
53
|
+
- `expected`
|
|
54
|
+
- `actual`
|
|
55
|
+
- `evidence`
|
|
56
|
+
- `root_cause`
|
|
57
|
+
- `fix_route`
|
|
58
|
+
- `feedback_targets`
|
|
59
|
+
- `regression_guard`
|
|
60
|
+
- `confirmed_at` or `confirmation_required`
|
|
61
|
+
|
|
62
|
+
Clarification issues extend the common fields with:
|
|
63
|
+
|
|
64
|
+
- `owning_stage`
|
|
65
|
+
- `owning_skill`
|
|
66
|
+
- `question`
|
|
67
|
+
- `recommended_answer`
|
|
68
|
+
- `accepted_answer`
|
|
69
|
+
- `recommendation_delta`
|
|
70
|
+
- `impact_if_unconfirmed`
|
|
71
|
+
- `confirmation_required`
|
|
72
|
+
- `clarification_status`
|
|
73
|
+
- `updated_artifacts`
|
|
74
|
+
- `source_basis`
|
|
75
|
+
|
|
76
|
+
`recommended_answer` stores the recommendation exactly as shown to the user; do
|
|
77
|
+
not rewrite it after the user answers. `accepted_answer` stores the final
|
|
78
|
+
confirmed expression. If the accepted expression differs from the recommendation,
|
|
79
|
+
record `recommendation_delta` so downstream skills do not revert the user's
|
|
80
|
+
decision back to the recommendation.
|
|
81
|
+
|
|
82
|
+
Clarification status is a strict state machine:
|
|
83
|
+
|
|
84
|
+
- `pending_question`: one load-bearing question is ready to ask.
|
|
85
|
+
- `pending_expression`: the user answered and the skill must present or refine
|
|
86
|
+
`待写入确认表达:`.
|
|
87
|
+
- `confirmed`: the user accepted the expression, but it is not yet written into
|
|
88
|
+
the owning artifacts.
|
|
89
|
+
- `applied`: the expression was written into the `CLAR`, owning stage artifact,
|
|
90
|
+
and required `CONTEXT.md` target.
|
|
91
|
+
- `closed`: the smallest useful gate validation passed after application.
|
|
92
|
+
|
|
93
|
+
`confirmed` is not enough to continue downstream. Gate/dispatch may resume only
|
|
94
|
+
after the `CLAR` reaches `applied`, and closure requires linked validation
|
|
95
|
+
evidence.
|
|
96
|
+
|
|
97
|
+
## Severity
|
|
98
|
+
|
|
99
|
+
- `P0`: blocks core path, data safety, security, or test handoff.
|
|
100
|
+
- `P1`: core behavior wrong, limited workaround, key AC/API mismatch.
|
|
101
|
+
- `P2`: non-core path, edge state, visual, copy, or test inconvenience.
|
|
102
|
+
- `P3`: improvement, documentation gap, or follow-up suggestion.
|
|
103
|
+
|
|
104
|
+
## Intake Questions
|
|
105
|
+
|
|
106
|
+
When evidence is incomplete, ask for the smallest missing set:
|
|
107
|
+
|
|
108
|
+
1. Reproduction steps or triggering command.
|
|
109
|
+
2. Current behavior / actual result.
|
|
110
|
+
3. Expected behavior.
|
|
111
|
+
4. Environment: branch, version, URL, browser/device, data account, feature flags.
|
|
112
|
+
5. Severity and why it matters.
|
|
113
|
+
6. Evidence links: logs, screenshots, traces, HAR, test output, source references.
|
|
114
|
+
|
|
115
|
+
Do not ask for information already present in the failure output or artifacts.
|
|
116
|
+
|
|
117
|
+
## Root Cause And Feedback
|
|
118
|
+
|
|
119
|
+
Every actionable issue should record:
|
|
120
|
+
|
|
121
|
+
- suspected root cause and confidence;
|
|
122
|
+
- affected spec/design/task/implementation/test artifact;
|
|
123
|
+
- whether the fix needs Documentation Feedback in module docs;
|
|
124
|
+
- whether a durable ZSK learning proposal is needed under `<zsk-core>/.zsk/learning/proposals/`, or whether the finding should stay as project archive/docs feedback or an issue;
|
|
125
|
+
- regression guard: test, scenario, lint rule, checklist, or explicit waiver.
|
|
126
|
+
|
|
127
|
+
## Issue-Driven Fix Route
|
|
128
|
+
|
|
129
|
+
`fix` is the dedicated skill and route name for "persisted issue -> root cause -> minimal change -> regression guard -> verification handoff". It is not a shortcut around `coding`, `smoke`, `review`, `ready`, or `verify`.
|
|
130
|
+
|
|
131
|
+
Required fix-route ledger fields:
|
|
132
|
+
|
|
133
|
+
- issue path or id;
|
|
134
|
+
- reproduction/evidence basis;
|
|
135
|
+
- root-cause hypothesis and confidence;
|
|
136
|
+
- changed files or no-code rationale;
|
|
137
|
+
- regression guard or explicit blocker;
|
|
138
|
+
- documentation feedback target or no-update rationale;
|
|
139
|
+
- next verification route and evidence command.
|
|
140
|
+
|
|
141
|
+
Do not use `fix` for generic unanchored cleanup. If there is no persisted issue or accepted expected/actual clarification, create or update the issue first.
|
|
142
|
+
|
|
143
|
+
## Closure And Feedback Loop
|
|
144
|
+
|
|
145
|
+
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.
|
|
146
|
+
2. Fix and verify the issue with linked evidence.
|
|
147
|
+
3. Wait for user/product confirmation when the outcome changes behavior, business flow, or acceptance semantics.
|
|
148
|
+
4. After confirmation, update the relevant spec/design/task docs for anything the original artifacts did not cover or described too weakly.
|
|
149
|
+
5. Close the issue only after the issue record links the verification evidence, confirmation, documentation feedback update or no-update rationale, and regression guard.
|
|
150
|
+
6. Refresh the module index and global issue index after status changes.
|