@ccoalm/ccl-skills 0.14.0 → 0.15.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 (59) hide show
  1. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts +80 -4
  2. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-install-skills.md +16 -4
  3. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.sh +13 -2
  4. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/test.sh +53 -0
  5. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/SKILL.md +19 -24
  6. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/client-routing.md +32 -32
  7. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/manual-invocation-and-prompts.md +16 -14
  8. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md +24 -26
  9. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md +11 -0
  10. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/claude_review.sh +60 -209
  11. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/init_policy_matrix.py +114 -367
  12. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_probe_result.py +52 -672
  13. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py +17 -3
  14. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/runtime-surface-verification-design.md +4 -2
  15. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_claude_review_probe.sh +77 -444
  16. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_init_policy_matrix.sh +33 -98
  17. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_probe_result.sh +57 -173
  18. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_gate.sh +65 -0
  19. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/SKILL.md +1 -1
  20. package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/SKILL.md +1 -1
  21. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/SKILL.md +1 -1
  22. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/SKILL.md +5 -5
  23. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/alerting-and-on-call.md +8 -0
  24. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/SKILL.md +1 -1
  25. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/SKILL.md +14 -14
  26. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/dual-sidecar-and-traffic-config-center.md +1 -1
  27. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/grpc-authority-workaround.md +40 -83
  28. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/mesh-architecture.md +2 -2
  29. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/retry-timeout-circuit-breaker.md +44 -37
  30. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-recipe.md +1 -1
  31. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md +2 -2
  32. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/delivery-lifecycle.md +1 -1
  33. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/rd-standards-doc-family-checklist.md +2 -2
  34. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/SKILL.md +1 -1
  35. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/SKILL.md +1 -1
  36. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/SKILL.md +9 -6
  37. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/eval-routing.md +6 -0
  38. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/external-practice-controls.md +4 -4
  39. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md +52 -0
  40. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-golden-trace.rb +31 -7
  41. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing-bank.rb +62 -3
  42. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/impact-chain-gate.rb +188 -13
  43. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/review_ledger_binding.py +36 -13
  44. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/skill-behavior-eval.py +103 -21
  45. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_impact_chain_refscripts.sh +261 -14
  46. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh +2 -0
  47. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_resolution.sh +253 -0
  48. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_runtime.py +428 -0
  49. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_impact_chain_gate_verdict_differential.sh +49 -25
  50. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_review_ledger_binding.sh +63 -5
  51. package/dist/assets/release.json +76 -56
  52. package/dist/claude-adapter.js +14 -7
  53. package/dist/codex-host.d.ts +1 -3
  54. package/dist/codex-host.js +6 -9
  55. package/dist/host-probe.d.ts +11 -0
  56. package/dist/host-probe.js +27 -0
  57. package/dist/opencode-adapter.js +24 -19
  58. package/dist/unified.js +11 -9
  59. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schema": 1,
3
3
  "npmPackage": "@ccoalm/ccl-skills",
4
- "version": "0.14.0",
5
- "sourceCommit": "3b42a5bd027e29f72b90b055c763333964d46259",
4
+ "version": "0.15.1",
5
+ "sourceCommit": "32570b61c4ffb37f6e931ba7f2d16b6617136507",
6
6
  "sourceState": "clean",
7
7
  "files": [
8
8
  {
@@ -162,12 +162,12 @@
162
162
  },
163
163
  {
164
164
  "path": "marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts",
165
- "sha256": "6480da2f8a293209cf4e2f8c290bf7b7b6e007a1ff4fd3c272d3408239b56ca9",
165
+ "sha256": "4cc8c560cbbcfe9c7723c9986ea93645ca1926503a0ea80ae93af80f0eabd10e",
166
166
  "mode": 420
167
167
  },
168
168
  {
169
169
  "path": "marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-install-skills.md",
170
- "sha256": "449d9bee6e89b66c7247bf27c417967fa0a7d8b56e51098a49c57e5a4ad67c3a",
170
+ "sha256": "323c5055bf608ac70fffac47d8581a3e31c3f21489fd325983f022511e711a55",
171
171
  "mode": 420
172
172
  },
173
173
  {
@@ -197,7 +197,7 @@
197
197
  },
198
198
  {
199
199
  "path": "marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.sh",
200
- "sha256": "cb033d816d33ea43a71b1a5a7e2a056cf95f31f6dabff9e6bece27a1d94e15ee",
200
+ "sha256": "76efb7c5d98b8944aaee11c537aabc82259faddfa6b60bb2bfabdbf7d0602ce2",
201
201
  "mode": 493
202
202
  },
203
203
  {
@@ -207,7 +207,7 @@
207
207
  },
208
208
  {
209
209
  "path": "marketplace/plugins/ccl-skills/scripts/owner-dispatch/test.sh",
210
- "sha256": "d8d9600bd37608c13bf8ef91e07302f30a0435ccfd634c5365361f18b74030cc",
210
+ "sha256": "df5d23aef020066b427d0424c200eb64863427ea03a90de84ba5c3fbe76d450d",
211
211
  "mode": 493
212
212
  },
213
213
  {
@@ -272,17 +272,17 @@
272
272
  },
273
273
  {
274
274
  "path": "marketplace/plugins/ccl-skills/skills/code-review/references/client-routing.md",
275
- "sha256": "0cd80b1ac97dfbdde531a7d3a03c273cb66e918a6f759a82a5d796e6e3067b04",
275
+ "sha256": "702a372d54b70d9230ed25f0d8096e6762acc179eb1e7febfde9e5ebd343c0d3",
276
276
  "mode": 420
277
277
  },
278
278
  {
279
279
  "path": "marketplace/plugins/ccl-skills/skills/code-review/references/manual-invocation-and-prompts.md",
280
- "sha256": "7e2fba79714418428748dfbc055d06a67c048ec6e12f1b6b3a441f81d2c05a24",
280
+ "sha256": "a235a3dfb81dd757ce6e42e82cbc7ec428268ccc290807f5f4bbe07798b33e53",
281
281
  "mode": 420
282
282
  },
283
283
  {
284
284
  "path": "marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md",
285
- "sha256": "c63a16c569e2ae55784204a36458cab1e19351b76d7b94da1cae1ee370412449",
285
+ "sha256": "fc661c17955886936f49b4b99a760e896cdfcbad925c2671affae50108f6ade7",
286
286
  "mode": 420
287
287
  },
288
288
  {
@@ -292,7 +292,7 @@
292
292
  },
293
293
  {
294
294
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md",
295
- "sha256": "dab83de1ee7ad7b2f66f49eb0a7da4a2acc12bec3c40d1e4e4c9d1668db80d09",
295
+ "sha256": "8c0f7ed10323f19a40bec905672bc1425c8ede15b98b44a5132fd45ab07e03e2",
296
296
  "mode": 420
297
297
  },
298
298
  {
@@ -307,7 +307,7 @@
307
307
  },
308
308
  {
309
309
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/claude_review.sh",
310
- "sha256": "9dd673b56689012a6f40ffdbd74cd3cc845505b3f58dcd724c47ce4454e4ff12",
310
+ "sha256": "f7fbc0c531607510b137616278c55b922291ca220d9c7a4406401e077ebee6b3",
311
311
  "mode": 493
312
312
  },
313
313
  {
@@ -327,7 +327,7 @@
327
327
  },
328
328
  {
329
329
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/init_policy_matrix.py",
330
- "sha256": "82731b71377160669ff99284acbfaa705f13304c886f0572fe76e717030da0de",
330
+ "sha256": "f83bb777975af65064cab7b334c488c9c3f880d5de7ddcb0f6f3022d9249e58b",
331
331
  "mode": 420
332
332
  },
333
333
  {
@@ -362,7 +362,7 @@
362
362
  },
363
363
  {
364
364
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_probe_result.py",
365
- "sha256": "2b4fcfde20ae728eea51473fee7eaa85db59407a0ff67e8f9d8863ccc2e27090",
365
+ "sha256": "428eff8c3290c2dff0baf46dfbc0c3df19c599f0ba57100878c85d6d24463bcc",
366
366
  "mode": 493
367
367
  },
368
368
  {
@@ -372,7 +372,7 @@
372
372
  },
373
373
  {
374
374
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py",
375
- "sha256": "887d408540b9e195301c856df37c6883916ae9287ede623f7fd43cc31fac99e9",
375
+ "sha256": "31841b7feda1fc2ddf36654cfdc94df0bbee84d590b23cde867aae821e2b1218",
376
376
  "mode": 493
377
377
  },
378
378
  {
@@ -387,7 +387,7 @@
387
387
  },
388
388
  {
389
389
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/runtime-surface-verification-design.md",
390
- "sha256": "b92a8b2ae91608081665eabcee482b7550415d66df8ad654f1d041add6b3de8f",
390
+ "sha256": "723b96d86cdb24e33ba216e3c23a0d7d27da808a57a78fa710ea7e8311b1d078",
391
391
  "mode": 420
392
392
  },
393
393
  {
@@ -402,7 +402,7 @@
402
402
  },
403
403
  {
404
404
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_claude_review_probe.sh",
405
- "sha256": "9ef76959d21baac5b8cfc88ea52e9b347736c672df72f32071f5020db2b9b5d1",
405
+ "sha256": "1a17dd58a04ca987fa12a57fbc5f8ce1694caace6c3bc537bae6527a38f8cb35",
406
406
  "mode": 493
407
407
  },
408
408
  {
@@ -427,7 +427,7 @@
427
427
  },
428
428
  {
429
429
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_init_policy_matrix.sh",
430
- "sha256": "c93b3db0e68758a71b85f6e05c2553fd64f023e038d765976778fb69435387c3",
430
+ "sha256": "2783faecb8ec5797d56f435070092d71066124826e2d4445028ef04c5bf6aa32",
431
431
  "mode": 493
432
432
  },
433
433
  {
@@ -452,7 +452,7 @@
452
452
  },
453
453
  {
454
454
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_probe_result.sh",
455
- "sha256": "d035ef9c2cd154c4e81ae8818b1b12469f69514ad6e8d01b53f620387c568774",
455
+ "sha256": "4d459976e514b92329a29c97f339fe7b043951c4be6c418c7e3befe98158bd81",
456
456
  "mode": 493
457
457
  },
458
458
  {
@@ -477,7 +477,7 @@
477
477
  },
478
478
  {
479
479
  "path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_gate.sh",
480
- "sha256": "51ea90cd42ce9661f84c1a0f5daee4f2a17072b5f0cdfa5d3c0e27a0ec2af235",
480
+ "sha256": "55366dc96415e175c1b9a23f6fa6e118679bb656ed96c818f4a534ca14826ef0",
481
481
  "mode": 493
482
482
  },
483
483
  {
@@ -497,7 +497,7 @@
497
497
  },
498
498
  {
499
499
  "path": "marketplace/plugins/ccl-skills/skills/code-review/SKILL.md",
500
- "sha256": "f960b78a381e166bb848a80efb8834f7904cd1103d9aee176205375f4b02a81b",
500
+ "sha256": "e4ae36e1d4cf46559cbcd4fcacae00dce3ca538fb05dc92df8fd78b4a6ae694c",
501
501
  "mode": 420
502
502
  },
503
503
  {
@@ -517,7 +517,7 @@
517
517
  },
518
518
  {
519
519
  "path": "marketplace/plugins/ccl-skills/skills/defect-diagnosis/SKILL.md",
520
- "sha256": "edc593f500265943802f035ddafcd62aa2769c68c446eea0a74c66930ba7aff2",
520
+ "sha256": "73a01985225c4c790f8da6ab611defc03d2c3dcca09854a8cff9bbd78a2b31d8",
521
521
  "mode": 420
522
522
  },
523
523
  {
@@ -832,7 +832,7 @@
832
832
  },
833
833
  {
834
834
  "path": "marketplace/plugins/ccl-skills/skills/grill-me/SKILL.md",
835
- "sha256": "261268b32df1a22ba664773c5448579a640a573a5ff5018b49ee54ab98c6d97b",
835
+ "sha256": "d12c73e56c5d885aca71176735e76e00be6b57443ff4dec6a03b859f3b879334",
836
836
  "mode": 420
837
837
  },
838
838
  {
@@ -997,7 +997,7 @@
997
997
  },
998
998
  {
999
999
  "path": "marketplace/plugins/ccl-skills/skills/miniapp-product-dev/SKILL.md",
1000
- "sha256": "9342963c25cf0cd61dbc36e9c1d3d848e65d6f2a59c6c9f9947785a2cc97e048",
1000
+ "sha256": "d47b687c9b38f0bbec134cc6793ba041d08606f9798ce0573c630d1a95887818",
1001
1001
  "mode": 420
1002
1002
  },
1003
1003
  {
@@ -1087,7 +1087,7 @@
1087
1087
  },
1088
1088
  {
1089
1089
  "path": "marketplace/plugins/ccl-skills/skills/platform-observability/references/alerting-and-on-call.md",
1090
- "sha256": "e1363c5ca688cb596e1a96127dd14730cd679cd6fb7344c33b6acfac6f0258dc",
1090
+ "sha256": "8124c37f30783970ce681ba1aa05cfe507f0054640ed68b19f89da32a35105ce",
1091
1091
  "mode": 420
1092
1092
  },
1093
1093
  {
@@ -1132,7 +1132,7 @@
1132
1132
  },
1133
1133
  {
1134
1134
  "path": "marketplace/plugins/ccl-skills/skills/platform-observability/SKILL.md",
1135
- "sha256": "1d73a36f4d4e9511df81588054eba288a1db1efb5f2437a515929326142a15a8",
1135
+ "sha256": "3da20332d76fba3b982f5b920794074f7599826f063352fe5c394aaf5e66ad58",
1136
1136
  "mode": 420
1137
1137
  },
1138
1138
  {
@@ -1207,7 +1207,7 @@
1207
1207
  },
1208
1208
  {
1209
1209
  "path": "marketplace/plugins/ccl-skills/skills/platform-release-engineering/SKILL.md",
1210
- "sha256": "5e9002fe487db146c994b4b01736bffdbbd86fed0c4c747371aa057054e53826",
1210
+ "sha256": "04c107c45a2acabb4aea65ce996a472064af68355de4929a6b8f731f9f53cd8e",
1211
1211
  "mode": 420
1212
1212
  },
1213
1213
  {
@@ -1217,7 +1217,7 @@
1217
1217
  },
1218
1218
  {
1219
1219
  "path": "marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/dual-sidecar-and-traffic-config-center.md",
1220
- "sha256": "a08191d88586922182e83183282f9ef6f94c46d2097de05179f689dd6e2761ed",
1220
+ "sha256": "9f929f6b9bdc03c88f415cf99169d1b7bd508a49a0a80d9f2da2ffc4e079f4a7",
1221
1221
  "mode": 420
1222
1222
  },
1223
1223
  {
@@ -1227,7 +1227,7 @@
1227
1227
  },
1228
1228
  {
1229
1229
  "path": "marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/grpc-authority-workaround.md",
1230
- "sha256": "f936a8f95c1fad672fcdaadb723af2ea316fbd0dc0270c9f77b846e7d8704bdb",
1230
+ "sha256": "40c7c658a86e08afd47aa7e6cecdf71e2af08ef6c7b5768c5571e17f78b55b32",
1231
1231
  "mode": 420
1232
1232
  },
1233
1233
  {
@@ -1237,7 +1237,7 @@
1237
1237
  },
1238
1238
  {
1239
1239
  "path": "marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/mesh-architecture.md",
1240
- "sha256": "4eaa070fb7669b5be1e33f267558f49f09d9102d07906efb579570adbf9a2d4e",
1240
+ "sha256": "41b7e324969a3d21065fa9139ecabfda86439a5b02eeb18bac4300c1de0e6767",
1241
1241
  "mode": 420
1242
1242
  },
1243
1243
  {
@@ -1252,7 +1252,7 @@
1252
1252
  },
1253
1253
  {
1254
1254
  "path": "marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/retry-timeout-circuit-breaker.md",
1255
- "sha256": "4158a44920b029352eff86ca1eb555218073b69b0cc58ea39286745fee312d08",
1255
+ "sha256": "936383132340fec08539ded8cce57a9d3027af3b90eab6673af562b5c358a412",
1256
1256
  "mode": 420
1257
1257
  },
1258
1258
  {
@@ -1272,12 +1272,12 @@
1272
1272
  },
1273
1273
  {
1274
1274
  "path": "marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-recipe.md",
1275
- "sha256": "6adefb920ae5b0b2496ef5feed9b1b5c44c944111da0bd282d0afecbd30de599",
1275
+ "sha256": "e0f46825eeb423505e44d2deb7d3c4abecd859bc7b61c304085b02dc2a798533",
1276
1276
  "mode": 420
1277
1277
  },
1278
1278
  {
1279
1279
  "path": "marketplace/plugins/ccl-skills/skills/platform-service-connectivity/SKILL.md",
1280
- "sha256": "17c0927bfaaf723480a73f962d9c5675fe41710e487ae8c8a62eaf6b2617c3fa",
1280
+ "sha256": "558b1d6864527d981d5811fb709acb08405218aced5a1515ae9394ab2fb1a81a",
1281
1281
  "mode": 420
1282
1282
  },
1283
1283
  {
@@ -1332,7 +1332,7 @@
1332
1332
  },
1333
1333
  {
1334
1334
  "path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/delivery-lifecycle.md",
1335
- "sha256": "17b5f7eee4049894cb855de31878abfda1196a20278a0ccd5c03c87ecf4d720c",
1335
+ "sha256": "3cf969368a7c0343c74ea891fbf78dde8f63295e73c7121a700757df9d0ab1e5",
1336
1336
  "mode": 420
1337
1337
  },
1338
1338
  {
@@ -1417,7 +1417,7 @@
1417
1417
  },
1418
1418
  {
1419
1419
  "path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/rd-standards-doc-family-checklist.md",
1420
- "sha256": "f88d85cfb4ebd7ec292a46472df365d8c97ca776b6ab4a5024d7bfe54bc093f3",
1420
+ "sha256": "62f3008e36d84eaca73a1c849f32abc20ebd63ec492c7e87a7d1baf4833c6e0e",
1421
1421
  "mode": 420
1422
1422
  },
1423
1423
  {
@@ -1472,7 +1472,7 @@
1472
1472
  },
1473
1473
  {
1474
1474
  "path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md",
1475
- "sha256": "3569609af15adace2db554945a3fd2a2926b45802e26df05da1132da3b8cd9ca",
1475
+ "sha256": "3e0f6d5434294acb66896b936f007d9bef67e608b34728b99a7d2ef07122e690",
1476
1476
  "mode": 420
1477
1477
  },
1478
1478
  {
@@ -1932,7 +1932,7 @@
1932
1932
  },
1933
1933
  {
1934
1934
  "path": "marketplace/plugins/ccl-skills/skills/requirement-baseline/SKILL.md",
1935
- "sha256": "0b00a330676206a805e3ab7740086b68b0f0efc763e10183215325724f4e9287",
1935
+ "sha256": "3c54a33449fbeaf8a83d1d8cb21964d990be11c3889a54a21c0ec82665b47396",
1936
1936
  "mode": 420
1937
1937
  },
1938
1938
  {
@@ -1957,7 +1957,7 @@
1957
1957
  },
1958
1958
  {
1959
1959
  "path": "marketplace/plugins/ccl-skills/skills/requirement-doc-writer/SKILL.md",
1960
- "sha256": "7716f0e4324bca6a071f98ab36bdb046d6d854d21d51069da8c37850ff2595f1",
1960
+ "sha256": "7007abab8aa412e67ef2db7c5107c42fc193795bc76138703ad3f0273ba1e37f",
1961
1961
  "mode": 420
1962
1962
  },
1963
1963
  {
@@ -1977,7 +1977,7 @@
1977
1977
  },
1978
1978
  {
1979
1979
  "path": "marketplace/plugins/ccl-skills/skills/requirement-scope/SKILL.md",
1980
- "sha256": "c90040ac05c6c2102ad60137dd89fc488c46ba11044f1999fc424ef5a6acfa29",
1980
+ "sha256": "31f46a35743b8da351f5a517a3d15a0cbe92ca4f0b778d21aec6d0b5574a9546",
1981
1981
  "mode": 420
1982
1982
  },
1983
1983
  {
@@ -2027,7 +2027,7 @@
2027
2027
  },
2028
2028
  {
2029
2029
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/eval-routing.md",
2030
- "sha256": "867941f4dcb59c19b36310f8f304bf883e77a5c58c9e9d5cf82e879720dff0de",
2030
+ "sha256": "bbe5ac36800a0c3301d82b467076863ab9b72c51be0656b14ec79a6c382f1bbc",
2031
2031
  "mode": 420
2032
2032
  },
2033
2033
  {
@@ -2042,7 +2042,7 @@
2042
2042
  },
2043
2043
  {
2044
2044
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/external-practice-controls.md",
2045
- "sha256": "665eaecb1f9ef219f581fa86a02df4bb378694dbc4ff52b5117f7c929bdec287",
2045
+ "sha256": "98c8ef6d9250f96feb9e996e108ca473475c9b690c7a0efc57ed5a30e2665d2c",
2046
2046
  "mode": 420
2047
2047
  },
2048
2048
  {
@@ -2127,7 +2127,7 @@
2127
2127
  },
2128
2128
  {
2129
2129
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md",
2130
- "sha256": "12ca28829763dcd5b1e7e55ffe32c5189757855d9e22d34a56c4dc1524293e18",
2130
+ "sha256": "006325a862d0bac253bfdd61c940c29fa20b1ddcf1ddebae4726a7a866a45f5a",
2131
2131
  "mode": 420
2132
2132
  },
2133
2133
  {
@@ -2207,7 +2207,7 @@
2207
2207
  },
2208
2208
  {
2209
2209
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-golden-trace.rb",
2210
- "sha256": "14c3c7c1437c6d70c5ab48ac8b1312fab3a421de31b110da84fa0528762b924c",
2210
+ "sha256": "70d0b824c79f701606f752e815fbe7b643324b6f56d601e4e55b3ceae578ad62",
2211
2211
  "mode": 493
2212
2212
  },
2213
2213
  {
@@ -2217,7 +2217,7 @@
2217
2217
  },
2218
2218
  {
2219
2219
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing-bank.rb",
2220
- "sha256": "fcfabff1e2ae8053a93dd71deb651ea7322e3eeb397c8c41b53c3c86f4cdacaf",
2220
+ "sha256": "6d1e2f0d13c0965ffe5b41e42a86bfd7e135158cbd1bdfbcbb6f01be9140bee0",
2221
2221
  "mode": 493
2222
2222
  },
2223
2223
  {
@@ -2247,7 +2247,7 @@
2247
2247
  },
2248
2248
  {
2249
2249
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/impact-chain-gate.rb",
2250
- "sha256": "9430395d38d36863e6ec5e4a2087e558c4f2214dc90feebdaa70e8d0d92a29f8",
2250
+ "sha256": "c2a4816b7c7043a7868c0ced2b7a4046b5aba088dda622ffec49360306f59ce1",
2251
2251
  "mode": 493
2252
2252
  },
2253
2253
  {
@@ -2267,7 +2267,7 @@
2267
2267
  },
2268
2268
  {
2269
2269
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/review_ledger_binding.py",
2270
- "sha256": "ae7b2aa0c7f0afa569f424fbd57d62209e21fd4da9a6b94da15686eb4b2d8719",
2270
+ "sha256": "19771e040412508c08eb5f591358d2a5da454d63426eb0c4c1eec6244850fe2b",
2271
2271
  "mode": 493
2272
2272
  },
2273
2273
  {
@@ -2277,7 +2277,7 @@
2277
2277
  },
2278
2278
  {
2279
2279
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/skill-behavior-eval.py",
2280
- "sha256": "c6e82dbbf5b9ea8ac05e38cba1f9404cde4c6f9609bfef8fd645ea3c61d1647e",
2280
+ "sha256": "d65c8a76ae6d4ceacbe16885abc3e0c51d6fd152d491437db7e1e8fc9988ad08",
2281
2281
  "mode": 493
2282
2282
  },
2283
2283
  {
@@ -2307,7 +2307,7 @@
2307
2307
  },
2308
2308
  {
2309
2309
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_impact_chain_refscripts.sh",
2310
- "sha256": "82eb576dd1a0280bdd7cbe742f5903a5b1919f8b0bdd8da53489b47f0468e09c",
2310
+ "sha256": "dbc090be57b6f14795e6b7dcd79abe83bb1efa3d2f090040c4b7225b4e10d2fa",
2311
2311
  "mode": 493
2312
2312
  },
2313
2313
  {
@@ -2327,7 +2327,7 @@
2327
2327
  },
2328
2328
  {
2329
2329
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh",
2330
- "sha256": "c8309b75883f8e7e404ae15a85efc347e58f0255385bf57ddb6b200a3b587588",
2330
+ "sha256": "039ad0158c41a1b7731a64de4be39e02a489bfaa6090ef842d0d0a8068f07bc0",
2331
2331
  "mode": 493
2332
2332
  },
2333
2333
  {
@@ -2390,6 +2390,11 @@
2390
2390
  "sha256": "10cacb2baf142dbedddbecb34ac2ee1bd9d043b9c946acff9ce83373be0d1553",
2391
2391
  "mode": 493
2392
2392
  },
2393
+ {
2394
+ "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_resolution.sh",
2395
+ "sha256": "ea151e086c53d3cbf227e1e5cf6a3c3ef54d0e6460b4ec61275a097073499c11",
2396
+ "mode": 493
2397
+ },
2393
2398
  {
2394
2399
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_surface_binding.sh",
2395
2400
  "sha256": "68003f1b1bc58023236a021ca5272b598cb7d9080182548a012992322214b9e8",
@@ -2400,6 +2405,11 @@
2400
2405
  "sha256": "8ddd704eac6f4ffdc5d5b6566f9a2b3d5e940b944af448586dfec0e920a54ee5",
2401
2406
  "mode": 493
2402
2407
  },
2408
+ {
2409
+ "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_runtime.py",
2410
+ "sha256": "b40fb184ba6e98d767f3d9c8e9c7d20a834bba79e644b1626c6071aa777d3f60",
2411
+ "mode": 420
2412
+ },
2403
2413
  {
2404
2414
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_extraction_review_gate.sh",
2405
2415
  "sha256": "b3284aef648eb0b6bde2cd6084b4ac9b7d060e3fb244dace59fe491bab0e05e2",
@@ -2442,7 +2452,7 @@
2442
2452
  },
2443
2453
  {
2444
2454
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_impact_chain_gate_verdict_differential.sh",
2445
- "sha256": "30d94cbf6d2255d1a9eb38eb558ef2d8c638b4d1a65d739b1c713f339b9b22ad",
2455
+ "sha256": "b53ec5cc1247bbcd068f43eacac190de2efcea531883f8e25828522870553a37",
2446
2456
  "mode": 493
2447
2457
  },
2448
2458
  {
@@ -2507,7 +2517,7 @@
2507
2517
  },
2508
2518
  {
2509
2519
  "path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_review_ledger_binding.sh",
2510
- "sha256": "a7274e735371dcd80b4c1b7745e3e5648d7e84b1dee676bf2743f4600751a770",
2520
+ "sha256": "a299ded873de1796f8e377e832d59faa1909bcceb5504347b072186139362f36",
2511
2521
  "mode": 493
2512
2522
  },
2513
2523
  {
@@ -3259,7 +3269,7 @@
3259
3269
  },
3260
3270
  {
3261
3271
  "path": "claude-adapter.js",
3262
- "sha256": "661a9486abcf1bf44ecb34ef77c66b8bf1ab5d5fbd006587888d092c4348119c",
3272
+ "sha256": "75386ab4c98d7e4056fa22683168da1867536bdc2de4d02c8b6fbef68e908713",
3263
3273
  "mode": 420
3264
3274
  },
3265
3275
  {
@@ -3284,12 +3294,12 @@
3284
3294
  },
3285
3295
  {
3286
3296
  "path": "codex-host.d.ts",
3287
- "sha256": "4a45f6fc30732210a684cde96b37dc96242a56b565723f8267edbdfd5d44011c",
3297
+ "sha256": "1f1987b0820ff80c915e2a66f5324fa3790465d23b9d1fca55be178ed1c0dbdd",
3288
3298
  "mode": 420
3289
3299
  },
3290
3300
  {
3291
3301
  "path": "codex-host.js",
3292
- "sha256": "53d2b44b4dacab1170402a70ed857fb46645dd91b6b8a08b0454f43bb033b120",
3302
+ "sha256": "09649bcb081b97b947a1b83441d0ac8fd2868461e5f295f241d731932d3ba04a",
3293
3303
  "mode": 420
3294
3304
  },
3295
3305
  {
@@ -3302,6 +3312,16 @@
3302
3312
  "sha256": "4e2cf0e4742d91d8f9b2024d7df3fc93690fa3a71ab35a4762bed59705e87044",
3303
3313
  "mode": 420
3304
3314
  },
3315
+ {
3316
+ "path": "host-probe.d.ts",
3317
+ "sha256": "49974a5794f49a27b1bbacdb476f4d6049aad756e17a0f9856172053ed746173",
3318
+ "mode": 420
3319
+ },
3320
+ {
3321
+ "path": "host-probe.js",
3322
+ "sha256": "db73d028fa5fc9f70887c09539bcce10ff21b0cef76101445c8820028153e2d5",
3323
+ "mode": 420
3324
+ },
3305
3325
  {
3306
3326
  "path": "index.d.ts",
3307
3327
  "sha256": "37bf7ef65f13c512112942fa78257e84d42535993669cd97fbea2374dd20e174",
@@ -3329,7 +3349,7 @@
3329
3349
  },
3330
3350
  {
3331
3351
  "path": "opencode-adapter.js",
3332
- "sha256": "51f09cfe6138cfe3db8587a644de528e51177af273d374db303cd1675c947c28",
3352
+ "sha256": "637d3df5182ad6a51ed310736be65471fd0b432c078483af163d340ac04d6460",
3333
3353
  "mode": 420
3334
3354
  },
3335
3355
  {
@@ -3369,7 +3389,7 @@
3369
3389
  },
3370
3390
  {
3371
3391
  "path": "unified.js",
3372
- "sha256": "2aeabe2364755dc91d7058bf3e3b8e2bb4086a0392da6b8f87a3892879334915",
3392
+ "sha256": "e5f2870f5ba9689b3cc903c9403b8ade85b7df5364e2037fe7a3eed04aeedc4a",
3373
3393
  "mode": 420
3374
3394
  },
3375
3395
  {
@@ -3403,5 +3423,5 @@
3403
3423
  "mode": 420
3404
3424
  }
3405
3425
  ],
3406
- "snapshotHash": "ba1bcedf0fe6247bda9eb70091de735a5e6fef8e7fc8d82f573841870dcb5302"
3426
+ "snapshotHash": "8fd7e270f237790aff425a4e1ece90ddd91919b4a94191b3bfb17e2e75780e04"
3407
3427
  }
@@ -5,6 +5,7 @@ import { fileURLToPath } from "node:url";
5
5
  import { atomicJson, canonicalAlias, copyRegularTree, verifyTree } from "./fs-safe.js";
6
6
  import { manifestFor, readManifest, readRelease } from "./manifest.js";
7
7
  import { compare } from "./version.js";
8
+ import { probeHostVersion } from "./host-probe.js";
8
9
  const MARKET = "ccl-skills-npm", REF = `ccl-skills@${MARKET}`;
9
10
  function paths(context) {
10
11
  const rawHome = context.home ?? (context.env ? context.env.HOME : process.env.HOME);
@@ -46,9 +47,9 @@ function command(args, context, allowFailure = false) {
46
47
  return result;
47
48
  }
48
49
  function state(context) {
49
- const version = command(["--version"], context, true);
50
- if (version.status !== 0)
51
- return { host: false, marketplace: null, plugin: false, legacy: false };
50
+ const version = probeHostVersion("claude", context.env || process.env);
51
+ if (!version.ok)
52
+ return { host: false, hostFailure: { code: 4, status: `host-${version.kind}`, message: version.message } };
52
53
  const marketsRaw = command(["plugin", "marketplace", "list", "--json"], context), pluginsRaw = command(["plugin", "list", "--json"], context);
53
54
  let markets, plugins;
54
55
  try {
@@ -100,6 +101,8 @@ function prepare(context, old) {
100
101
  }
101
102
  function removeRegistration(context) {
102
103
  const current = state(context);
104
+ if (!current.host)
105
+ throw new Error(current.hostFailure.message);
103
106
  if (current.plugin)
104
107
  command(["plugin", "uninstall", REF, "--scope", "user"], context);
105
108
  if (current.marketplace)
@@ -109,6 +112,8 @@ function installRegistration(marketplace, context) {
109
112
  command(["plugin", "marketplace", "add", marketplace, "--scope", "user"], context);
110
113
  command(["plugin", "install", REF, "--scope", "user"], context);
111
114
  const current = state(context);
115
+ if (!current.host)
116
+ throw new Error(current.hostFailure.message);
112
117
  if (!current.plugin || !samePath(current.marketplace || "", marketplace))
113
118
  throw new Error("Claude did not expose the exact npm marketplace candidate");
114
119
  }
@@ -117,7 +122,7 @@ function doctor(context) {
117
122
  assertExclusiveRoot(p.claudeHome, p.root);
118
123
  const current = state(context);
119
124
  if (!current.host)
120
- return { code: 4, status: "host-missing", message: "Claude CLI is not installed" };
125
+ return current.hostFailure;
121
126
  if (current.legacy)
122
127
  return { code: 3, status: "double-install", message: "Git marketplace and npm marketplace are both present; keep exactly one" };
123
128
  const manifest = readManifest(p.manifest);
@@ -138,7 +143,7 @@ function installOrUpdate(commandName, options, context) {
138
143
  assertExclusiveRoot(p.claudeHome, p.root, true);
139
144
  const current = state(context);
140
145
  if (!current.host)
141
- return { code: 4, status: "host-missing", message: "Claude CLI is not installed" };
146
+ return current.hostFailure;
142
147
  if (current.legacy)
143
148
  return { code: 3, status: "double-install", message: "Remove the Git marketplace install or choose it instead of npm" };
144
149
  const old = readManifest(p.manifest), release = readRelease(p.release);
@@ -199,18 +204,20 @@ function uninstall(options, context) {
199
204
  const p = paths(context);
200
205
  assertExclusiveRoot(p.claudeHome, p.root);
201
206
  const manifest = readManifest(p.manifest), current = state(context);
207
+ if (!current.host)
208
+ return { ...current.hostFailure, message: `${current.hostFailure.message}; refusing to drop ownership evidence while registration cannot be verified` };
202
209
  if (!manifest && !current.plugin && !current.marketplace)
203
210
  return { code: 0, status: "absent", message: "Claude npm install is already absent" };
204
211
  if (!manifest)
205
212
  return { code: 3, status: "unowned-registration", message: "refusing to remove an unowned Claude registration" };
206
- if (!current.host)
207
- return { code: 4, status: "host-missing", message: "Claude CLI is not installed; refusing to drop ownership evidence while registration cannot be verified" };
208
213
  if (!options.yes)
209
214
  return { code: 0, status: "dry-run", message: "Claude uninstall preview", plan: ["remove npm plugin", "remove npm marketplace", "delete exclusive owned snapshots"] };
210
215
  if (context.isInterrupted?.())
211
216
  return { code: 130, status: "interrupted", message: "Claude uninstall interrupted before registration mutation", interrupted: true };
212
217
  removeRegistration(context);
213
218
  const after = state(context);
219
+ if (!after.host)
220
+ return { code: 5, status: "partial", message: `${after.hostFailure.message}; uninstall state is unverified, retaining ownership evidence` };
214
221
  if (after.plugin || after.marketplace)
215
222
  return { code: 5, status: "partial", message: "Claude registration remains after uninstall" };
216
223
  try {
@@ -11,12 +11,10 @@ export declare function checkHost(codexHome?: string): {
11
11
  ok: false;
12
12
  kind: string;
13
13
  message: string;
14
- version?: undefined;
14
+ output?: undefined;
15
15
  } | {
16
16
  ok: true;
17
17
  version: string;
18
- kind?: undefined;
19
- message?: undefined;
20
18
  };
21
19
  export declare function parsePluginList(text: string, marketplaceSource: string | null): {
22
20
  ok: boolean;
@@ -4,6 +4,7 @@ import { isAbsolute, join, resolve } from "node:path";
4
4
  import { LEGACY_REF, MARKET, REF } from "./paths.js";
5
5
  import { canonicalAlias } from "./fs-safe.js";
6
6
  import { compare, parseVersion } from "./version.js";
7
+ import { probeHostVersion } from "./host-probe.js";
7
8
  function call(args, codexHome) {
8
9
  const env = {
9
10
  ...process.env,
@@ -16,14 +17,10 @@ function call(args, codexHome) {
16
17
  });
17
18
  }
18
19
  export function checkHost(codexHome) {
19
- const p = call(["--version"], codexHome);
20
- if (p.error || p.status !== 0)
21
- return {
22
- ok: false,
23
- kind: "missing",
24
- message: "Codex CLI is missing",
25
- };
26
- const version = parseVersion(`${p.stdout}\n${p.stderr}`);
20
+ const p = probeHostVersion("codex", { ...process.env, ...(codexHome ? { CODEX_HOME: codexHome } : {}) });
21
+ if (!p.ok)
22
+ return p;
23
+ const version = parseVersion(p.output);
27
24
  if (!version || compare(version, "0.133.0") < 0)
28
25
  return {
29
26
  ok: false,
@@ -37,7 +34,7 @@ export function parsePluginList(text, marketplaceSource) {
37
34
  if (lines.length === 0 ||
38
35
  (lines.length === 1 && lines[0] === "No marketplace plugins found."))
39
36
  return { ok: true, plugin: false, legacy: false };
40
- const header = /^PLUGIN\s+STATUS\s+VERSION\s+PATH\s*$/;
37
+ const header = /^PLUGIN\s+STATUS\s+VERSION\s+(?:PATH|SOURCE)\s*$/;
41
38
  const provenance = /^Marketplace `([^`]+)`$/;
42
39
  const sensitiveRefs = new Set();
43
40
  let plugin = false;
@@ -0,0 +1,11 @@
1
+ export declare function probeHostVersion(command: string, env?: NodeJS.ProcessEnv): {
2
+ ok: false;
3
+ kind: string;
4
+ message: string;
5
+ output?: undefined;
6
+ } | {
7
+ ok: true;
8
+ output: string;
9
+ kind?: undefined;
10
+ message?: undefined;
11
+ };