@ccoalm/ccl-skills 0.16.0 → 0.18.0

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 (43) hide show
  1. package/dist/assets/marketplace/plugins/ccl-skills/agent-context/session-start.md +8 -7
  2. package/dist/assets/marketplace/plugins/ccl-skills/hooks/hooks.json +22 -0
  3. package/dist/assets/marketplace/plugins/ccl-skills/hooks/remind-review-covers-head.sh +128 -0
  4. package/dist/assets/marketplace/plugins/ccl-skills/hooks/remind-untracked-background.sh +53 -0
  5. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_remind_review_covers_head.sh +104 -0
  6. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_remind_untracked_background.sh +75 -0
  7. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts +8 -0
  8. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/SKILL.md +6 -4
  9. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/development-completion.md +13 -1
  10. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md +78 -126
  11. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/wording-only-review.md +136 -0
  12. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py +521 -32
  13. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_compat.py +25 -2
  14. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_order.sh +30 -15
  15. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_gate.sh +439 -19
  16. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_update_review_plan_intent.sh +14 -7
  17. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/SKILL.md +1 -1
  18. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md +1 -1
  19. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/SKILL.md +6 -6
  20. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/attention-budget-ratchet.md +1 -0
  21. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/dual-track-review-gate.md +48 -119
  22. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-quickstart.md +9 -9
  23. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/firing-point-placement.md +22 -0
  24. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md +18 -0
  25. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/validation-and-landing.md +2 -2
  26. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check_review_evidence_present.py +122 -0
  27. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/contract-anchors.tsv +4 -1
  28. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/extraction_review_gate.sh +37 -8
  29. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/register-firing-path-resolution.rb +102 -20
  30. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh +16 -27
  31. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh +3 -5
  32. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_review_evidence_present.sh +81 -0
  33. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_extraction_review_gate.sh +137 -279
  34. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_resolution.sh +41 -1
  35. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_wiring.sh +49 -3
  36. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/SKILL.md +3 -2
  37. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/closeout-reread.md +40 -0
  38. package/dist/assets/release.json +72 -52
  39. package/package.json +1 -1
  40. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/review_ledger_binding.py +0 -1242
  41. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_review_ledger_binding.sh +0 -978
  42. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_extraction_review_state.sh +0 -1477
  43. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate_extraction_review_state.py +0 -1183
@@ -23,7 +23,7 @@ For spec/standard/guideline artifacts, the `pre-owner blocked` marker rule appli
23
23
 
24
24
  Before sharing, syncing, committing, or publishing a concrete deliverable artifact, run Tighten mode by default. Do not ask the user whether to optimize unless the edit would change a substantive decision, remove required detail, or risk collaborative-comment loss. A request to write a template, SOP, report, checklist, Feishu/Lark doc, task card, or launch material already includes the optimization pass after the owner skill has settled the substance.
25
25
 
26
- After multi-round edits that added, restructured, or changed reader-facing prose or meaning, always run the Tighten mode before sharing or publishing; rounds of only exempt trivial edits (typo/link/format) may record that exemption instead. **What counts as evidence for this pass**: re-read the affected deliverable surface against the rubric (duplication — including same-content-different-face introduced by your own earlier edits in the same session — 一坨, term drift, cell-fits-column) and record: the surface, the touched blocks since the last full pass (the minimum index of scope, not the ceiling — include sections whose meaning the edits change), whether a full-card / family-wide sweep trigger below applies, the defects found or an explicit none, and the reason if scope stops at the touched blocks. Per-edit rubric compliance while writing, grep-only closeout scans (halfwidth / residual-wording checks), or a substance review do not substitute, singly or jointly — the recurring miss is accepting them as equivalent evidence and shipping a self-introduced duplication the surface re-read would have caught.
26
+ After multi-round edits that added, restructured, or changed reader-facing prose or meaning, always run the Tighten mode before sharing or publishing; rounds of only exempt trivial edits (typo/link/format) may record that exemption instead. **就地编辑线上文档没有「发布前」这一刻**,触发点顺延到最后一次写操作之后。这一遍的证据标准、扫描范围与语域漂移查法见 `references/closeout-reread.md`。
27
27
 
28
28
  **技术 / 参考文档:form 优化 ≠ 内容已核。** 当本轮**新增 / 改写 / 发布**了可对源码核验的承载性技术断言(API 签名、env 行为 / 优先级、字段 / label 名、默认值——这类文档常自述真值源),**且一手源用户已给、在当前工作区可得、或用户明确授权查证**时,form 清理之外要把这些断言对一手源码(SDK / specs / fixtures / 可跑命令)核一遍。核出不符:**仅 source-literal 的 typo / 名称 / 默认值笔误**可直接照证据改;**会改动 substantive contract / decision 的**只标 discrepancy / pending 交 owner(stack / review skill),tighten-doc 不接管纠错。源不可得、超出本轮范围、或只是轻量润色:只做 form 并声明「形式已优化、内容未核」,不得裸称「文档已优化 / 准确」(别把每次 tighten 滚成一次代码审计)。
29
29
 
@@ -63,7 +63,7 @@ owner · 硬规则 · 完成标准/DoD · 里程碑 · 数值阈值 · the real
63
63
  - **代码进代码块,不进段落**:**多行 / 独立执行步骤 / 长 flag 串命令 / 多命令序列**放带 lang 的代码块。**随文的短 one-liner / 表达式、表格单元格、`func()` 式符号引用可留 inline**,以不妨碍扫读为限。多语言对照两端形态对齐;随复制必需的说明:支持注释则放块内,否则随附;长篇原理放正文。
64
64
  - **Enumeration sections (依赖/兜底/分工/里程碑 子项) = multi-line sub-bullets, NOT a `;`-collapsed single line.** Readability beats compactness here; a `- 依赖:A;B;C;D` run is hard to scan — split to `- 依赖:` + one `- A` sub-bullet per item. Do not collapse to one `;` line just for parity with another card; parity is not a reason to reduce scanability. Single-line `;` is only for a true 2-item short pointer where sub-bullets would be heavier than the content.
65
65
  - Table cells that list multiple skills, owners, checks, environments, or evidence items should be split into multiple lines or shorter rows. A readable table beats a compressed cell when the cell is used as an execution checklist.
66
- - Terms unified and glossed once in a 白话 section (e.g. 红灯 = 卡住/NO-GO 到点必升级; 排障手册 = 排障 SOP). Also catch **intra-doc term drift**: the same concept written two different ways in one doc → align to that doc's prevailing term. Drift includes **unit drift in a sequenced ladder** (a milestone list mixing 第N周 and N天 — align the lone odd unit to the ladder's prevailing one). 陌生或自造缩写仅在明显缩短且反复使用时引入;正式名称按下条保留。
66
+ - Terms unified and glossed once in a 白话 section (e.g. 红灯 = 卡住/NO-GO 到点必升级; 排障手册 = 排障 SOP). Also catch **intra-doc term drift**: the same concept written two different ways in one doc → align to that doc's prevailing term. Drift includes **unit drift in a sequenced ladder** (a milestone list mixing 第N周 and N天 — align the lone odd unit to the ladder's prevailing one). Drift 还包括**语域漂移**:改写时新句用词不得高出原文水位、抬高读者门槛(查法同上引用)。 陌生或自造缩写仅在明显缩短且反复使用时引入;正式名称按下条保留。
67
67
  - A column/section header must match what its cells actually hold (a "文档化进度" header over cells that hold 现状 is a defect — rename the header to the truth). An editorial paren in a header/heading that restates an intro rule is the same 编辑性括号 as DELETE #9 — cut it.
68
68
  - **Reader-facing published docs: the problem is unexplained or non-navigable internal references, not the names themselves**. Fix three recurring reader-blockers: ① internal repo paths used as navigation (`see README.md`) a non-author can't follow → name the human destination or link the published doc; ② opaque internal gate/code labels (`R0` / `F4`-style) → plain-name or drop the code; ③ unglossed in-house English / abbreviations (`mTLS` / `PTY` / `SLO`) → 中文化 or gloss at first use. **Keep** anything the reader actually operates on or that is a public convention / protocol / API / field / contract / standard name (`AGENTS.md`, `CODEOWNERS`, `package.json`, well-known abbrevs) — gloss if unfamiliar, don't delete.
69
69
  - **A cell must fit its column's semantic role.** A 负责人/owner column entry must be a who (person/role), a 事项/规则 column a what (a parseable clause). Over-terse text — including a value the user dictated in an earlier pass — that no longer parses as that column's type ("业务真值+ 误差" in a 负责人 column; "…必需的指标建立" as a 规则 clause) is a 病句 (DELETE #7). On re-review, read each dictated/compressed value back **in its column context**, not in isolation; flag it with the rule even if the user set it (don't silently override, but don't pass it as clean either).
@@ -181,6 +181,7 @@ When the user probes sentence-by-sentence ("这是废话么 / 什么意思 / 能
181
181
  - For Feishu/Lark comment preservation, range update mechanics, overwrite pitfalls, and cross-doc rename safety, read `references/comment-safe-feishu.md`.
182
182
  - 「外部基线」条一触发就必读 `references/self-benchmark-baseline.md`:抽样、分布定位输出、可发现性语料与词频读法、两条边界。
183
183
  - 交付面收尾(投放回读、三态定义与绕过路径、旧版退役与「被要求删除」的转出、静态导出全展开)展开在 `references/delivery-face-closeout.md`;closeout 第 7 项与「交付面」条都指向它。
184
+ - 收尾回读(触发点、证据标准、语域漂移查法)在 `references/closeout-reread.md`。
184
185
 
185
186
  ## CROSS-MODEL / CODEX CO-REVIEW CAVEAT
186
187
 
@@ -0,0 +1,40 @@
1
+ # 收尾回读:触发点、证据、语域漂移
2
+
3
+ `SKILL.md`「After multi-round edits…」那条的展开。触发与硬判据在那条,这里放执行细节;两处冲突以 `SKILL.md` 为准。
4
+
5
+ ## 触发点
6
+
7
+ - 默认触发点是**分享 / 同步 / 提交 / 发布之前**。只含 typo / 链接 / 格式这类豁免小改的轮次,记豁免即可。
8
+ - **就地编辑线上文档(协作文档、wiki、已发布页面)没有「发布前」这一刻**:每一刀落地即发布,读者随时可能正在读。触发点顺延到**最后一次写操作之后**:收工前必须把整篇(或受影响那一面)整体回读一遍。
9
+ - 「逐刀都很小」不是跳过的理由。**逐刀都对 ≠ 整篇读着对**:重复、术语漂移、语域漂移都是跨刀才显形的缺陷,只有整体回读能看见。
10
+
11
+ ## 这一遍要拿出的证据
12
+
13
+ 按 rubric 回读受影响的交付面:重复(含你自己本轮早些时候改出来的**同内容换面孔**)、一坨、术语漂移、语域漂移、cell-fits-column。
14
+
15
+ 回读后记下五项:
16
+
17
+ - 回读的是哪一面。
18
+ - 自上次整体回读以来动过的块——这是**扫描范围的下限不是上限**,含义被这轮改动改变的小节也要进来。
19
+ - 是否命中 `SKILL.md` 里的整卡 / 全家族扫描触发条件。
20
+ - 查出的缺陷,或明确写「无」。
21
+ - 范围如果停在动过的块,写清为什么。
22
+
23
+ ## 不能顶替它的三类东西
24
+
25
+ 写的时候逐条守 rubric、收尾只跑 grep(半角 / 残留词扫描)、以及实质性内容评审——这三样**单独或加在一起都不算**这一遍的证据。
26
+
27
+ 反复踩的就是把它们当等价证据,然后把自己改出来的重复发出去——那正是整体回读一眼能看见的东西。
28
+
29
+ ## 语域漂移:改写场景里最高频的自引入缺陷
30
+
31
+ 给已有文档做修订时,新写的句子用了比原文更专业的词,读者门槛被你抬高了。病根是编辑落笔用的是**自己的词库**,不是宿主文档的词库;原文越是刻意写成大白话,越容易被抬高。
32
+
33
+ 查法:
34
+
35
+ - 必须把本轮**新写的句子**单独拎出来单独看,不混在整篇里读——混着读就看不出是谁的词。
36
+ - 逐个术语查它**在改动之前的文本里**出现过没有;不得拿改完的文档做对照,否则新词自己就在里面,永远查不出候选。没出现过的就是候选。
37
+ - 每个候选必须二选一:换成原文已经在用的说法,或当场用一句白话把它解释掉;原样留着不算处理。
38
+ - 收尾只读新句:读着**不像原文同一个人写的**,就是漂了。
39
+
40
+ 指针型改写同样受这条管——写「按 X 执行」而不抄数值时,称呼那份 X 要用原文已有的说法,别换成你自己的行话。
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schema": 1,
3
3
  "npmPackage": "@ccoalm/ccl-skills",
4
- "version": "0.16.0",
5
- "sourceCommit": "200cffbcfb46eb6499d4bd827174268e5ae9359b",
4
+ "version": "0.18.0",
5
+ "sourceCommit": "b02f66b344b1f1724f748073acc30f209e01bfe3",
6
6
  "sourceState": "clean",
7
7
  "files": [
8
8
  {
@@ -42,7 +42,7 @@
42
42
  },
43
43
  {
44
44
  "path": "marketplace/plugins/ccl-skills/agent-context/session-start.md",
45
- "sha256": "722aa118e3e95deb1788ffd723331582a901191961bee441fe9b076ca5197a1a",
45
+ "sha256": "48d6589066a033b3b24429292e18f331859f42b8fc608f07ed64244f0d02c95c",
46
46
  "mode": 420
47
47
  },
48
48
  {
@@ -72,7 +72,7 @@
72
72
  },
73
73
  {
74
74
  "path": "marketplace/plugins/ccl-skills/hooks/hooks.json",
75
- "sha256": "c9b61b3f8f876e7bac729b80653959d9eaf933f508a3552ee4bfc6bdc3ea4ffd",
75
+ "sha256": "a9bfda0c4f36d762a171684720745418640da90f549ce0e844fca9749b229c6d",
76
76
  "mode": 420
77
77
  },
78
78
  {
@@ -95,6 +95,16 @@
95
95
  "sha256": "c912bd8bbb9afe15b4ed3ac546175ecb9185752087a818d1426ffecd68ffb623",
96
96
  "mode": 493
97
97
  },
98
+ {
99
+ "path": "marketplace/plugins/ccl-skills/hooks/remind-review-covers-head.sh",
100
+ "sha256": "4d31c4e7477af083f865611f266fbf0d2a26fd975e8e8bc09238286fe6cecdd9",
101
+ "mode": 493
102
+ },
103
+ {
104
+ "path": "marketplace/plugins/ccl-skills/hooks/remind-untracked-background.sh",
105
+ "sha256": "58b6d0ba4a8cd11096ef520645b288753d7e724f2f112d8eb3d37101198834a4",
106
+ "mode": 493
107
+ },
98
108
  {
99
109
  "path": "marketplace/plugins/ccl-skills/hooks/remind-unverified-cli-flag.sh",
100
110
  "sha256": "e232bc3f398b54772f4ef410aa36f02fb56c6b7f2ef3e7fbf68d7838c1b4cf3e",
@@ -145,6 +155,16 @@
145
155
  "sha256": "f57ede7e26be676f3759d97e5707c4f9390623701103f2cfc4465a9d1669abf3",
146
156
  "mode": 493
147
157
  },
158
+ {
159
+ "path": "marketplace/plugins/ccl-skills/hooks/test_remind_review_covers_head.sh",
160
+ "sha256": "840543c0ea6efbfa322b87a87afb2018c0becdb5d513a5586fcb5d2f21f26cf7",
161
+ "mode": 493
162
+ },
163
+ {
164
+ "path": "marketplace/plugins/ccl-skills/hooks/test_remind_untracked_background.sh",
165
+ "sha256": "55ce986de386437983e139a49870099deabc20a9edd0f79f0315db77550dbb57",
166
+ "mode": 493
167
+ },
148
168
  {
149
169
  "path": "marketplace/plugins/ccl-skills/hooks/test_remind_unverified_cli_flag.sh",
150
170
  "sha256": "d1c31415abe0624f5ab18a5d70e57463464475042d437936088fb4fedc108d92",
@@ -162,7 +182,7 @@
162
182
  },
163
183
  {
164
184
  "path": "marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts",
165
- "sha256": "4cc8c560cbbcfe9c7723c9986ea93645ca1926503a0ea80ae93af80f0eabd10e",
185
+ "sha256": "9d842514f46cccd734dafbda1472e758349193f5f1a2c4fef9cd4d95f36d886a",
166
186
  "mode": 420
167
187
  },
168
188
  {
@@ -277,7 +297,7 @@
277
297
  },
278
298
  {
279
299
  "path": "marketplace/plugins/ccl-skills/skills/code-review/references/development-completion.md",
280
- "sha256": "ff9d6d77062b60563450ef40efebc0fbb365318dbb7bebcc7dbb037802491a11",
300
+ "sha256": "e1c0ed061a62f3c7d1bb54bb6b4a9ee48ced9da069a7c32e35b3bc706c1576c7",
281
301
  "mode": 420
282
302
  },
283
303
  {
@@ -287,7 +307,7 @@
287
307
  },
288
308
  {
289
309
  "path": "marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md",
290
- "sha256": "1d3e7d63670364fd6f3ff3ad30722f42d95971da26b5634dceb5f275b32ca1d1",
310
+ "sha256": "828e403ab497ce6698881287032766a9e5dfe455887d6e3b50a4f762bc4fdaf0",
291
311
  "mode": 420
292
312
  },
293
313
  {
@@ -295,6 +315,11 @@
295
315
  "sha256": "16151d1fd9612fa8e0f195655ce02ea0b4b2669728801ed27d04fbe25e07a1e8",
296
316
  "mode": 420
297
317
  },
318
+ {
319
+ "path": "marketplace/plugins/ccl-skills/skills/code-review/references/wording-only-review.md",
320
+ "sha256": "0bbbfaa946fd23c8ef901911190d2525e9a5b6ea2e28ccb759567ca8a6672021",
321
+ "mode": 420
322
+ },
298
323
  {
299
324
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md",
300
325
  "sha256": "1b7831a9bf483285682d7d751cdbb4bbc0eb43868fb3ea94904388f50fe50f31",
@@ -377,7 +402,7 @@
377
402
  },
378
403
  {
379
404
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py",
380
- "sha256": "079f756554727a90da3636a1c6e98ef77d5515caa15fb1a9f89471779ba6e9f8",
405
+ "sha256": "13a548d3a09595d875f20564f351773e8d8a3f87f1ff29ddb22f0d919877c709",
381
406
  "mode": 493
382
407
  },
383
408
  {
@@ -467,12 +492,12 @@
467
492
  },
468
493
  {
469
494
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_compat.py",
470
- "sha256": "fc54b0564a0e46eafced3894f9e70b98ac6ce6e983eb225410b3625246fb20f4",
495
+ "sha256": "7e434a840acbeea63dd4906a8a4c4d7b8b94ecf7b8f2cc660ed059098c89d859",
471
496
  "mode": 420
472
497
  },
473
498
  {
474
499
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_order.sh",
475
- "sha256": "18b61e5f43921ebf7c36b059afb8de948c3d174990c3707d5c37a01cee2f5884",
500
+ "sha256": "33b35545b79c3092e8dad84ea7e1ef6f8b4911453214dd6ea2faf93bb0c7264f",
476
501
  "mode": 493
477
502
  },
478
503
  {
@@ -482,12 +507,12 @@
482
507
  },
483
508
  {
484
509
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_gate.sh",
485
- "sha256": "2affc2bffbb2de7eb0379b349b65c9450d1fe4c35e34111a26669c733b1ae80b",
510
+ "sha256": "75c3a939e659db104ef486b5e52bd926342b8388c4616d1ebc77552abf1a0c74",
486
511
  "mode": 493
487
512
  },
488
513
  {
489
514
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_update_review_plan_intent.sh",
490
- "sha256": "bebca6298d9c12700cf6b5f2f5caecaa38cca80df9687541304f7e8d027c76b2",
515
+ "sha256": "3e882292b03a5d77fc044e6df0d31a9e766b833c8655ca52bc29e5ab34fb59b3",
491
516
  "mode": 493
492
517
  },
493
518
  {
@@ -502,7 +527,7 @@
502
527
  },
503
528
  {
504
529
  "path": "marketplace/plugins/ccl-skills/skills/code-review/SKILL.md",
505
- "sha256": "adaba6d52d3a4417dbfce54ef3d39e9d04e5c7018c9a5a3d2e8d749382041db0",
530
+ "sha256": "1d6d662e424e9d754f1a9a458d27b7cee338f4ed5de1b33f73bb5eb55a30d188",
506
531
  "mode": 420
507
532
  },
508
533
  {
@@ -1052,7 +1077,7 @@
1052
1077
  },
1053
1078
  {
1054
1079
  "path": "marketplace/plugins/ccl-skills/skills/multi-perspective-research/SKILL.md",
1055
- "sha256": "b10d8b03bea96eca29c6b1a06cc9d2f56d68a9e41e9867d12297f5f684d9585c",
1080
+ "sha256": "6d3ae72a944725b9e31ab871a09cec8bc4e07ff65f6e3a57de125f2106eff5c7",
1056
1081
  "mode": 420
1057
1082
  },
1058
1083
  {
@@ -1477,7 +1502,7 @@
1477
1502
  },
1478
1503
  {
1479
1504
  "path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md",
1480
- "sha256": "b33441326e6dfe9ec2a587d80cb27344c9cbd6c32f7a3ca672615c3f0e6d2055",
1505
+ "sha256": "cb4e2f2b246c444dcc005ea864949c1ba8eb83e340b80e5b188c0d99e1bb4c2f",
1481
1506
  "mode": 420
1482
1507
  },
1483
1508
  {
@@ -1997,7 +2022,7 @@
1997
2022
  },
1998
2023
  {
1999
2024
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/attention-budget-ratchet.md",
2000
- "sha256": "b09b1b6908e87b75ecdb2cba5c2499b4a9bd490f7c7225b509a560285a61cb9d",
2025
+ "sha256": "807862fd959f4e0742832ab13edcf5216b0ea5404e63bbd0592d34324e137f1a",
2001
2026
  "mode": 420
2002
2027
  },
2003
2028
  {
@@ -2027,7 +2052,7 @@
2027
2052
  },
2028
2053
  {
2029
2054
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/dual-track-review-gate.md",
2030
- "sha256": "2cd2312cc155ca1c1f3acc1f1d24b0cc1e34e37404fe21212f0d87c09eff6e0b",
2055
+ "sha256": "129106a4e47a59fcce423fd58c75490e3bcc0faab599d15394afce8b70f80222",
2031
2056
  "mode": 420
2032
2057
  },
2033
2058
  {
@@ -2057,12 +2082,12 @@
2057
2082
  },
2058
2083
  {
2059
2084
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-quickstart.md",
2060
- "sha256": "7ed3fa06032d45fa6d0ab03679cf64e571a80cdf470f34476d77ab54db0869a4",
2085
+ "sha256": "80241f2b188aa129bb1d008b22702ec8b1835f4c0f7c5b65c235ad41a9f04629",
2061
2086
  "mode": 420
2062
2087
  },
2063
2088
  {
2064
2089
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/firing-point-placement.md",
2065
- "sha256": "293191bb211afd2794f23791d92c580b151a80b6799c4fb5a2ef5772691def6b",
2090
+ "sha256": "f9b610ab357e1fdf06bc014420c684ae5baa30bb70429fcc0f9759036dd9f658",
2066
2091
  "mode": 420
2067
2092
  },
2068
2093
  {
@@ -2132,7 +2157,7 @@
2132
2157
  },
2133
2158
  {
2134
2159
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md",
2135
- "sha256": "03da4744e93b396b7983aea966c14378c960e14655d1ac0829240aae929ddc01",
2160
+ "sha256": "6012341863017f917334c6906eecf533af5af481e0b88edff8f3b1849103a8a3",
2136
2161
  "mode": 420
2137
2162
  },
2138
2163
  {
@@ -2157,7 +2182,7 @@
2157
2182
  },
2158
2183
  {
2159
2184
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/validation-and-landing.md",
2160
- "sha256": "cd5cbc4ae9185a1c96fc945dee1bcfd958638498f01ba2487b772a2e9cc49ece",
2185
+ "sha256": "f5efcc2fbc7617ac703959ff4a4b36cd4929a43f174a9c613794351bfb3311e1",
2161
2186
  "mode": 420
2162
2187
  },
2163
2188
  {
@@ -2165,6 +2190,11 @@
2165
2190
  "sha256": "0ff35bd5c18039ec144ca0050de1290a7058a65e08b65b97e4c1190edc97f26b",
2166
2191
  "mode": 420
2167
2192
  },
2193
+ {
2194
+ "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check_review_evidence_present.py",
2195
+ "sha256": "f249c95c4657510f180a7ea85af6a2c0ace076462e06a1bc68ddec7389db015a",
2196
+ "mode": 493
2197
+ },
2168
2198
  {
2169
2199
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-ccl-skills.sh",
2170
2200
  "sha256": "9c3bb27f2cf8cffabfec633b33ee58a392fd7a4b464420bc6a3f02822380e94d",
@@ -2202,7 +2232,7 @@
2202
2232
  },
2203
2233
  {
2204
2234
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/contract-anchors.tsv",
2205
- "sha256": "10cdd03d67185c1b1730a34248edb6c311e6ee8b82b8ecc0f7923e8f8f368b59",
2235
+ "sha256": "67b0c89d350d4404e0f568a4b55761ecb396c96099e3560fd8548f850509288c",
2206
2236
  "mode": 420
2207
2237
  },
2208
2238
  {
@@ -2232,7 +2262,7 @@
2232
2262
  },
2233
2263
  {
2234
2264
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/extraction_review_gate.sh",
2235
- "sha256": "a8f75e9954b5e8e576efd8ae84152327dd9c18dd5a90afb20fbfb8cc3c5ae571",
2265
+ "sha256": "31793b1833026cb30ea28734340c14b72db3479c2e7485611c27ea143a75a273",
2236
2266
  "mode": 493
2237
2267
  },
2238
2268
  {
@@ -2267,12 +2297,7 @@
2267
2297
  },
2268
2298
  {
2269
2299
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/register-firing-path-resolution.rb",
2270
- "sha256": "db009982ac485aaebf708c4bff9b33fc65e2fef6264769ec1e42870f75bc8677",
2271
- "mode": 493
2272
- },
2273
- {
2274
- "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/review_ledger_binding.py",
2275
- "sha256": "b0b8205f47e263fcd8ad0bcff8392be903db3a2a12089f5f0c7be7d2f101bdc5",
2300
+ "sha256": "09683a290e63e6d52782eb02368458c8a39b078367eb446d29ce6cd7f05c4e7c",
2276
2301
  "mode": 493
2277
2302
  },
2278
2303
  {
@@ -2297,7 +2322,7 @@
2297
2322
  },
2298
2323
  {
2299
2324
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh",
2300
- "sha256": "e51dac3a34fa51656f4d096a2ce568aebd6fbc528d30d12f98cebfdc91cc8921",
2325
+ "sha256": "e546dd307cd64cfa256815d5e1ce6d484adf80ab7acdc4c20a2297827aa63166",
2301
2326
  "mode": 493
2302
2327
  },
2303
2328
  {
@@ -2332,7 +2357,7 @@
2332
2357
  },
2333
2358
  {
2334
2359
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh",
2335
- "sha256": "039ad0158c41a1b7731a64de4be39e02a489bfaa6090ef842d0d0a8068f07bc0",
2360
+ "sha256": "6083c908561d71c2b62743a6e40e371de62fcd2627bf8c24a1e74f46f5b88ea2",
2336
2361
  "mode": 493
2337
2362
  },
2338
2363
  {
@@ -2365,6 +2390,11 @@
2365
2390
  "sha256": "129b34809cea01e6ae45c56979fd14d1350dea2ec4576fc0a0f2fc17cf3a3729",
2366
2391
  "mode": 493
2367
2392
  },
2393
+ {
2394
+ "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_review_evidence_present.sh",
2395
+ "sha256": "563c7caff0717d530a46139c7b56d58f740cf983c2b8c03b6176a77f2e18da6a",
2396
+ "mode": 493
2397
+ },
2368
2398
  {
2369
2399
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_sync_pointers.sh",
2370
2400
  "sha256": "910070e5182a5202f92c0e6199e2d1a89ea72c112c1b6c79359d9f8dc0df7108",
@@ -2417,7 +2447,7 @@
2417
2447
  },
2418
2448
  {
2419
2449
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_extraction_review_gate.sh",
2420
- "sha256": "b3284aef648eb0b6bde2cd6084b4ac9b7d060e3fb244dace59fe491bab0e05e2",
2450
+ "sha256": "a5ef6b42b758518b80af27cdad15ff6b731b611c7909331f8c51e925c2038fdd",
2421
2451
  "mode": 493
2422
2452
  },
2423
2453
  {
@@ -2502,12 +2532,12 @@
2502
2532
  },
2503
2533
  {
2504
2534
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_resolution.sh",
2505
- "sha256": "4894f739af0b3aa995243592d71ca3f93de3108a11f9734422a4f15c2ca33668",
2535
+ "sha256": "ba82e2d6506ad0845e1583e64bb8d28f91ae7411c8b75f40ed44295a6c3b4897",
2506
2536
  "mode": 493
2507
2537
  },
2508
2538
  {
2509
2539
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_wiring.sh",
2510
- "sha256": "190a4044cf866c62586ec2a175fe839e3de51d8f8a60810ffdfafe5a8ae2d5a6",
2540
+ "sha256": "5a138eb28549dc9fa9cc7bb290c448eedfa51857b49c7b416b35d036f81fac0f",
2511
2541
  "mode": 493
2512
2542
  },
2513
2543
  {
@@ -2520,11 +2550,6 @@
2520
2550
  "sha256": "79159a98cf1ca73054d45b2c6f5d8707641477ba930d87a9c3486e419cbcac9b",
2521
2551
  "mode": 493
2522
2552
  },
2523
- {
2524
- "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_review_ledger_binding.sh",
2525
- "sha256": "ee702f4b842d93617f060d7f85626c3965b13c0ec7114783566a929f4b84d07f",
2526
- "mode": 493
2527
- },
2528
2553
  {
2529
2554
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_bank_integrity.sh",
2530
2555
  "sha256": "7f5068806aeac86d636e3cece64b205e0593c6dbecf0c9f54605eed3126dc49b",
@@ -2550,11 +2575,6 @@
2550
2575
  "sha256": "76533e5dd88225ff5b4f710536b6a43e5139fd2691942e52737828c3098326ce",
2551
2576
  "mode": 493
2552
2577
  },
2553
- {
2554
- "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_extraction_review_state.sh",
2555
- "sha256": "ea086686d130f3fb4b3969973f306744237caa64b8f9bfa8508b17afc1a7de38",
2556
- "mode": 493
2557
- },
2558
2578
  {
2559
2579
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_credential_cwd.sh",
2560
2580
  "sha256": "d88f7509916ac4e1f6fadf8afe138faaf6b9306a0bea06c8a99b42558430f400",
@@ -2570,11 +2590,6 @@
2570
2590
  "sha256": "1261c93b9049dd02120b45ce93284cb30af1c90cfc7da9a4c7ec9cd421ce9de4",
2571
2591
  "mode": 493
2572
2592
  },
2573
- {
2574
- "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate_extraction_review_state.py",
2575
- "sha256": "2c1c9c23ae4df7221b37e06f43e5cc255a2df8a5abcd8b8eb0baf0cb2aad9ed4",
2576
- "mode": 493
2577
- },
2578
2593
  {
2579
2594
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate-skill.sh",
2580
2595
  "sha256": "f2a92802a5d87032e85084ab2e05898f694b16b26da36be80216d354e2e02371",
@@ -2582,7 +2597,7 @@
2582
2597
  },
2583
2598
  {
2584
2599
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/SKILL.md",
2585
- "sha256": "0897aac3ad4dcad4cab7671f914bb3bd960e4625176d006b632ab0d7cbdbde6a",
2600
+ "sha256": "68bc84034b6eb0f42a9f570dfc914f05c600cc287fc524eebdf3cd68d90568ec",
2586
2601
  "mode": 420
2587
2602
  },
2588
2603
  {
@@ -2880,6 +2895,11 @@
2880
2895
  "sha256": "eaf5adc225ecd47e555611e5a1b9768fbe725204384dd96461408b81646c7fd1",
2881
2896
  "mode": 420
2882
2897
  },
2898
+ {
2899
+ "path": "marketplace/plugins/ccl-skills/skills/tighten-doc/references/closeout-reread.md",
2900
+ "sha256": "b1ffe3b6996c7d292c5cc12b62b5f07dbcaf292cae46765a573406a29f70fdb6",
2901
+ "mode": 420
2902
+ },
2883
2903
  {
2884
2904
  "path": "marketplace/plugins/ccl-skills/skills/tighten-doc/references/comment-safe-feishu.md",
2885
2905
  "sha256": "c930ab39dd676da34c202c46c798441fdf2699271a5aff17d52c1dbd87df77f7",
@@ -3187,7 +3207,7 @@
3187
3207
  },
3188
3208
  {
3189
3209
  "path": "marketplace/plugins/ccl-skills/skills/tighten-doc/SKILL.md",
3190
- "sha256": "8e0515c398c573c270650bdef1aeaed01ebfa1939b30aca397c29305c59773f8",
3210
+ "sha256": "5deb5331c65264c32d5e47c5cd672263986d9083aa4553be2f508127ad7304f0",
3191
3211
  "mode": 420
3192
3212
  },
3193
3213
  {
@@ -3433,5 +3453,5 @@
3433
3453
  "mode": 420
3434
3454
  }
3435
3455
  ],
3436
- "snapshotHash": "609330c0a6b06dd2e7dfd57a083fe049c8d374a57506de067b9c9bd89ea001a0"
3456
+ "snapshotHash": "1dd02e919b2266f2028c1c09e7e6b624cf5e8067d5549c9ba44acd6e3724630d"
3437
3457
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ccoalm/ccl-skills",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "Reusable workflows that help coding agents plan, build, test, review, and release software — for Claude Code, Codex, and OpenCode",
5
5
  "keywords": ["skills", "agent-skills", "claude", "claude-code", "codex", "opencode", "agent", "ai", "ai-agents", "cli", "anthropic", "developer-tools"],
6
6
  "type": "module",