@captain_z/zsk-skills 1.4.3 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +84 -224
  2. package/bundles.yaml +43 -76
  3. package/core/acceptance/SKILL.md +61 -0
  4. package/core/archive/SKILL.md +59 -0
  5. package/core/coding/SKILL.md +60 -0
  6. package/core/commit/SKILL.md +57 -0
  7. package/core/demo/SKILL.md +140 -0
  8. package/core/deploy/SKILL.md +58 -0
  9. package/core/design/SKILL.md +72 -0
  10. package/core/issue/SKILL.md +74 -0
  11. package/core/prepare-resources/SKILL.md +79 -0
  12. package/core/proposal/SKILL.md +60 -0
  13. package/core/ready-for-verify/SKILL.md +58 -0
  14. package/core/review/SKILL.md +207 -0
  15. package/core/self-test/SKILL.md +60 -0
  16. package/core/spec/SKILL.md +72 -0
  17. package/core/standard-dev-flow/SKILL.md +73 -0
  18. package/core/task/SKILL.md +79 -0
  19. package/core/test-issue/SKILL.md +62 -0
  20. package/core/verify/SKILL.md +61 -0
  21. package/package.json +3 -8
  22. package/design-handoff/design-system/SKILL.md +0 -124
  23. package/design-handoff/figma-generate-hifi/SKILL.md +0 -131
  24. package/design-handoff/figma-to-code/SKILL.md +0 -266
  25. package/design-handoff/ue-mcp/SKILL.md +0 -185
  26. package/design-handoff/ux-wireframe/SKILL.md +0 -129
  27. package/frontend/a11y-web/SKILL.md +0 -170
  28. package/frontend/api-contract-ts/SKILL.md +0 -276
  29. package/frontend/design-frontend/SKILL.md +0 -184
  30. package/frontend/dor-dod-frontend/SKILL.md +0 -115
  31. package/frontend/feature-tasks-frontend/SKILL.md +0 -247
  32. package/frontend/i18n/SKILL.md +0 -297
  33. package/frontend/nfr-web/SKILL.md +0 -259
  34. package/frontend/performance-web/SKILL.md +0 -300
  35. package/frontend/react-components/SKILL.md +0 -212
  36. package/frontend/react-naming/SKILL.md +0 -225
  37. package/frontend/review-frontend/SKILL.md +0 -127
  38. package/frontend/security-web/SKILL.md +0 -287
  39. package/frontend/spec-frontend/SKILL.md +0 -142
  40. package/frontend/styling-system/SKILL.md +0 -275
  41. package/frontend/testing-web/SKILL.md +0 -253
  42. package/frontend/typescript/SKILL.md +0 -220
  43. package/meta/philosophy/SKILL.md +0 -237
  44. package/quality/a11y-principles/SKILL.md +0 -156
  45. package/quality/code-hygiene/SKILL.md +0 -137
  46. package/quality/release/SKILL.md +0 -210
  47. package/quality/security-owasp/SKILL.md +0 -158
  48. package/quality/testing-pyramid/SKILL.md +0 -194
  49. package/sdlc/archive/SKILL.md +0 -268
  50. package/sdlc/bugfix/SKILL.md +0 -183
  51. package/sdlc/bugfix-tasks/SKILL.md +0 -233
  52. package/sdlc/coding/SKILL.md +0 -219
  53. package/sdlc/design/SKILL.md +0 -280
  54. package/sdlc/dor-dod/SKILL.md +0 -121
  55. package/sdlc/feature/SKILL.md +0 -183
  56. package/sdlc/proposal/SKILL.md +0 -272
  57. package/sdlc/refactor/SKILL.md +0 -222
  58. package/sdlc/refactor-tasks/SKILL.md +0 -266
  59. package/sdlc/reviewing/SKILL.md +0 -163
  60. package/sdlc/spec/SKILL.md +0 -300
  61. package/sdlc/standard-dev-flow/SKILL.md +0 -115
  62. package/sdlc/task/SKILL.md +0 -117
  63. package/sdlc/task-evidence/SKILL.md +0 -221
  64. package/sdlc/task-structure/SKILL.md +0 -154
  65. package/sdlc/task-tracking/SKILL.md +0 -214
  66. package/sdlc/verify/SKILL.md +0 -180
  67. package/system/adr/SKILL.md +0 -170
  68. package/system/agent-orchestration/SKILL.md +0 -115
  69. package/system/architecture/SKILL.md +0 -183
  70. package/system/glossary/SKILL.md +0 -142
  71. package/system/nfr-baseline/SKILL.md +0 -157
  72. package/system/project-constraints-template/SKILL.md +0 -242
package/README.md CHANGED
@@ -1,19 +1,21 @@
1
1
  # @captain_z/zsk-skills
2
2
 
3
- ZNorth Standard Kit 的内容包:**51 颗原子 skill**,按领域分簇组织,通过 `npx @captain_z/zsk add` 可安装到 Claude / Codex / Gemini 等多 harness。
3
+ ZNorth Standard Kit 的可安装 skill 内容包。安装面现在只保留从根级 `skills/` 生成的 **core harness-first skills**;旧 `.best-practices/` 不再批量生成 installable skills,只作为扁平参考资料。
4
+
5
+ 包内共有 **18 颗 installable skills**,全部来自根级 `skills/`。
4
6
 
5
7
  ## 合规审查(ARCHITECTURE §4.4 硬指标)
6
8
 
7
9
  | 检查项 | 结果 | 说明 |
8
10
  | ---------------------------------------------------------------------------------------- | ------- | ----------------------------------------------------- |
9
- | frontmatter 完整(`name` / `description` / `category` / `domain` / `tier` / `triggers`) | ✓ 51/51 | 结构化 lint 通过 |
10
- | `name` 以 `zsk:` 前缀,扁平 slug | ✓ 51/51 | 命名空间统一 |
11
- | `description` 使用直接陈述风格,触发词放入 `triggers` | ✓ 51/51 | 触发语义由 description + triggers 共同承担 |
12
- | `category` / `domain` / `tier` 枚举值合法 | ✓ 51/51 | stage/workflow/standard/resource/meta · core/optional |
13
- | `triggers` 数组非空 | ✓ 51/51 | 每颗至少 4 个关键词 |
11
+ | frontmatter 完整(`name` / `description` / `category` / `domain` / `tier` / `triggers`) | ✓ 18/18 | core root `skills/` 生成 |
12
+ | `name` 以 `zsk:` 前缀,扁平 slug | ✓ 18/18 | 安装面统一命名空间 |
13
+ | `description` 有触发语义 | ✓ 18/18 | core 使用 `Use when...` + triggers |
14
+ | `category` / `domain` / `tier` 枚举值合法 | ✓ 18/18 | stage/utility · core |
15
+ | `triggers` 数组非空 | ✓ 18/18 | 至少含 slug 和 `zsk:<slug>` |
14
16
  | 无硬编码项目名 / 技术栈(统一 `{{config.*}}` 占位符) | ✓ | harness-neutral |
15
- | `related:` 相对路径合法(build 已重写) | ✓ | 无孤儿引用 |
16
- | 单文件 ≤ 300 行 | ✓ 51/51 | `lint-frontmatter` 作为 error 强制 |
17
+ | `related:` 相对路径合法 | ✓ | core 不依赖参考层生成物 |
18
+ | 单文件 ≤ 300 行 | ✓ 18/18 | core 由 `lint:harness` 强制 |
17
19
 
18
20
  当前 `max-lines` 已由 `tools/lint-frontmatter.ts` 作为 error 强制;新增或修改 skill 不应超过 300 行。
19
21
 
@@ -21,265 +23,123 @@ ZNorth Standard Kit 的内容包:**51 颗原子 skill**,按领域分簇组
21
23
 
22
24
  zsk skill 是 LLM **按需自动触发**的资产:
23
25
 
24
- 1. **安装**:`npx @captain_z/zsk add` → bundle(或 custom 多选)+ 目标路径(`~/.claude/skills/` / `~/.codex/skills/` / 自定义)→ 落盘
26
+ 1. **安装**:`npx @captain_z/zsk add` → 选精简 bundle(或 custom 多选)+ 目标路径(`~/.claude/skills/` / `~/.codex/skills/` / 自定义)→ 落盘
25
27
  2. **自动发现**:LLM(Claude Code / Codex / Gemini CLI)会话启动时扫描 skill 目录,读取每份 `SKILL.md` 的 frontmatter
26
28
  3. **自动触发**:遇到匹配 `description` 或 `triggers` 的任务时,LLM 载入对应 SKILL.md 的完整内容
27
- 4. **手动触发**(可选):会话中显式说 "用 `zsk:spec`"、"走 `zsk:feature` 工作流",LLM 直接载入指定 skill
29
+ 4. **手动触发**(可选):会话中显式说 "用 `zsk:spec`"、"走 `zsk:standard-dev-flow` 工作流",LLM 直接载入指定 skill
28
30
 
29
31
  **典型消费路径**(production,安装后):
30
32
 
31
- - `~/.claude/skills/<domain>/<slug>/SKILL.md` — Claude Code
32
- - `~/.codex/skills/<domain>/<slug>/SKILL.md` — Codex
33
- - `@captain_z/zsk-skills/<domain>/<slug>/SKILL.md` — 通过 npm
33
+ - `~/.claude/skills/zsk-<slug>/SKILL.md` — Claude Code / flat target
34
+ - `~/.codex/skills/zsk-<slug>/SKILL.md` — Codex / flat target
35
+ - `./.claude-plugin/skills/<slug>/SKILL.md` + `commands/<slug>.md` Claude plugin local target
36
+ - `@captain_z/zsk-skills/core/<slug>/SKILL.md` — 通过 npm 读
37
+
38
+ 仓库根还发布 `.claude-plugin/plugin.json` 和 `.claude-plugin/marketplace.json`,用于 Claude Code `/plugin marketplace add codeshareman/zsk` + `/plugin install zsk@zsk`;根级 `skills/` 同时兼容 `npx skills add codeshareman/zsk`。
34
39
 
35
40
  ## 和项目知识工作区的关系
36
41
 
37
42
  `zsk init` 生成的 `.zsk/config.yaml`、`docs/SYSTEM-SPEC.md`、`.raws/`、`docs/` 和 `.issues/` 是默认项目上下文。CLI 负责创建最小骨架、使用 package-owned schema 校验、刷新 `{paths.raws}/manifest.json`,并通过 `zsk config check` / `zsk check` 做确定性校验。
38
43
 
39
- Skills 负责更需要判断的部分:理解 SRS、PRD、API 契约、Figma/Modao、测试资产和设计资产,发现模块边界,做跨事实源冲突分析,使用 Computer Use / Browser Use 验证运行时行为,并把问题写入配置的 issue 根。Skills 必须通过 `.zsk/config.yaml` 和 `docs/{module}/module.yaml` 解析路径,不能硬编码 `.raws`、`docs` 或 `.issues`。
44
+ Skills 负责更需要判断的部分:理解 SRS、PRD、API 契约、Figma/Modao、测试资产和设计资产,发现模块边界,做跨事实源冲突分析,优先用 Playwright CLI/MCP 验证运行时行为,仅在结构化自动化不足时使用 Browser Use / Computer Use,并把问题写入配置的 issue 根。Skills 必须通过 `.zsk/config.yaml` 和 `docs/{module}/module.yaml` 解析路径,不能硬编码 `.raws`、`docs` 或 `.issues`。
40
45
 
41
46
  每个阶段都要把确认过的决策、约束、例外和验证结果写回持久文件。缺少 Documentation Feedback 时,`zsk check` 可以把它作为阶段未收口的证据。
42
47
 
43
48
  ## 领域总览
44
49
 
50
+ 包内只保留默认可安装的 core 领域。Frontend、quality、design-handoff 等内容仍在 `.best-practices/`,按需读取,不进入默认安装面。
51
+
45
52
  | 领域 | skill 数 | 职责 |
46
53
  | ----------------- | -------- | ------------------------------------------ |
47
- | `sdlc/` | 18 | 7 阶段 SDLC + 3 变更工作流 + task 执行框架 |
48
- | `frontend/` | 16 | React + Web 层实现规范 |
49
- | `quality/` | 5 | 跨栈质量原则 |
50
- | `design-handoff/` | 5 | 设计交付方法论 |
51
- | `system/` | 6 | 工程宪法级资源 |
52
- | `meta/` | 1 | 元信息 |
53
- | **总计** | **51** | |
54
+ | `core/` | 18 | harness-first 默认工作流入口 |
55
+ | **总计** | **18** | |
54
56
 
55
57
  ## 安装套件(bundles.yaml)
56
58
 
57
59
  | name | skills | 场景 |
58
60
  | ------------------------------ | ------ | --------------------------------------------- |
59
- | `sdlc-only` | 11 | 纯流程骨架(7 阶段 + 3 工作流 + Agent 编排),不涉及技术栈 |
60
- | `frontend-project`(推荐) | 30 | SDLC 10 + Agent 编排 + Frontend 16 + Quality 3 |
61
- | `frontend-with-design-handoff` | 35 | frontend-project + 设计交付 5 |
61
+ | `sdlc-only` | 18 | 精简 core 生命周期 |
62
+ | `frontend-project`(推荐) | 18 | core;前端专项规则从 `.best-practices/` 按需读取 |
63
+ | `frontend-with-design-handoff` | 18 | 同 core;设计交付规则从 `.best-practices/` 按需读取 |
62
64
  | `custom` | 交互 | 通过 `zsk add` 任意多选 |
63
65
 
64
- <!-- Auto-generated by tools/catalog.ts — do not edit manually. Total: 51 skills -->
65
-
66
- ## Skill 清单(按领域)
67
-
68
- > 内容由 `tools/catalog.ts` 从各 SKILL.md frontmatter 生成。重生成:`pnpm catalog`。
69
-
70
- ### `sdlc/` — SDLC · 7 阶段 + 3 变更工作流 + task 框架 (18)
71
-
72
- - **`zsk:proposal`** *[stage 1 · stage · core]*
73
- New-change framing (feature / bugfix / refactor) before spec work — why, success criteria, out-of-scope boundary, alternatives considered, and risks. Always the first stage of the 7-stage SDLC.
74
- 触发:`new feature proposal` · `bug report` · `refactor trigger` · `SMART goals`
75
-
76
- - **`zsk:spec`** *[stage 2 · stage · core]*
77
- Behavioral contract writing after proposal approval — scope, numbered functional and non-functional requirements, scenarios, acceptance criteria, edge cases, and impact boundaries. Stage 2 of the 7-stage SDLC.
78
- 触发:`writing spec` · `behavior contract` · `acceptance criteria` · `numbered requirements`
79
-
80
- - **`zsk:design`** *[stage 3 · stage · core]*
81
- Solution design after spec freeze — current-state scan, architectural decisions, implementation mapping, delivery slices, risks, rollback, and observability. Stage 3 of the 7-stage SDLC.
82
- 触发:`technical design` · `solution design` · `architecture decision` · `current state scan`
83
-
84
- - **`zsk:coding`** *[stage 4 · stage · core]*
85
- Implementation execution after design freeze — smallest viable change, auditable delivery batches, explicit TDD rules by change type, continuous evidence capture, and local quality gates before review. Stage 4 of the 7-stage SDLC.
86
- 触发:`implementing design` · `auditable delivery batches` · `local quality gates` · `smallest viable change`
87
-
88
- - **`zsk:reviewing`** *[stage 5 · stage · core]*
89
- PR 代码审查与 AI 多维审查核心规范。包含 Scope 偏移检测、多视角 Sub-Agent 审查、测试执行流分析、代码整洁/重构纪律、置信度校准以及按严重性排序的判定协议。
90
- 触发:`code review` · `PR review` · `审查合并请求` · `review this PR`
91
-
92
- - **`zsk:verify`** *[stage 6 · stage · core]*
93
- Acceptance verification before merge — independent contract check, FR/NFR coverage, AC evidence, gate records, and verdict with reproducible proof. Stage 6 of the 7-stage SDLC.
94
- 触发:`acceptance verification` · `evidence before assertion` · `FR coverage matrix` · `AC evidence`
95
-
96
- - **`zsk:archive`** *[stage 7 · stage · core]*
97
- Iteration closing / archive — move historical snapshots to docs/{module}/archive/, write postmortem (P0/P1 mandatory), update changelog (SemVer + Keep a Changelog), flush ADRs, update SYSTEM-SPEC if cross-module constraints emerged, feed back to standards/system docs. Stage 7 of the 7-stage SDLC.
98
- 触发:`archive iteration` · `postmortem` · `changelog` · `ADR flush`
99
-
100
- - **`zsk:bugfix-tasks`** *[core]*
101
- Bugfix task template with TDD enforcement — Step 1 Red (write failing reproduction test), Step 2 Green (minimal fix, no opportunistic refactor), Step 3 Regression (adjacent scenarios), Step 4 Evidence (before/after reproduction). Requires Superpowers' 3 confidence questions before starting.
102
- 触发:`bugfix task template` · `TDD bug fix` · `red green regression` · `bug confidence questions`
103
-
104
- - **`zsk:dor-dod`** *[core]*
105
- DoR/DoD gates between SDLC stages — generic DoR/DoD for all change types; frontend-specific rows (UE matrix / ue-mcp / 三语 i18n / 视觉回归 / axe) are in zsk:dor-dod-frontend.
106
- 触发:`definition of ready` · `definition of done` · `DoR DoD` · `task gate`
107
-
108
- - **`zsk:refactor-tasks`** *[core]*
109
- Refactor task template (characterization + small-step atomic) — Step 1 capture behavior baseline, Step 2 apply one Fowler technique per atomic commit (revert on red), Step 3 Parallel Change for large refactors (Expand → Migrate → Contract), Step 4 prepare behavior-unchanged evidence.
110
- 触发:`refactor task template` · `characterization baseline` · `Fowler techniques` · `Parallel Change tasks`
111
-
112
- - **`zsk:task`** *[core]*
113
- Cross-stage task execution mindset — what a task is, how it threads spec → verify, which template to pick by change type, cross-stage hard principles. Not for writing a specific task; use zsk:task-structure for that.
114
- 触发:`task framework` · `task execution overview` · `cross-stage tasks` · `which task template`
115
-
116
- - **`zsk:task-evidence`** *[core]*
117
- Task verification evidence discipline — FR coverage matrix (every FR/NFR from spec has coverage task + acceptance evidence), AC checklist with reproducible links, validation records per gate (lint/type-check/test/security/etc.). Enforces "evidence before assertion" — links must be clickable and reproducible.
118
- 触发:`FR coverage matrix` · `AC verification` · `validation record` · `evidence links`
119
-
120
- - **`zsk:task-structure`** *[core]*
121
- tasks.md authoring discipline — task granularity (0.5-2 person-days), two-level structure (parent/child, no deeper), estimation unit (T-shirt or Fibonacci), required fields per task (status/owner/covers-FR/deliverable/verification), FR coverage numbering rules.
122
- 触发:`task granularity` · `task estimation` · `T-shirt sizing` · `story points`
123
-
124
- - **`zsk:task-tracking`** *[core]*
125
- Task execution tracking — dependencies (Mermaid graph), blockers (dated log with severity H/M/L and escalation rules), milestones, auditable LLM execution batches, and task state transitions (TODO → DOING → DONE, with BLOCKED requiring log entry).
126
- 触发:`task dependency graph` · `blocker log` · `milestones` · `task state flow`
127
-
128
- - **`zsk:bugfix`** *[workflow · core]*
129
- Bugfix end-to-end orchestration — triage → reproduce → RCA (5 Whys with confidence questions) → TDD fix (red first) → regression coverage → postmortem (P0/P1 mandatory). Enforces Superpowers' bug confidence questioning discipline.
130
- 触发:`bug fix workflow` · `fix defect` · `RCA` · `5 whys`
131
-
132
- - **`zsk:feature`** *[workflow · core]*
133
- Feature end-to-end orchestration across 7 SDLC stages — brainstorming → writing-plans → plan-eng-review → executing-plans+TDD → requesting/receiving-code-review → verification-before-completion → finishing-a-development-branch.
134
- 触发:`new feature workflow` · `feature end to end` · `start feature` · `feature stages`
135
-
136
- - **`zsk:refactor`** *[workflow · core]*
137
- Behavior-preserving refactor discipline — Fowler catalog, characterization tests as baseline, small atomic commits, Parallel Change / Strangler Fig for large refactors. Enforces "behavior preserved" as a hard contract (any behavior change means it is not a refactor).
138
- 触发:`refactor workflow` · `Fowler refactoring` · `characterization test` · `Parallel Change`
139
-
140
- - **`zsk:standard-dev-flow`** *[workflow · core]*
141
- 交互式标准开发工作流,包含 Prepare 预检 + 7 阶段 SDLC(Proposal, Spec, Design, Coding, Reviewing, Verify, Archive)。通过强门禁、可审计批次和多视角审查,保障高质量开发落地。
142
- 触发:`standard dev flow` · `start a new feature workflow` · `execute enterprise workflow` · `7 stage development`
143
-
144
- ### `frontend/` — Frontend · React + Web 层实现规范 (16)
145
-
146
- - **`zsk:spec-frontend`** *[stage 2 · stage · optional]*
147
- Frontend component/page spec.md authoring — adds Component Public Contract (Props / Events / TS types), UE state matrix with a11y attributes, UE/MCP reference, and the 6-category Frontend NFR (performance / a11y / security / i18n / compat / observability). Extends the generic zsk:spec framework.
148
- 触发:`frontend spec` · `Component Public Contract` · `Props Event Contract` · `UE state matrix`
149
-
150
- - **`zsk:design-frontend`** *[stage 3 · stage · optional]*
151
- Frontend module design.md authoring — adds Props/state/event implementation mapping, UE-state-to-structure mapping, Figma-to-implementation mapping, performance budget (Core Web Vitals), ErrorBoundary placement. Extends the generic zsk:design framework.
152
- 触发:`frontend design` · `Props implementation mapping` · `UE state to structure` · `Figma to implementation`
153
-
154
- - **`zsk:review-frontend`** *[stage 5 · stage · optional]*
155
- Frontend PR code review — frontend-specific self-checklist and reviewer checklist covering TypeScript red lines (no any / @ts-ignore), React hooks rules, dangerouslySetInnerHTML, large-list performance hazards, visual regression, i18n three-language sync, jsx-a11y. Extends zsk:reviewing generic checklist.
156
- 触发:`frontend code review` · `React review checklist` · `TypeScript red lines` · `hooks review`
157
-
158
- - **`zsk:dor-dod-frontend`** *[optional]*
159
- Frontend-specific DoR/DoD for SDLC stage transitions — frontend-specific rows on top of the generic checklist. Covers UE state matrix completeness, ue-mcp.md registration, visual regression, three-language i18n sync, a11y (keyboard/aria/focus), frontend NFR (CWV) evidence.
160
- 触发:`frontend DoR DoD` · `frontend definition of ready done` · `UE matrix gate` · `visual regression gate`
161
-
162
- - **`zsk:feature-tasks-frontend`** *[optional]*
163
- Frontend component/page feature task template — 7-category mandatory (事实源对齐 / Props 契约 / UE-MCP 刷新 / UE 状态 / 测试 / 视觉回归 / 质量门禁). Enforces TDD-first, contract-driven, evidence-before-assertion.
164
- 触发:`frontend feature tasks` · `component tasks template` · `7 category tasks` · `Props UE state visual regression`
165
-
166
- - **`zsk:nfr-web`** *[optional]*
167
- Web-side NFR thresholds for the 7-category framework — Core Web Vitals (LCP/INP/CLS/TTFB/TTI targets), WCAG 2.1 AA itemized rules, Web security NFR items, i18n language list + baseline + entry + RTL, browser/OS/device compatibility matrix, responsive breakpoints, observability (web-vitals + error reporting), reliability (ErrorBoundary + timeout + retry). Inherits system/nfr-baseline; modules declare deviations only.
168
- 触发:`Web NFR` · `CWV thresholds` · `WCAG AA rules` · `browser matrix`
169
-
170
- - **`zsk:a11y-web`** *[standard · optional]*
171
- React/JSX accessibility implementation — label association (htmlFor/wrap), aria props usage, Modal focus trap (inert + initialFocus + restoreFocus), dialog role, live regions for async, skip link, axe-core + jsx-a11y toolchain, keyboard event handlers, prefers-reduced-motion. Implementation layer; principles (WCAG, POUR, contrast) live in quality/a11y-principles.
172
- 触发:`jsx a11y` · `focus trap` · `Modal accessibility` · `axe-core`
173
-
174
- - **`zsk:api-contract-ts`** *[standard · optional]*
175
- TypeScript frontend × backend API contract — never hand-write API types, always consume from the shared types package or generated codegen. Covers source-of-truth pattern (backend-owned types), codegen workflows (OpenAPI / GraphQL / tRPC / Protobuf), breaking-change handling, version discipline, runtime validation (Zod at boundary), and service-layer shape. Pairs with typescript.md red lines.
176
- 触发:`API type sync` · `do not hand-write API types` · `OpenAPI codegen` · `GraphQL codegen`
177
-
178
- - **`zsk:i18n`** *[standard · optional]*
179
- Frontend module i18n implementation — unified entry (i18n.t with mandatory fallback), key namespace structure (namespace.module.leaf_key), three-language sync rule (commit-atomic), ICU MessageFormat for plural/select, Intl.* for date/number/currency, RTL declaration, React Trans component for JSX interpolation. Replaces standards/i18n for frontend scope.
180
- 触发:`i18n implementation` · `key namespace` · `fallback baseline` · `ICU plural`
181
-
182
- - **`zsk:performance-web`** *[standard · optional]*
183
- React / Web frontend performance for Core Web Vitals — CWV thresholds (LCP/INP/CLS/TTFB/TTI), React memoization discipline (when to memo vs not), virtualization for lists ≥ 200, lazy loading via React.lazy + Suspense + IntersectionObserver, bundle splitting + tree-shaking, image srcset + loading="lazy", debounce/throttle, re-render diagnosis with React DevTools Profiler. Implementation layer; budget framework in system/nfr-baseline + frontend/nfr-web.
184
- 触发:`Core Web Vitals` · `LCP INP CLS` · `React memo` · `virtual scrolling`
185
-
186
- - **`zsk:react-components`** *[standard · optional]*
187
- React component API design — layering (UI/logic separation via hooks), composition vs configuration (compound components over flat-prop explosion), granularity (5-question checklist), controlled vs uncontrolled boundary, Props API design. React-specific implementation of generic component discipline.
188
- 触发:`React component design` · `compound components` · `component granularity` · `controlled uncontrolled`
189
-
190
- - **`zsk:react-naming`** *[standard · optional]*
191
- React + TypeScript naming conventions — components, files, folders, variables, booleans, event handlers, event props, hooks, TS types/interfaces, constants, and i18n keys. Principles transfer to Vue/Svelte with syntax adjustments.
192
- 触发:`React naming` · `component file naming` · `event handler naming` · `boolean naming`
193
-
194
- - **`zsk:security-web`** *[standard · optional]*
195
- Web frontend security — XSS (React default escape + dangerouslySetInnerHTML red line + DOMPurify exception), URL protocol whitelist, Storage red lines (no sensitive data in Local/SessionStorage), CSRF token integration, console log scrubbing for production, CSP meta/header consumption, SRI for third-party scripts, clickjacking (frame-ancestors awareness), postMessage origin checks. Frontend UI is the convenience defense; backend is final.
196
- 触发:`dangerouslySetInnerHTML` · `XSS React` · `DOMPurify` · `LocalStorage sensitive`
197
-
198
- - **`zsk:styling-system`** *[standard · optional]*
199
- Frontend styling system discipline — scheme detection, naming conventions, nesting depth (≤3 layers), token usage rules (no hardcoded color/spacing), scope isolation, responsive breakpoints, and !important prohibition across Less / Sass / CSS Modules / Tailwind / CSS-in-JS.
200
- 触发:`CSS scheme detection` · `BEM naming` · `Less nesting` · `design token`
201
-
202
- - **`zsk:testing-web`** *[standard · optional]*
203
- Frontend tests for React codebases — full toolchain (Jest/Vitest + React Testing Library + renderHook + user-event + MSW + Playwright + Chromatic + jest-axe), test structure (AAA/GWT), mock strategy (MSW for HTTP, manual for modules), coverage thresholds (new code / global), and the component test template. Implementation layer; cross-stack principles live in quality/testing-pyramid.
204
- 触发:`Jest Vitest` · `React Testing Library` · `MSW mock service worker` · `Playwright`
205
-
206
- - **`zsk:typescript`** *[standard · optional]*
207
- TypeScript in frontend codebases — red lines (no any / as any / @ts-ignore / empty interface / Object type), must-do (explicit types for public boundaries, union literals, strict + noUncheckedIndexedAccess), API types from backend (not hand-written), type vs interface, generics discipline, unknown over any. Complements quality/code-hygiene for cross-language hygiene.
208
- 触发:`TypeScript red lines` · `no any` · `strict mode` · `noUncheckedIndexedAccess`
66
+ <!-- Auto-generated by tools/catalog.ts — do not edit manually. Total: 18 skills -->
209
67
 
210
- ### `quality/` — Quality · 跨栈质量原则 (5)
68
+ ## Skill 清单(core)
211
69
 
212
- - **`zsk:a11y-principles`** *[standard · optional]*
213
- Accessibility principles at the concept level — WCAG 2.1 AA baseline, POUR principles, keyboard operation matrix, focus management, aria semantics, contrast ratios, don't-rely-on-color, reduced motion. For Web/JSX implementation (axe-core, jsx-a11y, focus traps in Modal, etc.) see frontend/a11y-web.md.
214
- 触发:`accessibility principles` · `WCAG AA` · `POUR` · `keyboard matrix`
70
+ > 内容由 `tools/catalog.ts` `packages/skills/core/*/SKILL.md` frontmatter 生成。重生成:`pnpm catalog`。
215
71
 
216
- - **`zsk:code-hygiene`** *[standard · optional]*
217
- Code hygiene for any language — comment policy (WHY not WHAT), import ordering principle, formatter discipline, generic forbidden patterns (TODO comments, commented-out code, signature-like comments). Stack-specific rules (TypeScript red lines, React naming) are in frontend/*.
218
- 触发:`code hygiene` · `comment policy` · `import order` · `WHY not WHAT`
72
+ ### `core/` Core · harness-first 默认工作流入口 (18)
219
73
 
220
- - **`zsk:release`** *[standard · optional]*
221
- Version release discipline SemVer numbering, Keep a Changelog, Conventional Changelog auto-generation, environment promotion (dev→test→pre→prod), feature flag lifecycle, rollback strategy, hotfix process, canary monitoring. Works across language stacks; tool names are stack-specific examples.
222
- 触发:`SemVer` · `changelog` · `conventional changelog` · `hotfix`
74
+ - **`zsk:acceptance`** *[stage · core]*
75
+ Use when independent verify has passed and a product/business acceptance decision is required; blocks closure without linked evidence, residual-risk owner, and explicit accept/reject status.
76
+ 触发:`acceptance` · `zsk:acceptance`
223
77
 
224
- - **`zsk:security-owasp`** *[standard · optional]*
225
- Cross-stack security discipline OWASP Top 10 overview, CVE response SLAs, dependency license whitelist, supply chain hygiene, common lint red lines (eval/dynamic execution), and the "frontend UI is not the final defense" principle. Web-specific XSS/CSRF/Storage red lines are in frontend/security-web.md.
226
- 触发:`OWASP Top 10` · `CVE response` · `license whitelist` · `supply chain security`
78
+ - **`zsk:archive`** *[stage · core]*
79
+ Use when accepted work must be closed and preserved; archives artifacts, decisions, issues, and learning proposals without deleting current docs or mutating standards silently.
80
+ 触发:`archive` · `zsk:archive`
227
81
 
228
- - **`zsk:testing-pyramid`** *[standard · optional]*
229
- Cross-language test strategy & discipline test pyramid ratio (unit 70 / integration 20 / e2e 10), AAA/GWT structure, coverage targets, and the three hard principles (evidence before assertion, Red-Green-Refactor, bug confidence questioning). Stack-specific tooling (Jest/RTL/MSW/Playwright) is in frontend/testing-web.md.
230
- 触发:`test pyramid` · `TDD discipline` · `test coverage target` · `AAA GWT structure`
82
+ - **`zsk:coding`** *[stage · core]*
83
+ Use when approved tasks are ready for implementation; requires small auditable diffs, existing-pattern reuse, tests/evidence, and blocker reporting instead of scope rewriting.
84
+ 触发:`coding` · `zsk:coding`
231
85
 
232
- ### `design-handoff/` Design Handoff · 设计交付方法论 (5)
86
+ - **`zsk:commit`** *[stage · core]*
87
+ Use only after self-test and review pass; prepares a scoped commit with intent and evidence, and forbids staging unrelated dirty files or continuing implementation.
88
+ 触发:`commit` · `zsk:commit`
233
89
 
234
- - **`zsk:figma-to-code`** *[optional]*
235
- Figma design node production code via MCP 7-step workflow (locate extract structure → extract annotations → naming conversion → layout decoding → states → tokens), plus the 4-dimension "100% fidelity" verification (visual / interaction / semantic / responsive). Styling specifics live in zsk:styling-system.
236
- 触发:`figma to code` · `100 percent fidelity` · `node naming conversion` · `design annotations`
90
+ - **`zsk:demo`** *[stage · core]*
91
+ Use before formal testing to prove the changed user flow can be demonstrated; requires planned scenarios, demo-only issue separation, evidence, and no acceptance claims.
92
+ 触发:`demo` · `zsk:demo`
237
93
 
238
- - **`zsk:ue-mcp`** *[optional]*
239
- Design Source capture & MCP readout for modules with Figma/design input Design Source (URL/node-id), MCP readout status, module-specific UE deviations from system baselines, and implementation mapping. Produces docs/{module}/ue-mcp.md + structured description.md snapshot in design-assets. Only records deviations, not duplicated baseline rules.
240
- 触发:`UE MCP context` · `figma snapshot` · `design source reference` · `module UE deviation`
94
+ - **`zsk:deploy`** *[stage · core]*
95
+ Use when reviewed work must be deployed to a non-production/demo environment; requires URL/version, smoke evidence, rollback owner, and explicit production-authority guard.
96
+ 触发:`deploy` · `zsk:deploy`
241
97
 
242
- - **`zsk:ux-wireframe`** *[optional]*
243
- UX wireframe workflow before high-fidelity design turns spec scenarios into task flows, information architecture, low-fidelity layouts, and state coverage. Supports Pencil, Excalidraw, Mermaid, or text wireframes when Figma is not ready.
244
- 触发:`wireframe` · `low fidelity design` · `Pencil design` · `UX flow`
98
+ - **`zsk:design`** *[stage · core]*
99
+ Use after spec freeze to map behavior to implementation structure; requires interfaces/data flow/rollout/risks and rejects speculative architecture or invented design facts.
100
+ 触发:`design` · `zsk:design`
245
101
 
246
- - **`zsk:design-system`** *[standard · optional]*
247
- Design system governance for Figma and frontend alignment records tokens, component states, naming, responsive rules, accessibility baselines, and anti-generic visual constraints before high-fidelity generation or implementation.
248
- 触发:`design system` · `design tokens` · `Figma variables` · `component variants`
102
+ - **`zsk:prepare-resources`** *[stage · core]*
103
+ Use after project init and before proposal/spec work to collect SRS, PRD, API, backend repository, design, and test resources; asks only for missing origins, chooses low-token acquisition tools, snapshots evidence, and updates config/manifests without inventing facts.
104
+ 触发:`prepare-resources` · `zsk:prepare-resources`
249
105
 
250
- - **`zsk:figma-generate-hifi`** *[workflow · optional]*
251
- Figma high-fidelity generation workflow from spec, UX wireframes, and design-system rules creates or updates production-oriented Figma pages with state matrices, responsive variants, annotations, and anti-generic visual checks.
252
- 触发:`generate Figma` · `high fidelity design` · `figma generate design` · `hifi UI`
106
+ - **`zsk:proposal`** *[stage · core]*
107
+ Use before spec work to frame why/what/not-what; requires scope, non-goals, success criteria, stakeholders, risks, and explicit resource gaps instead of assumptions.
108
+ 触发:`proposal` · `zsk:proposal`
253
109
 
254
- ### `system/` System · 工程宪法级资源 (6)
110
+ - **`zsk:ready-for-verify`** *[stage · core]*
111
+ Use when fixed work is ready for independent verification; requires issue-to-evidence mapping, deployment/version notes, regression notes, and blocks vague handoffs.
112
+ 触发:`ready-for-verify` · `zsk:ready-for-verify`
255
113
 
256
- - **`zsk:adr`** *[optional]*
257
- Cross-module long-lived architectural decision record context, decision, rationale, alternatives considered, and consequences. Produces docs/system/adrs/ADR-NNNN-{slug}.md. Not for single-module implementation choices.
258
- 触发:`architecture decision record` · `ADR template` · `MADR` · `cross-module decision`
114
+ - **`zsk:review`** *[stage · core]*
115
+ Use after self-test to run a blocking implementation review against scope, spec/design/tasks, tests, security, maintainability, and evidence; fails on hard stops, unapproved creep, or key test gaps.
116
+ 触发:`review` · `zsk:review`
259
117
 
260
- - **`zsk:agent-orchestration`** *[core]*
261
- Agent orchestration protocol for all zsk skills assigns independent work to specialized Sub-Agents, defines main-agent ownership, role boundaries, review integration, and fallback behavior when delegation is unavailable.
262
- 触发:`sub agent orchestration` · `parallel agents` · `multi agent workflow` · `agent responsibilities`
118
+ - **`zsk:self-test`** *[stage · core]*
119
+ Use after coding and before review to prove changed behavior locally; requires targeted tests plus relevant lint/typecheck/build/smoke evidence and failure classification.
120
+ 触发:`self-test` · `zsk:self-test`
263
121
 
264
- - **`zsk:architecture`** *[optional]*
265
- Project system architecture documentation C4 context diagram, tech stack baseline, module boundaries, routing, auth flow, data flow (request/state/contract), deployment topology, related ADRs. Frontend micro-frontend topology is an optional add-on section.
266
- 触发:`system architecture` · `C4 model` · `tech stack baseline` · `module boundaries`
122
+ - **`zsk:spec`** *[stage · core]*
123
+ Use after proposal to define the behavioral contract; requires sourced FR/NFR, observable acceptance criteria, scenarios, edge cases, and unresolved resource gaps.
124
+ 触发:`spec` · `zsk:spec`
267
125
 
268
- - **`zsk:glossary`** *[optional]*
269
- Project Ubiquitous Language maintenance single source for business terms, domain entities, state names, technical terms, and acronyms. Eliminates same-concept-different-names confusion across modules and backend contracts.
270
- 触发:`glossary` · `ubiquitous language` · `DDD terms` · `business term`
126
+ - **`zsk:standard-dev-flow`** *[stage · core]*
127
+ Use when starting/resuming normal delivery; reads harness state/resources/blockers, selects the next legal stage, and stops on missing inputs or illegal transitions.
128
+ 触发:`standard-dev-flow` · `zsk:standard-dev-flow`
271
129
 
272
- - **`zsk:nfr-baseline`** *[optional]*
273
- Project NFR baseline (inherited or established) 7-category framework (performance / a11y / security / i18n / compatibility / observability / reliability) and the deviation-declaration discipline. Web-specific values (CWV thresholds, WCAG AA, browser matrix, 三语) live in frontend/nfr-web.md.
274
- 触发:`NFR baseline` · `non functional requirements` · `quality attributes` · `ISO 25010`
130
+ - **`zsk:task`** *[stage · core]*
131
+ Use after design approval to create executable tasks; requires dependency order, FR/AC coverage, evidence hooks, owners, and blocks vague or unrelated work items.
132
+ 触发:`task` · `zsk:task`
275
133
 
276
- - **`zsk:project-constraints-template`** *[optional]*
277
- Project constraints template for new-project bootstrap captures import origins, forbidden libraries/patterns, required wrappers, naming conventions, quality gates, branch/release conventions in one SYSTEM-SPEC chapter. The project-side constitutional constraint table, complementary to project-config.md (mechanical values).
278
- 触发:`project constraints` · `SYSTEM-SPEC` · `import origins` · `forbidden packages`
134
+ - **`zsk:test-issue`** *[stage · core]*
135
+ Use after demo handoff when formal QA reports findings; requires Test Issue taxonomy, reproduction/evidence, FR/AC linkage, dedupe, and coding/verify routing.
136
+ 触发:`test-issue` · `zsk:test-issue`
279
137
 
280
- ### `meta/` Meta · 元信息 (1)
138
+ - **`zsk:verify`** *[stage · core]*
139
+ Use when fixes or acceptance criteria need independent verification; requires a stated claim, versioned target, linked evidence, targeted rerun, and pass/fail route.
140
+ 触发:`verify` · `zsk:verify`
281
141
 
282
- - **`zsk:philosophy`** *[meta · optional]*
283
- Design rationale of the zsk skill set LLM Wiki × Superpowers × GSD × project-adaptation synthesis. For contributors needing to understand why zsk is organized the way it is.
284
- 触发:`zsk philosophy` · `why is zsk organized this way` · `design rationale` · `LLM wiki vs superpowers`
142
+ - **`zsk:issue`** *[utility · core]*
143
+ Use when any stage finds a defect, blocker, question, or risk that needs tracking; requires taxonomy, severity, owner, reproduction/evidence, and no gate bypass.
144
+ 触发:`issue` · `zsk:issue`
285
145
 
package/bundles.yaml CHANGED
@@ -5,107 +5,74 @@
5
5
 
6
6
  bundles:
7
7
  sdlc-only:
8
- label: SDLC 流程骨架
9
- hint: 7 阶段 + 3 变更工作流,不涉及技术栈
8
+ label: 精简 SDLC 生命周期
9
+ hint: 默认安装 harness-first core skills;SDLC 参考资料按需从 .best-practices 读取
10
10
  skills:
11
- # stages (7)
11
+ # harness-first core
12
+ - zsk:standard-dev-flow
13
+ - zsk:prepare-resources
12
14
  - zsk:proposal
13
15
  - zsk:spec
14
16
  - zsk:design
17
+ - zsk:task
15
18
  - zsk:coding
16
- - zsk:reviewing
19
+ - zsk:self-test
20
+ - zsk:review
21
+ - zsk:commit
22
+ - zsk:deploy
23
+ - zsk:demo
24
+ - zsk:issue
25
+ - zsk:test-issue
26
+ - zsk:ready-for-verify
17
27
  - zsk:verify
28
+ - zsk:acceptance
18
29
  - zsk:archive
19
- # workflows (3)
20
- - zsk:feature
21
- - zsk:bugfix
22
- - zsk:refactor
23
- # System orchestration
24
- - zsk:agent-orchestration
25
30
 
26
31
  frontend-project:
27
- label: 前端项目(推荐)
28
- hint: SDLC + 前端领域 + 质量规范
32
+ label: 前端项目(core 生命周期)
33
+ hint: 安装同一套 harness-first core skills;前端专项规则从 .best-practices 按需读取
29
34
  skills:
30
- # SDLC 10
35
+ - zsk:standard-dev-flow
36
+ - zsk:prepare-resources
31
37
  - zsk:proposal
32
38
  - zsk:spec
33
39
  - zsk:design
40
+ - zsk:task
34
41
  - zsk:coding
35
- - zsk:reviewing
42
+ - zsk:self-test
43
+ - zsk:review
44
+ - zsk:commit
45
+ - zsk:deploy
46
+ - zsk:demo
47
+ - zsk:issue
48
+ - zsk:test-issue
49
+ - zsk:ready-for-verify
36
50
  - zsk:verify
51
+ - zsk:acceptance
37
52
  - zsk:archive
38
- - zsk:feature
39
- - zsk:bugfix
40
- - zsk:refactor
41
- # System orchestration
42
- - zsk:agent-orchestration
43
- # Frontend 16 (5 SDLC overlays + 11 standards)
44
- - zsk:spec-frontend
45
- - zsk:design-frontend
46
- - zsk:review-frontend
47
- - zsk:dor-dod-frontend
48
- - zsk:feature-tasks-frontend
49
- - zsk:react-components
50
- - zsk:react-naming
51
- - zsk:typescript
52
- - zsk:styling-system
53
- - zsk:i18n
54
- - zsk:a11y-web
55
- - zsk:performance-web
56
- - zsk:security-web
57
- - zsk:testing-web
58
- - zsk:api-contract-ts
59
- - zsk:nfr-web
60
- # Quality 3
61
- - zsk:testing-pyramid
62
- - zsk:security-owasp
63
- - zsk:a11y-principles
64
53
 
65
54
  frontend-with-design-handoff:
66
- label: 前端 + 设计交付(Figma)
67
- hint: frontend-project 之上再加 Figma 交付方法论
55
+ label: 前端 + 设计交付(core 生命周期)
56
+ hint: 安装同一套 harness-first core skills;设计交付规则从 .best-practices 按需读取
68
57
  skills:
69
- # SDLC 10
58
+ - zsk:standard-dev-flow
59
+ - zsk:prepare-resources
70
60
  - zsk:proposal
71
61
  - zsk:spec
72
62
  - zsk:design
63
+ - zsk:task
73
64
  - zsk:coding
74
- - zsk:reviewing
65
+ - zsk:self-test
66
+ - zsk:review
67
+ - zsk:commit
68
+ - zsk:deploy
69
+ - zsk:demo
70
+ - zsk:issue
71
+ - zsk:test-issue
72
+ - zsk:ready-for-verify
75
73
  - zsk:verify
74
+ - zsk:acceptance
76
75
  - zsk:archive
77
- - zsk:feature
78
- - zsk:bugfix
79
- - zsk:refactor
80
- # System orchestration
81
- - zsk:agent-orchestration
82
- # Frontend 16
83
- - zsk:spec-frontend
84
- - zsk:design-frontend
85
- - zsk:review-frontend
86
- - zsk:dor-dod-frontend
87
- - zsk:feature-tasks-frontend
88
- - zsk:react-components
89
- - zsk:react-naming
90
- - zsk:typescript
91
- - zsk:styling-system
92
- - zsk:i18n
93
- - zsk:a11y-web
94
- - zsk:performance-web
95
- - zsk:security-web
96
- - zsk:testing-web
97
- - zsk:api-contract-ts
98
- - zsk:nfr-web
99
- # Quality 3
100
- - zsk:testing-pyramid
101
- - zsk:security-owasp
102
- - zsk:a11y-principles
103
- # Design-handoff 5
104
- - zsk:ux-wireframe
105
- - zsk:design-system
106
- - zsk:figma-generate-hifi
107
- - zsk:figma-to-code
108
- - zsk:ue-mcp
109
76
 
110
77
  custom:
111
78
  label: 自选
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: zsk:acceptance
3
+ description: Use when independent verify has passed and a product/business
4
+ acceptance decision is required; blocks closure without linked evidence,
5
+ residual-risk owner, and explicit accept/reject status.
6
+ kind: workflow-node
7
+ pack: core
8
+ stage: acceptance
9
+ requires:
10
+ - constraints.evidence-rules
11
+ - constraints.stage-gates
12
+ domain: core
13
+ category: stage
14
+ tier: core
15
+ triggers:
16
+ - acceptance
17
+ - zsk:acceptance
18
+ ---
19
+
20
+ # Acceptance
21
+
22
+ Use this stage after independent `verify` has passed and the product/business owner needs an acceptance decision. Acceptance is not another implementation review; it decides whether the delivered change is fit to close, reject, or archive with explicit residual risk.
23
+
24
+ ## Inputs
25
+
26
+ - `verify-report` with linked evidence and unresolved findings.
27
+ - `demo-report` when the change has user-visible behavior.
28
+ - Linked issue records, waivers, and regression notes.
29
+ - Proposal/spec/design/task artifacts for the accepted scope.
30
+
31
+ ## Procedure
32
+
33
+ 1. Re-check the accepted scope against proposal and spec, not against late wish-list items.
34
+ 2. Confirm P0/P1 acceptance criteria are verified or explicitly waived.
35
+ 3. Summarize residual risks, owners, and follow-up issues.
36
+ 4. Record one decision: `ACCEPT`, `ACCEPT_WITH_RISK`, `REJECT`, or `BLOCKED`.
37
+ 5. Route `ACCEPT*` to `archive`; route rejection to the earliest invalidated stage.
38
+
39
+ ## Constraints
40
+
41
+ - Do not accept work with missing verify evidence.
42
+ - Do not hide product disagreement as a minor issue.
43
+ - Do not mutate implementation or test files from this stage.
44
+ - Keep the decision short, dated, and evidence-linked.
45
+
46
+ ## Outputs
47
+
48
+ - `acceptance` decision artifact.
49
+ - Residual-risk list with owner and due date.
50
+ - Archive readiness or rejection route.
51
+
52
+ ## Installed Harness Contract
53
+
54
+ This core skill is generated from root `skills/acceptance/SKILL.md` and is governed by the zsk harness. Enforce these rules even when the full harness files are not present in the target:
55
+
56
+ - Stage gates: do not skip required inputs, illegal transitions, blockers, or evidence checks.
57
+ - Evidence rules: no PASS / DONE / READY claim without linked command, artifact, issue, scenario, or human decision evidence.
58
+ - Source of truth: read configured resources before inventing intent; record conflicts instead of choosing silently.
59
+ - Issue taxonomy: route demo, self-test, review, test, verify, and acceptance findings to the correct issue type.
60
+ - Learning loop: reusable gaps become learning proposals; never mutate core constraints, templates, packs, or skills automatically.
61
+