@ccoalm/ccl-skills 0.15.1 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/assets/marketplace/plugins/ccl-skills/agent-context/session-start.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/SKILL.md +2 -2
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/SKILL.md +6 -5
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/development-completion.md +26 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md +37 -13
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md +5 -2
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/codex_review.sh +77 -5
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_packet_mcp.py +98 -4
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_cli_review.py +48 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py +230 -16
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_cli_review_wrappers.sh +165 -11
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_kimi_packet_mcp.py +143 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_compat.py +572 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/SKILL.md +3 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/SKILL.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/SKILL.md +2 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/SKILL.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/SKILL.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/nodejs-service-dev/SKILL.md +2 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/SKILL.md +3 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/SKILL.md +3 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/SKILL.md +2 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md +7 -7
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-review-gate-mechanics.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/pre-final-continuation-gate.md +20 -11
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/refactoring-discipline.md +7 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/SKILL.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/SKILL.md +2 -2
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/dual-track-review-gate.md +17 -17
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/harness-patterns-and-eval.md +4 -4
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/resume-paused-delivery.md +3 -3
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md +11 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh +83 -48
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_body_compliance_grading.sh +80 -2
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_controlled_escalation_pins.sh +3 -2
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_extraction_review_state.sh +190 -2
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate_extraction_review_state.py +106 -4
- package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/SKILL.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/SKILL.md +3 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/SKILL.md +1 -1
- package/dist/assets/release.json +54 -49
- package/dist/codex-host.d.ts +1 -1
- package/dist/codex-host.js +39 -15
- package/dist/host-probe.d.ts +16 -0
- package/dist/host-probe.js +29 -5
- package/dist/operations.js +34 -8
- package/dist/unified.d.ts +1 -1
- package/dist/unified.js +11 -4
- package/package.json +1 -1
|
@@ -247,7 +247,7 @@ def load(path: Path) -> tuple[dict[str, Any], Path]:
|
|
|
247
247
|
"finding_classes",
|
|
248
248
|
"unreviewed_delta",
|
|
249
249
|
"closeout_state",
|
|
250
|
-
},
|
|
250
|
+
} | ({"finding_dispositions"} if "finding_dispositions" in value else set()),
|
|
251
251
|
"ledger",
|
|
252
252
|
)
|
|
253
253
|
return payload, path.absolute().parent
|
|
@@ -451,7 +451,9 @@ def validate_controller_receipts(
|
|
|
451
451
|
finding, f"controller receipt {expected_index}.findings[{finding_index}]"
|
|
452
452
|
)
|
|
453
453
|
if finding_hash in current_finding_set:
|
|
454
|
-
|
|
454
|
+
# Raw receipts stay intact; repeated canonical payloads share
|
|
455
|
+
# this receipt's existing finding identity and first-seen order.
|
|
456
|
+
continue
|
|
455
457
|
current_finding_set.add(finding_hash)
|
|
456
458
|
current_findings.append(finding_hash)
|
|
457
459
|
if receipt["status"] == "passed" and findings:
|
|
@@ -544,8 +546,26 @@ def validate_completion_receipt(
|
|
|
544
546
|
or receipt.get("findings") != []
|
|
545
547
|
):
|
|
546
548
|
fail("completion receipt must be a passed self_reviewed complete result")
|
|
547
|
-
|
|
548
|
-
|
|
549
|
+
basis = receipt.get("completion_basis", "external_pass")
|
|
550
|
+
if basis == "external_pass":
|
|
551
|
+
if final.get("status") != "passed" or final.get("findings") != []:
|
|
552
|
+
fail("completion receipt cannot close a final external receipt with findings")
|
|
553
|
+
if receipt.get("finding_dispositions_sha256") is not None or receipt.get(
|
|
554
|
+
"resolved_finding_occurrences", []
|
|
555
|
+
) != []:
|
|
556
|
+
fail("external_pass completion cannot carry finding dispositions")
|
|
557
|
+
elif basis == "source_refuted_findings":
|
|
558
|
+
if (
|
|
559
|
+
len(receipts) < 2
|
|
560
|
+
or receipts[0].get("mode") != "review"
|
|
561
|
+
or final.get("mode") != "challenge"
|
|
562
|
+
or final.get("status") not in {"passed", "findings"}
|
|
563
|
+
or any(item.get("predecessor_chain_id") is not None for item in receipts)
|
|
564
|
+
or any(item.get("candidate_sha256") != final.get("candidate_sha256") for item in receipts)
|
|
565
|
+
):
|
|
566
|
+
fail("source_refuted completion requires a same-candidate review and challenge without succession")
|
|
567
|
+
else:
|
|
568
|
+
fail("completion receipt has an unknown completion_basis")
|
|
549
569
|
if receipt.get("review_chain_tracked") is not True or receipt.get("review_chain_id") != chain_id:
|
|
550
570
|
fail("completion receipt review_chain_id does not match the controller chain")
|
|
551
571
|
if receipt.get("challenge_budget") != WRAPPER_CHALLENGE_BUDGET or type(receipt.get("challenge_budget")) is not int:
|
|
@@ -584,6 +604,85 @@ def validate_completion_receipt(
|
|
|
584
604
|
return receipt
|
|
585
605
|
|
|
586
606
|
|
|
607
|
+
def validate_completion_dispositions(
|
|
608
|
+
payload: dict[str, Any],
|
|
609
|
+
ledger_dir: Path,
|
|
610
|
+
completion: dict[str, Any] | None,
|
|
611
|
+
receipt_hashes: list[str],
|
|
612
|
+
receipt_findings: dict[str, list[str]],
|
|
613
|
+
candidate: str,
|
|
614
|
+
) -> None:
|
|
615
|
+
if completion is None or completion.get("completion_basis") != "source_refuted_findings":
|
|
616
|
+
if "finding_dispositions" in payload:
|
|
617
|
+
fail("finding_dispositions requires a source_refuted_findings completion")
|
|
618
|
+
return
|
|
619
|
+
ref = exact_object(payload.get("finding_dispositions"), {"file", "sha256"}, "finding_dispositions")
|
|
620
|
+
raw = load_sibling(
|
|
621
|
+
ledger_dir,
|
|
622
|
+
file_value=ref["file"],
|
|
623
|
+
digest_value=ref["sha256"],
|
|
624
|
+
label="finding dispositions",
|
|
625
|
+
maximum=MAX_EVIDENCE_BYTES,
|
|
626
|
+
)
|
|
627
|
+
if completion.get("finding_dispositions_sha256") != ref["sha256"]:
|
|
628
|
+
fail("completion disposition digest does not match the bound finding_dispositions file")
|
|
629
|
+
document = exact_object(
|
|
630
|
+
decode_json(raw, label="finding dispositions"),
|
|
631
|
+
{"schema_version", "candidate_sha256", "review_result_sha256", "dispositions"},
|
|
632
|
+
"finding dispositions",
|
|
633
|
+
)
|
|
634
|
+
if type(document["schema_version"]) is not int or document["schema_version"] != 1:
|
|
635
|
+
fail("finding dispositions schema_version must be 1")
|
|
636
|
+
if sha256(document["candidate_sha256"], "finding dispositions.candidate_sha256") != candidate:
|
|
637
|
+
fail("finding dispositions are stale for the current candidate")
|
|
638
|
+
if document["review_result_sha256"] != receipt_hashes:
|
|
639
|
+
fail("finding dispositions must bind the full ordered controller receipts")
|
|
640
|
+
expected = [
|
|
641
|
+
{"receipt_sha256": receipt_hash, "finding_sha256": finding_hash}
|
|
642
|
+
for receipt_hash in receipt_hashes
|
|
643
|
+
for finding_hash in receipt_findings[receipt_hash]
|
|
644
|
+
]
|
|
645
|
+
if not expected:
|
|
646
|
+
fail("source_refuted completion requires at least one controller finding")
|
|
647
|
+
if completion.get("resolved_finding_occurrences") != expected:
|
|
648
|
+
fail("completion resolved_finding_occurrences must match the ordered controller findings")
|
|
649
|
+
dispositions = document["dispositions"]
|
|
650
|
+
if not isinstance(dispositions, list) or len(dispositions) != len(expected):
|
|
651
|
+
fail("finding dispositions must cover the full ordered controller findings")
|
|
652
|
+
class_occurrences = {
|
|
653
|
+
(item["receipt_sha256"], item["finding_sha256"]): item
|
|
654
|
+
for row in payload["finding_classes"]
|
|
655
|
+
for item in row["occurrences"]
|
|
656
|
+
}
|
|
657
|
+
for index, (value, expected_pair) in enumerate(zip(dispositions, expected)):
|
|
658
|
+
label = f"finding dispositions.dispositions[{index}]"
|
|
659
|
+
row = exact_object(value, {"receipt_sha256", "finding_sha256", "disposition", "evidence"}, label)
|
|
660
|
+
if any(row[key] != value for key, value in expected_pair.items()):
|
|
661
|
+
fail("finding dispositions must cover the full ordered controller findings")
|
|
662
|
+
occurrence = class_occurrences[(row["receipt_sha256"], row["finding_sha256"])]
|
|
663
|
+
if row["disposition"] != "source_refuted" or occurrence["disposition"] != "source_refuted":
|
|
664
|
+
fail("adjudicated completion permits only source_refuted finding occurrences")
|
|
665
|
+
evidence = row["evidence"]
|
|
666
|
+
if not isinstance(evidence, list) or not evidence:
|
|
667
|
+
fail(f"{label} requires a non-empty evidence array")
|
|
668
|
+
for evidence_index, item in enumerate(evidence):
|
|
669
|
+
bounded_text(item, f"{label}.evidence[{evidence_index}]", 1000)
|
|
670
|
+
if len(evidence) != len(set(evidence)):
|
|
671
|
+
fail(f"{label}.evidence contains duplicates")
|
|
672
|
+
# Class validation already binds this witness to the candidate, raw
|
|
673
|
+
# finding, and disposition. Require the complete checkpoint to use the
|
|
674
|
+
# same evidence; neither record authenticates its semantic truth.
|
|
675
|
+
witness = decode_json(load_sibling(
|
|
676
|
+
ledger_dir,
|
|
677
|
+
file_value=occurrence["disposition_evidence_file"],
|
|
678
|
+
digest_value=occurrence["disposition_evidence_sha256"],
|
|
679
|
+
label=f"{label} class disposition evidence",
|
|
680
|
+
maximum=MAX_EVIDENCE_BYTES,
|
|
681
|
+
), label=f"{label} class disposition evidence")
|
|
682
|
+
if evidence != witness["evidence"]:
|
|
683
|
+
fail(f"{label} does not match its class disposition evidence")
|
|
684
|
+
|
|
685
|
+
|
|
587
686
|
def validate_base_attestations(
|
|
588
687
|
payload: dict[str, Any],
|
|
589
688
|
ledger_dir: Path,
|
|
@@ -991,6 +1090,9 @@ def validate(payload: dict[str, Any], ledger_dir: Path) -> tuple[str, int, int]:
|
|
|
991
1090
|
any_unresolved = validate_finding_classes(
|
|
992
1091
|
payload, ledger_dir, receipt_findings, candidate, closeout
|
|
993
1092
|
)
|
|
1093
|
+
validate_completion_dispositions(
|
|
1094
|
+
payload, ledger_dir, completion, receipt_hashes, receipt_findings, candidate
|
|
1095
|
+
)
|
|
994
1096
|
|
|
995
1097
|
delta = payload["unreviewed_delta"]
|
|
996
1098
|
if not isinstance(delta, list):
|
|
@@ -5,7 +5,7 @@ description: CLI/terminal/console/PTY/ANSI/keyboard/TUI design, implementation,
|
|
|
5
5
|
|
|
6
6
|
# Terminal CLI Dev
|
|
7
7
|
|
|
8
|
-
Use this skill for terminal and command-line product surfaces. It owns the user-facing command/subcommand/flag/default/help/output/exit/action/confirmation/progress/recovery contract, plus implementation mechanics for text UIs, console workflows, ANSI-rendered output, PTY-backed interaction, keyboard input, terminal capability handling, and real terminal verification. A language skill may own parser or library mechanics, but those mechanics do not displace this user-visible contract. This skill does not own web browsers, mobile apps, mini-program hosts, backend services, or product design judgment.
|
|
8
|
+
Use this skill for terminal and command-line product surfaces. It owns the user-facing command/subcommand/flag/default/help/output/exit/action/confirmation/progress/recovery contract, plus implementation mechanics for text UIs, console workflows, ANSI-rendered output, PTY-backed interaction, keyboard input, terminal capability handling, and real terminal verification. A language skill may own parser or library mechanics, but those mechanics do not displace this user-visible contract. This skill does not own web browsers, mobile apps, mini-program hosts, backend services, or product design judgment. After code/test edits, self-check and invoke `code-review` automatically before completion.
|
|
9
9
|
|
|
10
10
|
## Routing
|
|
11
11
|
|
|
@@ -5,7 +5,9 @@ description: 怎么测 / 测试方案 / 测试覆盖 / 先写测试用例(可
|
|
|
5
5
|
|
|
6
6
|
# Testing Strategy
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Owns test scope/design, verification evidence, CI gates and test-layer choices across Go, Python, React web, mobile, mini-program, terminal/CLI/TUI, API, workflow, data/inference and release tasks.
|
|
9
|
+
|
|
10
|
+
- Code/test changes require self-checks; invoke `code-review` automatically before completion.
|
|
9
11
|
|
|
10
12
|
## Skill Routing
|
|
11
13
|
|
|
@@ -5,7 +5,7 @@ description: Use when designing, implementing, reviewing, debugging, testing, or
|
|
|
5
5
|
|
|
6
6
|
# Web React Dev
|
|
7
7
|
|
|
8
|
-
Use this skill for React web client engineering. It covers browser-rendered React applications, React components, routing, data fetching, forms, frontend API integration, accessibility, performance, build, and deploy checks. It does not own mini-program host behavior, Flutter, native mobile, backend service design, or visual design system rules.
|
|
8
|
+
Use this skill for React web client engineering. It covers browser-rendered React applications, React components, routing, data fetching, forms, frontend API integration, accessibility, performance, build, and deploy checks. It does not own mini-program host behavior, Flutter, native mobile, backend service design, or visual design system rules. After code/test edits, self-check and invoke `code-review` automatically before completion.
|
|
9
9
|
|
|
10
10
|
## Routing
|
|
11
11
|
|
package/dist/assets/release.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": 1,
|
|
3
3
|
"npmPackage": "@ccoalm/ccl-skills",
|
|
4
|
-
"version": "0.15.
|
|
5
|
-
"sourceCommit": "
|
|
4
|
+
"version": "0.15.2",
|
|
5
|
+
"sourceCommit": "ea649086e8f1c51e81364b2a94b08fadc1128365",
|
|
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": "
|
|
45
|
+
"sha256": "aa33454a670eec68a01f9b510c40473e8b5f46280352f8a24f1b940f254727a8",
|
|
46
46
|
"mode": 420
|
|
47
47
|
},
|
|
48
48
|
{
|
|
@@ -262,7 +262,7 @@
|
|
|
262
262
|
},
|
|
263
263
|
{
|
|
264
264
|
"path": "marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/SKILL.md",
|
|
265
|
-
"sha256": "
|
|
265
|
+
"sha256": "3f34d61f2b15ac4f457ca6e0d5e80c73b010c94a9fb3d9280669e42230c8bbd4",
|
|
266
266
|
"mode": 420
|
|
267
267
|
},
|
|
268
268
|
{
|
|
@@ -275,6 +275,11 @@
|
|
|
275
275
|
"sha256": "702a372d54b70d9230ed25f0d8096e6762acc179eb1e7febfde9e5ebd343c0d3",
|
|
276
276
|
"mode": 420
|
|
277
277
|
},
|
|
278
|
+
{
|
|
279
|
+
"path": "marketplace/plugins/ccl-skills/skills/code-review/references/development-completion.md",
|
|
280
|
+
"sha256": "ff9d6d77062b60563450ef40efebc0fbb365318dbb7bebcc7dbb037802491a11",
|
|
281
|
+
"mode": 420
|
|
282
|
+
},
|
|
278
283
|
{
|
|
279
284
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/references/manual-invocation-and-prompts.md",
|
|
280
285
|
"sha256": "a235a3dfb81dd757ce6e42e82cbc7ec428268ccc290807f5f4bbe07798b33e53",
|
|
@@ -282,7 +287,7 @@
|
|
|
282
287
|
},
|
|
283
288
|
{
|
|
284
289
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md",
|
|
285
|
-
"sha256": "
|
|
290
|
+
"sha256": "dfa8a7956c7a03ab1c3ff12159b122277f35eb5f6310ef6f5ba0604aae380140",
|
|
286
291
|
"mode": 420
|
|
287
292
|
},
|
|
288
293
|
{
|
|
@@ -292,7 +297,7 @@
|
|
|
292
297
|
},
|
|
293
298
|
{
|
|
294
299
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md",
|
|
295
|
-
"sha256": "
|
|
300
|
+
"sha256": "1b7831a9bf483285682d7d751cdbb4bbc0eb43868fb3ea94904388f50fe50f31",
|
|
296
301
|
"mode": 420
|
|
297
302
|
},
|
|
298
303
|
{
|
|
@@ -312,7 +317,7 @@
|
|
|
312
317
|
},
|
|
313
318
|
{
|
|
314
319
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/codex_review.sh",
|
|
315
|
-
"sha256": "
|
|
320
|
+
"sha256": "25ddfdbc658a1dba22fca49e317ee37a8305341fc5e5474ffb95451b6a94a058",
|
|
316
321
|
"mode": 493
|
|
317
322
|
},
|
|
318
323
|
{
|
|
@@ -332,7 +337,7 @@
|
|
|
332
337
|
},
|
|
333
338
|
{
|
|
334
339
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_packet_mcp.py",
|
|
335
|
-
"sha256": "
|
|
340
|
+
"sha256": "99a12a0fa71a7b31c6fd4e877dd9eba9b1fe4ca57644db573bf7f4febfd21e71",
|
|
336
341
|
"mode": 420
|
|
337
342
|
},
|
|
338
343
|
{
|
|
@@ -352,7 +357,7 @@
|
|
|
352
357
|
},
|
|
353
358
|
{
|
|
354
359
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_cli_review.py",
|
|
355
|
-
"sha256": "
|
|
360
|
+
"sha256": "2134c4dd5fc5a2086b2ff95f6289d4e8c0c064671a5a0e7272e79a187b17f259",
|
|
356
361
|
"mode": 493
|
|
357
362
|
},
|
|
358
363
|
{
|
|
@@ -372,7 +377,7 @@
|
|
|
372
377
|
},
|
|
373
378
|
{
|
|
374
379
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py",
|
|
375
|
-
"sha256": "
|
|
380
|
+
"sha256": "b87410280137ace6340c8ee147c89999069e6d72d8913c8d4dc78e6f150e7152",
|
|
376
381
|
"mode": 493
|
|
377
382
|
},
|
|
378
383
|
{
|
|
@@ -407,7 +412,7 @@
|
|
|
407
412
|
},
|
|
408
413
|
{
|
|
409
414
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_cli_review_wrappers.sh",
|
|
410
|
-
"sha256": "
|
|
415
|
+
"sha256": "3939d9751665987312d7c36489913205adaaaebece05e38248ebc24526e9e2b8",
|
|
411
416
|
"mode": 493
|
|
412
417
|
},
|
|
413
418
|
{
|
|
@@ -432,7 +437,7 @@
|
|
|
432
437
|
},
|
|
433
438
|
{
|
|
434
439
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_kimi_packet_mcp.py",
|
|
435
|
-
"sha256": "
|
|
440
|
+
"sha256": "060587ed35fafc23403b360a11cf34cf30cdfa5338b63bbae35337e8a54b302f",
|
|
436
441
|
"mode": 420
|
|
437
442
|
},
|
|
438
443
|
{
|
|
@@ -462,7 +467,7 @@
|
|
|
462
467
|
},
|
|
463
468
|
{
|
|
464
469
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_compat.py",
|
|
465
|
-
"sha256": "
|
|
470
|
+
"sha256": "fc54b0564a0e46eafced3894f9e70b98ac6ce6e983eb225410b3625246fb20f4",
|
|
466
471
|
"mode": 420
|
|
467
472
|
},
|
|
468
473
|
{
|
|
@@ -497,7 +502,7 @@
|
|
|
497
502
|
},
|
|
498
503
|
{
|
|
499
504
|
"path": "marketplace/plugins/ccl-skills/skills/code-review/SKILL.md",
|
|
500
|
-
"sha256": "
|
|
505
|
+
"sha256": "b057a175a34dbff8b4352429548c38cbcaf16c0b3f2be59b0c6216471ce28d9a",
|
|
501
506
|
"mode": 420
|
|
502
507
|
},
|
|
503
508
|
{
|
|
@@ -517,7 +522,7 @@
|
|
|
517
522
|
},
|
|
518
523
|
{
|
|
519
524
|
"path": "marketplace/plugins/ccl-skills/skills/defect-diagnosis/SKILL.md",
|
|
520
|
-
"sha256": "
|
|
525
|
+
"sha256": "a0a070d7b28278fc22765b001955bb7ee7bcddb233856c6a4414c161d401843a",
|
|
521
526
|
"mode": 420
|
|
522
527
|
},
|
|
523
528
|
{
|
|
@@ -822,7 +827,7 @@
|
|
|
822
827
|
},
|
|
823
828
|
{
|
|
824
829
|
"path": "marketplace/plugins/ccl-skills/skills/go-microservice-dev/SKILL.md",
|
|
825
|
-
"sha256": "
|
|
830
|
+
"sha256": "acb5e8ad070b99c4b5afc4761335598876e5ae6a79999e9703f0cc84cbb96dab",
|
|
826
831
|
"mode": 420
|
|
827
832
|
},
|
|
828
833
|
{
|
|
@@ -947,7 +952,7 @@
|
|
|
947
952
|
},
|
|
948
953
|
{
|
|
949
954
|
"path": "marketplace/plugins/ccl-skills/skills/llm-inference-integration/SKILL.md",
|
|
950
|
-
"sha256": "
|
|
955
|
+
"sha256": "f79872e12ba613d1943832acd3fbf762e5ed249e88215d6a6dad3598a5d4a642",
|
|
951
956
|
"mode": 420
|
|
952
957
|
},
|
|
953
958
|
{
|
|
@@ -997,7 +1002,7 @@
|
|
|
997
1002
|
},
|
|
998
1003
|
{
|
|
999
1004
|
"path": "marketplace/plugins/ccl-skills/skills/miniapp-product-dev/SKILL.md",
|
|
1000
|
-
"sha256": "
|
|
1005
|
+
"sha256": "c8d4797cd301528ee64b5ece109e305cc1adbf6a410b016d775c56d9f60c55a7",
|
|
1001
1006
|
"mode": 420
|
|
1002
1007
|
},
|
|
1003
1008
|
{
|
|
@@ -1012,7 +1017,7 @@
|
|
|
1012
1017
|
},
|
|
1013
1018
|
{
|
|
1014
1019
|
"path": "marketplace/plugins/ccl-skills/skills/multi-agent-delegation/SKILL.md",
|
|
1015
|
-
"sha256": "
|
|
1020
|
+
"sha256": "f9bcfe2f8e3b15b69d7a33bf2b1a55af4ec84c67137b5915e2f4002880e7f637",
|
|
1016
1021
|
"mode": 420
|
|
1017
1022
|
},
|
|
1018
1023
|
{
|
|
@@ -1077,7 +1082,7 @@
|
|
|
1077
1082
|
},
|
|
1078
1083
|
{
|
|
1079
1084
|
"path": "marketplace/plugins/ccl-skills/skills/nodejs-service-dev/SKILL.md",
|
|
1080
|
-
"sha256": "
|
|
1085
|
+
"sha256": "2114994ffe8d5ee3d152f17c9c3eca34d72b12d7b1fee6af6ea5131386bd95e2",
|
|
1081
1086
|
"mode": 420
|
|
1082
1087
|
},
|
|
1083
1088
|
{
|
|
@@ -1132,7 +1137,7 @@
|
|
|
1132
1137
|
},
|
|
1133
1138
|
{
|
|
1134
1139
|
"path": "marketplace/plugins/ccl-skills/skills/platform-observability/SKILL.md",
|
|
1135
|
-
"sha256": "
|
|
1140
|
+
"sha256": "133383e47751d715a6ae90084ef1375ba73f63b9f57349a0fa261fa597b04b43",
|
|
1136
1141
|
"mode": 420
|
|
1137
1142
|
},
|
|
1138
1143
|
{
|
|
@@ -1207,7 +1212,7 @@
|
|
|
1207
1212
|
},
|
|
1208
1213
|
{
|
|
1209
1214
|
"path": "marketplace/plugins/ccl-skills/skills/platform-release-engineering/SKILL.md",
|
|
1210
|
-
"sha256": "
|
|
1215
|
+
"sha256": "207202ecaa0038d29b23ec23b75cf9a80650d1631f746e089120c0d5fbf869e4",
|
|
1211
1216
|
"mode": 420
|
|
1212
1217
|
},
|
|
1213
1218
|
{
|
|
@@ -1277,7 +1282,7 @@
|
|
|
1277
1282
|
},
|
|
1278
1283
|
{
|
|
1279
1284
|
"path": "marketplace/plugins/ccl-skills/skills/platform-service-connectivity/SKILL.md",
|
|
1280
|
-
"sha256": "
|
|
1285
|
+
"sha256": "2d161e91932695d0db762c0c7a19dca458952ad748bf6ea1f98ea6d44c872be9",
|
|
1281
1286
|
"mode": 420
|
|
1282
1287
|
},
|
|
1283
1288
|
{
|
|
@@ -1337,7 +1342,7 @@
|
|
|
1337
1342
|
},
|
|
1338
1343
|
{
|
|
1339
1344
|
"path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-review-gate-mechanics.md",
|
|
1340
|
-
"sha256": "
|
|
1345
|
+
"sha256": "7852dd2f0a6a32b6f6fddd4f4884e8701c54be4b738f6520370b9c4826424c7c",
|
|
1341
1346
|
"mode": 420
|
|
1342
1347
|
},
|
|
1343
1348
|
{
|
|
@@ -1397,7 +1402,7 @@
|
|
|
1397
1402
|
},
|
|
1398
1403
|
{
|
|
1399
1404
|
"path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/pre-final-continuation-gate.md",
|
|
1400
|
-
"sha256": "
|
|
1405
|
+
"sha256": "891e887b6d07689f2a168fed93d82ed601e1147faa2959a9ba046e7eedc04d78",
|
|
1401
1406
|
"mode": 420
|
|
1402
1407
|
},
|
|
1403
1408
|
{
|
|
@@ -1422,7 +1427,7 @@
|
|
|
1422
1427
|
},
|
|
1423
1428
|
{
|
|
1424
1429
|
"path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/refactoring-discipline.md",
|
|
1425
|
-
"sha256": "
|
|
1430
|
+
"sha256": "f6749284dce4a8e9bcf57a7200e16442a36ddb9ce7cb720df98b0e7f44fbf60b",
|
|
1426
1431
|
"mode": 420
|
|
1427
1432
|
},
|
|
1428
1433
|
{
|
|
@@ -1472,7 +1477,7 @@
|
|
|
1472
1477
|
},
|
|
1473
1478
|
{
|
|
1474
1479
|
"path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md",
|
|
1475
|
-
"sha256": "
|
|
1480
|
+
"sha256": "bf87f0f199ca93916ab3e22d5ef4fab624c336aab7374fec350a3f5242c03878",
|
|
1476
1481
|
"mode": 420
|
|
1477
1482
|
},
|
|
1478
1483
|
{
|
|
@@ -1847,7 +1852,7 @@
|
|
|
1847
1852
|
},
|
|
1848
1853
|
{
|
|
1849
1854
|
"path": "marketplace/plugins/ccl-skills/skills/python-service-dev/SKILL.md",
|
|
1850
|
-
"sha256": "
|
|
1855
|
+
"sha256": "3807070752702df5a15ad330edaf50e0de9f6fbbd99b6324fc65a30d8f07888d",
|
|
1851
1856
|
"mode": 420
|
|
1852
1857
|
},
|
|
1853
1858
|
{
|
|
@@ -2022,7 +2027,7 @@
|
|
|
2022
2027
|
},
|
|
2023
2028
|
{
|
|
2024
2029
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/dual-track-review-gate.md",
|
|
2025
|
-
"sha256": "
|
|
2030
|
+
"sha256": "2cd2312cc155ca1c1f3acc1f1d24b0cc1e34e37404fe21212f0d87c09eff6e0b",
|
|
2026
2031
|
"mode": 420
|
|
2027
2032
|
},
|
|
2028
2033
|
{
|
|
@@ -2062,7 +2067,7 @@
|
|
|
2062
2067
|
},
|
|
2063
2068
|
{
|
|
2064
2069
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/harness-patterns-and-eval.md",
|
|
2065
|
-
"sha256": "
|
|
2070
|
+
"sha256": "fe189fde59c7550bef2eac0db8f1cbe43d9e36b4ed539cbb7b7441461f090af2",
|
|
2066
2071
|
"mode": 420
|
|
2067
2072
|
},
|
|
2068
2073
|
{
|
|
@@ -2097,7 +2102,7 @@
|
|
|
2097
2102
|
},
|
|
2098
2103
|
{
|
|
2099
2104
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/resume-paused-delivery.md",
|
|
2100
|
-
"sha256": "
|
|
2105
|
+
"sha256": "3b43de0e81d0a43fb5ba40e97de755bd032f1b5417bbbdd9ca2a4cd2c5c1c65d",
|
|
2101
2106
|
"mode": 420
|
|
2102
2107
|
},
|
|
2103
2108
|
{
|
|
@@ -2127,7 +2132,7 @@
|
|
|
2127
2132
|
},
|
|
2128
2133
|
{
|
|
2129
2134
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md",
|
|
2130
|
-
"sha256": "
|
|
2135
|
+
"sha256": "a622745a40ca220f5f77dc3c84a94f433c609adf27aed775af82df26a52503a4",
|
|
2131
2136
|
"mode": 420
|
|
2132
2137
|
},
|
|
2133
2138
|
{
|
|
@@ -2292,7 +2297,7 @@
|
|
|
2292
2297
|
},
|
|
2293
2298
|
{
|
|
2294
2299
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh",
|
|
2295
|
-
"sha256": "
|
|
2300
|
+
"sha256": "972785d9cb4ef21829c6b7a10ec12af103c448dbcc7f9d619bae552f54282cb4",
|
|
2296
2301
|
"mode": 493
|
|
2297
2302
|
},
|
|
2298
2303
|
{
|
|
@@ -2302,7 +2307,7 @@
|
|
|
2302
2307
|
},
|
|
2303
2308
|
{
|
|
2304
2309
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_body_compliance_grading.sh",
|
|
2305
|
-
"sha256": "
|
|
2310
|
+
"sha256": "d3a37c4ae39492325f71940099fe965862b6766a9b8ec3a3b5db3d8e59f7057a",
|
|
2306
2311
|
"mode": 493
|
|
2307
2312
|
},
|
|
2308
2313
|
{
|
|
@@ -2372,7 +2377,7 @@
|
|
|
2372
2377
|
},
|
|
2373
2378
|
{
|
|
2374
2379
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_controlled_escalation_pins.sh",
|
|
2375
|
-
"sha256": "
|
|
2380
|
+
"sha256": "ccbac8859cdd2eb44384b871ca61905790332167137bc9cb414177d1c1923ae9",
|
|
2376
2381
|
"mode": 493
|
|
2377
2382
|
},
|
|
2378
2383
|
{
|
|
@@ -2547,7 +2552,7 @@
|
|
|
2547
2552
|
},
|
|
2548
2553
|
{
|
|
2549
2554
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_extraction_review_state.sh",
|
|
2550
|
-
"sha256": "
|
|
2555
|
+
"sha256": "ea086686d130f3fb4b3969973f306744237caa64b8f9bfa8508b17afc1a7de38",
|
|
2551
2556
|
"mode": 493
|
|
2552
2557
|
},
|
|
2553
2558
|
{
|
|
@@ -2567,7 +2572,7 @@
|
|
|
2567
2572
|
},
|
|
2568
2573
|
{
|
|
2569
2574
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate_extraction_review_state.py",
|
|
2570
|
-
"sha256": "
|
|
2575
|
+
"sha256": "2c1c9c23ae4df7221b37e06f43e5cc255a2df8a5abcd8b8eb0baf0cb2aad9ed4",
|
|
2571
2576
|
"mode": 493
|
|
2572
2577
|
},
|
|
2573
2578
|
{
|
|
@@ -2577,7 +2582,7 @@
|
|
|
2577
2582
|
},
|
|
2578
2583
|
{
|
|
2579
2584
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/SKILL.md",
|
|
2580
|
-
"sha256": "
|
|
2585
|
+
"sha256": "0897aac3ad4dcad4cab7671f914bb3bd960e4625176d006b632ab0d7cbdbde6a",
|
|
2581
2586
|
"mode": 420
|
|
2582
2587
|
},
|
|
2583
2588
|
{
|
|
@@ -2602,7 +2607,7 @@
|
|
|
2602
2607
|
},
|
|
2603
2608
|
{
|
|
2604
2609
|
"path": "marketplace/plugins/ccl-skills/skills/terminal-cli-dev/SKILL.md",
|
|
2605
|
-
"sha256": "
|
|
2610
|
+
"sha256": "6698d955720d88232b5423306076aed1398d7076d607dc4d56665f20b2879581",
|
|
2606
2611
|
"mode": 420
|
|
2607
2612
|
},
|
|
2608
2613
|
{
|
|
@@ -2862,7 +2867,7 @@
|
|
|
2862
2867
|
},
|
|
2863
2868
|
{
|
|
2864
2869
|
"path": "marketplace/plugins/ccl-skills/skills/testing-strategy/SKILL.md",
|
|
2865
|
-
"sha256": "
|
|
2870
|
+
"sha256": "eabb731f2a3d7f4782a3613ff067ae4a08ed379e620264b6a5cb35e3e2f3ec56",
|
|
2866
2871
|
"mode": 420
|
|
2867
2872
|
},
|
|
2868
2873
|
{
|
|
@@ -3217,7 +3222,7 @@
|
|
|
3217
3222
|
},
|
|
3218
3223
|
{
|
|
3219
3224
|
"path": "marketplace/plugins/ccl-skills/skills/web-react-dev/SKILL.md",
|
|
3220
|
-
"sha256": "
|
|
3225
|
+
"sha256": "9cb574cbc6a716813533802c2379f698ec4186ef2502be07196110441cd3e7dd",
|
|
3221
3226
|
"mode": 420
|
|
3222
3227
|
},
|
|
3223
3228
|
{
|
|
@@ -3294,12 +3299,12 @@
|
|
|
3294
3299
|
},
|
|
3295
3300
|
{
|
|
3296
3301
|
"path": "codex-host.d.ts",
|
|
3297
|
-
"sha256": "
|
|
3302
|
+
"sha256": "0e7c4e32f4627983d04d670efbd63ffe72384fb39b5ebe3bcf22a281421c7985",
|
|
3298
3303
|
"mode": 420
|
|
3299
3304
|
},
|
|
3300
3305
|
{
|
|
3301
3306
|
"path": "codex-host.js",
|
|
3302
|
-
"sha256": "
|
|
3307
|
+
"sha256": "ad899e1fcbe06d53ee195fb10161c2352e4dd865e5632e35c346110cf594c479",
|
|
3303
3308
|
"mode": 420
|
|
3304
3309
|
},
|
|
3305
3310
|
{
|
|
@@ -3314,12 +3319,12 @@
|
|
|
3314
3319
|
},
|
|
3315
3320
|
{
|
|
3316
3321
|
"path": "host-probe.d.ts",
|
|
3317
|
-
"sha256": "
|
|
3322
|
+
"sha256": "7575d4c6b32fe92e359330e272fc4b245aa418e0254dd28320527f1df526f9e9",
|
|
3318
3323
|
"mode": 420
|
|
3319
3324
|
},
|
|
3320
3325
|
{
|
|
3321
3326
|
"path": "host-probe.js",
|
|
3322
|
-
"sha256": "
|
|
3327
|
+
"sha256": "4ef90d7773116ac96e1a3b235a04071a2732f036630c0d5202bd67e3a82919f9",
|
|
3323
3328
|
"mode": 420
|
|
3324
3329
|
},
|
|
3325
3330
|
{
|
|
@@ -3359,7 +3364,7 @@
|
|
|
3359
3364
|
},
|
|
3360
3365
|
{
|
|
3361
3366
|
"path": "operations.js",
|
|
3362
|
-
"sha256": "
|
|
3367
|
+
"sha256": "254bf44226fa305e98ea2dac36ddd6ca4f1a2e42e88ee669a5bb83736ba01077",
|
|
3363
3368
|
"mode": 420
|
|
3364
3369
|
},
|
|
3365
3370
|
{
|
|
@@ -3384,12 +3389,12 @@
|
|
|
3384
3389
|
},
|
|
3385
3390
|
{
|
|
3386
3391
|
"path": "unified.d.ts",
|
|
3387
|
-
"sha256": "
|
|
3392
|
+
"sha256": "947036104532ba21515a27f11a6bbef4843b5ad28f033ddde02e9bf1d2c6aa60",
|
|
3388
3393
|
"mode": 420
|
|
3389
3394
|
},
|
|
3390
3395
|
{
|
|
3391
3396
|
"path": "unified.js",
|
|
3392
|
-
"sha256": "
|
|
3397
|
+
"sha256": "58b51ed8718885006dce2eab9f327833f450459737b6bf72a060f84718550677",
|
|
3393
3398
|
"mode": 420
|
|
3394
3399
|
},
|
|
3395
3400
|
{
|
|
@@ -3423,5 +3428,5 @@
|
|
|
3423
3428
|
"mode": 420
|
|
3424
3429
|
}
|
|
3425
3430
|
],
|
|
3426
|
-
"snapshotHash": "
|
|
3431
|
+
"snapshotHash": "e42471992f654d5e75b902ac23ed963dc2a4252fbdeda2d0c4e87c33f57c00f2"
|
|
3427
3432
|
}
|
package/dist/codex-host.d.ts
CHANGED
|
@@ -12,9 +12,9 @@ export declare function checkHost(codexHome?: string): {
|
|
|
12
12
|
kind: string;
|
|
13
13
|
message: string;
|
|
14
14
|
output?: undefined;
|
|
15
|
+
stdout?: undefined;
|
|
15
16
|
} | {
|
|
16
17
|
ok: true;
|
|
17
|
-
version: string;
|
|
18
18
|
};
|
|
19
19
|
export declare function parsePluginList(text: string, marketplaceSource: string | null): {
|
|
20
20
|
ok: boolean;
|