@ccoalm/ccl-skills 0.18.11 → 0.18.12
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/dist/assets/marketplace/plugins/ccl-skills/hooks/headless-background-stop.sh +18 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/hooks.json +7 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/host-input.py +71 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/remind-post-merge-cleanup.sh +9 -4
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_headless_background_stop.sh +150 -0
- package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_remind_post_merge_cleanup.sh +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts +7 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/references/multi-agent-delegation-playbook.md +1 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/pre-final-continuation-gate.md +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/worktree-mechanics.md +10 -3
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/attention-budget-ratchet.md +2 -2
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/external-practice-controls.md +6 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-lifecycle-handoff.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/harness-patterns-and-eval.md +2 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md +9 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-sync-pointers.sh +11 -4
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/skill-paired-eval.py +1546 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh +140 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh +4 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_sync_pointers.sh +13 -4
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_controlled_escalation_pins.sh +12 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_skill_paired_eval.py +1052 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_teardown_guard_pins.sh +354 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/SKILL.md +8 -108
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/references/merge-and-teardown.md +47 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/references/pre-merge-landing-checks.md +73 -0
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/references/shared-branch-rebase.md +1 -1
- package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_sweep.sh +1 -1
- package/dist/assets/release.json +59 -24
- package/package.json +1 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 推送 / 建 MR / 合并前的落地检查
|
|
2
|
+
|
|
3
|
+
worktree-isolation 的按触发点拆分页:push、建或更新 MR、合并**之前**读本页。入口 `SKILL.md`「推送、合并与收尾」节保留本页两节的承重义务清单;文中「下面/下文的收尾」「收尾节」指同目录 `merge-and-teardown.md` 的「收尾」节。
|
|
4
|
+
|
|
5
|
+
## 合并/落地前:确认"要落地的对象"已含全部预期改动(别落下 worktree 未提交 / tip 未推送的改动)
|
|
6
|
+
|
|
7
|
+
**要落地的对象**(push 的 remote 分支 / MR 的 remote head / 被合并的 tip)必须已含**所有本次要落地的改动**。两个常见静默漏项,尤其分支 checkout 在**独立 worktree**、不在当前检出里时:
|
|
8
|
+
|
|
9
|
+
- **worktree 里未提交的改动**:push/合并落地的是 commit 过的 tip,不含那个 worktree 工作区/暂存区里未提交的改动。
|
|
10
|
+
- **本地 tip 未推送**:本地 HEAD 领先 `origin/<branch>`,remote/MR head 还是旧的——合并那个 MR 会漏掉已 commit 但没 push 的改动。
|
|
11
|
+
|
|
12
|
+
漏了本该进的改动 = 落成**残缺版本**(本会话踩过:MR 已落地,worktree 里未提交的改动没进那次 MR,事后清理才发现)。这跟下面"落后"是**两条独立轴**(那条是分支落后于**目标**、旧快照盖回目标修复),也不同于"收尾清理前验干净"(那是集成**之后**,太晚,漏的已落地)。
|
|
13
|
+
|
|
14
|
+
push / 建 MR / 合并**之前**自证落地对象完整。下面是**给 agent 读输出用的诊断命令、不是自动闸**——真正要保证的是"**这次实际要合的 ref(MR head SHA / 你 push 的目标)= 你预期的 tip**",别只信 `@{u}`(它只是本地配置的上游代理,可能不是这次的落地对象):
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
git worktree list # 分支 checkout 在哪个 worktree?
|
|
18
|
+
# A) 分支在某 worktree 里(wt=该路径):查未提交 + 未推送两轴
|
|
19
|
+
git -C "$wt" status --porcelain=v1 -b # 非空=有未提交改动;-b 行给 ahead/behind
|
|
20
|
+
git -C "$wt" rev-parse --verify @{u} >/dev/null 2>&1 || echo "无上游 → 先 push/set-upstream 再谈落地" # 无上游时下一条会静默空跑,先兜底
|
|
21
|
+
git -C "$wt" rev-list --left-right --count @{u}...HEAD 2>/dev/null # 右侧>0 = 本地领先上游、tip 没全推
|
|
22
|
+
# B) 分支没挂在任何 worktree:没有工作区=无"未提交"轴,但仍要查未推送;上游缺失要 fail-closed
|
|
23
|
+
git rev-parse --verify <branch>@{u} >/dev/null 2>&1 || echo "无上游 → 先 push/set-upstream 再谈落地"
|
|
24
|
+
git rev-list --left-right --count <branch>@{u}...<branch> 2>/dev/null # 右侧>0 = 本地领先、没全推
|
|
25
|
+
# 权威判据(比 @{u} 更硬):取"这次实际要合的 ref"(MR head / 你 push 的 remote 分支)的 head,跟你的预期 tip 比 SHA
|
|
26
|
+
git fetch -q origin <landing-ref> && [ "$(git rev-parse FETCH_HEAD)" = "<你的预期 tip 的 SHA>" ] || echo "落地对象 ≠ 预期 tip:先补齐再合"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
(`status` 只是脏树闸:子模块 WIP、被 ignore 的生成物它不显示;落地对象里若含生成物,另按预期产物清单 / 重跑生成校验确认。)
|
|
30
|
+
|
|
31
|
+
处置:
|
|
32
|
+
|
|
33
|
+
- **未提交、且属于这次落地** → 先 commit 再 push/合并;但只 `git add` **明确属于本次落地的路径**(先看 status/diff 名单),别 `-A` 一把梭把别人的 WIP / secret 顺带 commit。
|
|
34
|
+
- **本地领先上游** → **必须先 push** 到这次实际落地的 ref,让 MR head 等于你的预期 tip(平台 update-branch 只把目标并进分支、**不会**带上你未推送的本地 commit,别拿它替代 push)。
|
|
35
|
+
- **无关的独立 WIP** → 留着不动,这次落地对**它自己的目标范围**仍完整(无关 WIP 不算残缺)。
|
|
36
|
+
- **归属不清** → 按 product-rd 并发隔离规则留 pending,别替它 commit,也别默认算进这次落地。
|
|
37
|
+
|
|
38
|
+
## 合并回目标分支前:落后就先更新到目标分支(防 stale 分支静默回退目标已修复的内容)
|
|
39
|
+
|
|
40
|
+
并行/长活的 worktree 分支从某个旧基线分出去后,目标分支(main 等)往往又前进了(别的迭代合进来了)。这时直接合并这个**落后**的分支有个静默 data-loss 坑。注意 git 的实际行为:3-way 合并(含 `git merge --squash`)以 merge-base/目标/分支三方内容做合并——分支没碰过的文件保留目标版本;两侧改了**不同区域**的同一文件能各自合上;只有当分支的 diff **覆盖/改回了目标分支刚修复的那一块内容**(典型是分支**整文件重写/重新生成/格式化**了一个旧快照版本:跑了 formatter、重生成 codegen、改了 lockfile、一次大范围 find/replace),合并才会用分支的旧内容**把目标那次修复悄悄盖掉**。**squash 最危险**不是因为它机制不同,而是它把整个分支压成一个 commit、ancestry 与可审性最弱——这种回退不以独立 commit 出现,事后翻历史几乎看不出来。(别误判成两个极端:既不是"分支没碰过的文件也会被回退",也不是"两侧都改过就一定回退";坑只在**同一块内容被分支的旧版本覆盖**时。)
|
|
41
|
+
|
|
42
|
+
合并前(尤其 squash 前)按这个序走:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
git fetch origin
|
|
46
|
+
TARGET=$(git rev-parse origin/<target>) # 钉住这次要合的目标 SHA(origin 可能再动,后面都对着它验)
|
|
47
|
+
BRANCH_OLD=$(git rev-parse <branch>) # 钉住"更新前"的分支 tip
|
|
48
|
+
OLD_BASE=$(git merge-base "$TARGET" "$BRANCH_OLD") # 旧分叉点——必须现在算:更新分支后 merge-base 会变成 TARGET,碰撞集就空了
|
|
49
|
+
if git merge-base --is-ancestor "$TARGET" "$BRANCH_OLD"; then echo "分支已含该目标,无需更新"
|
|
50
|
+
elif [ $? -eq 1 ]; then echo "分支落后,需先更新到 $TARGET"
|
|
51
|
+
else echo "merge-base 出错(非 0/1),先排查别当落后处理"; fi
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
把落后分支更新到最新目标:先按入口 `SKILL.md`「推送、合并与收尾」节里的「已共享分支」分流硬规则执行(私有分支可 rebase,已推送/挂 MR 的分支默认并入目标或平台 update;台账 firing-path 锚点钉在入口),再回到下面的冲突解析与合并后验证。
|
|
55
|
+
|
|
56
|
+
**冲突解析就是回退的高发点**(rebase/merge 只是把碰撞提前暴露,不是修复本身):冲突里**别直接取分支那侧的旧快照**。对生成物 / lockfile / 格式化产物,**从更新后的目标重新生成**,不要照搬分支版本,也不要 `-X ours/theirs` 一把带过——那等于亲手把目标的修复盖掉,而且事后 `--stat` 看不出来。
|
|
57
|
+
|
|
58
|
+
合并后**必须验证**,别假设干净——分两层,`--stat` 不够:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# 碰撞集:分支碰过、且目标自旧分叉点 OLD_BASE 后也改过的文件(最危险的那批)。用上面"更新前"钉住的 OLD_BASE/BRANCH_OLD,别用更新后的 merge-base
|
|
62
|
+
comm -12 <(git diff --name-only "$OLD_BASE" "$BRANCH_OLD" | sort) <(git diff --name-only "$OLD_BASE" "$TARGET" | sort)
|
|
63
|
+
# 设 AFTER = 合并后的目标 tip(集成完的 main)
|
|
64
|
+
# 1) 文件层:相对目标只新增了本分支预期改的文件,无意外删除/新增
|
|
65
|
+
git diff "$TARGET" <AFTER> --stat # squash 后亦可 git diff HEAD~1..HEAD
|
|
66
|
+
# 2) 内容层(关键,--stat 看不出文件内回退):看"集成相对目标"改了啥,确认没把目标修复的行改回 OLD_BASE 旧值
|
|
67
|
+
git diff "$TARGET" <AFTER> -- <碰撞集文件> # 出现目标已修复内容被改回旧值 = stale 回退红旗
|
|
68
|
+
git diff "$OLD_BASE" "$TARGET" -- <碰撞集文件> # 对照:目标侧本应保留的修复(确认这些 hunk 仍体现在 AFTER 里)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
`--stat` 只答“哪些文件、改了多少”,答不了“目标的新 hunk 是否幸存”——**文件内的回退** stat 看不出来,必须看碰撞集的全内容 diff。出现意外删除 / 目标修复被改回旧样 = stale 回退红旗,停下排查别推。本会话即按此做:每次 ff-merge 前先 `git diff <base>..origin/main -- <我改的文件>` 确认无碰撞、再 rebase、落后零碰撞才 ff。
|
|
72
|
+
|
|
73
|
+
(边界:这条管“合并前把分支更新到最新 + 合并后验证内容”;下面“收尾”管“已集成就清理”,两者是**独立的闸**——本节验证通过 ≠ 收尾的“已集成”判据成立,清理仍要单独按 ancestor/MR-merged 证明,squash 仍测不到祖先、仍保守保留。)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 已共享分支的安全 rebase
|
|
2
2
|
|
|
3
|
-
动作、停止条件和推送命令以 `worktree-isolation/SKILL.md`「把落后分支更新到最新目标」的共享分支条目为准;默认 merge / 平台 update
|
|
3
|
+
动作、停止条件和推送命令以 `worktree-isolation/SKILL.md`「把落后分支更新到最新目标」的共享分支条目为准;默认 merge / 平台 update 及方向报告以 `merge-and-teardown.md`「收尾」节的「合并方向必须可读」为准。本页只解释这些硬规则为何不可放松。
|
|
4
4
|
|
|
5
5
|
## 为什么只信本分支的这次 fetch
|
|
6
6
|
|
|
@@ -165,7 +165,7 @@ printf '%s\n' "$OUT" | grep -q 'data/' || note "p1e: data worktree payload not s
|
|
|
165
165
|
OUT=$(cd "$d1e" && bash "$SWEEP" dev --apply --include-ignored 2>&1); RC=$?
|
|
166
166
|
[ "$RC" -eq 0 ] || note "p1e: --include-ignored --apply exit $RC, want 0"
|
|
167
167
|
[ -d "$d1e-cache" ] && note "p1e: cache-only worktree survived --include-ignored: $OUT"
|
|
168
|
-
[ -d "$d1e-data" ] && note "p1e: ACCEPTED-RISK CHANGED — the data worktree now survives --include-ignored; if that is intended, rewrite this probe and the
|
|
168
|
+
[ -d "$d1e-data" ] && note "p1e: ACCEPTED-RISK CHANGED — the data worktree now survives --include-ignored; if that is intended, rewrite this probe and the references/merge-and-teardown.md criterion together: $OUT"
|
|
169
169
|
ok
|
|
170
170
|
|
|
171
171
|
# P2: dirty untracked (not ignored) blocks removal
|
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.18.
|
|
5
|
-
"sourceCommit": "
|
|
4
|
+
"version": "0.18.12",
|
|
5
|
+
"sourceCommit": "d0d1e926dca1e87a075a49d0084aae3872e1142c",
|
|
6
6
|
"sourceState": "clean",
|
|
7
7
|
"files": [
|
|
8
8
|
{
|
|
@@ -75,14 +75,19 @@
|
|
|
75
75
|
"sha256": "eeb08a60e67f74428ea2621d4e354a6d88978f41c846ab41974497bf7f838598",
|
|
76
76
|
"mode": 493
|
|
77
77
|
},
|
|
78
|
+
{
|
|
79
|
+
"path": "marketplace/plugins/ccl-skills/hooks/headless-background-stop.sh",
|
|
80
|
+
"sha256": "f91e0ccfc05fb09e9f2340ea4eaf54267804d012825609a3d5823b9f42302f81",
|
|
81
|
+
"mode": 493
|
|
82
|
+
},
|
|
78
83
|
{
|
|
79
84
|
"path": "marketplace/plugins/ccl-skills/hooks/hooks.json",
|
|
80
|
-
"sha256": "
|
|
85
|
+
"sha256": "f2d721b897babe1b9ca524d4b7d7d26f3c09d717022b7c9894f22e2ad8f76590",
|
|
81
86
|
"mode": 420
|
|
82
87
|
},
|
|
83
88
|
{
|
|
84
89
|
"path": "marketplace/plugins/ccl-skills/hooks/host-input.py",
|
|
85
|
-
"sha256": "
|
|
90
|
+
"sha256": "7e35b8e2b1441e4b12b7fa1a23bfebe296e9587d9f5e1e88ff7d6fc4b1e4be16",
|
|
86
91
|
"mode": 420
|
|
87
92
|
},
|
|
88
93
|
{
|
|
@@ -107,7 +112,7 @@
|
|
|
107
112
|
},
|
|
108
113
|
{
|
|
109
114
|
"path": "marketplace/plugins/ccl-skills/hooks/remind-post-merge-cleanup.sh",
|
|
110
|
-
"sha256": "
|
|
115
|
+
"sha256": "073b4b239659ff8b9effa9fb54991df0b96df2ba597fdd757017570cf8d80840",
|
|
111
116
|
"mode": 493
|
|
112
117
|
},
|
|
113
118
|
{
|
|
@@ -175,6 +180,11 @@
|
|
|
175
180
|
"sha256": "b2f5239ce389a0e4c1e2e7fd6d8f649484a00404c01908ce729ac4eb70f20681",
|
|
176
181
|
"mode": 493
|
|
177
182
|
},
|
|
183
|
+
{
|
|
184
|
+
"path": "marketplace/plugins/ccl-skills/hooks/test_headless_background_stop.sh",
|
|
185
|
+
"sha256": "978553a94d93b92d0aa6772d8a6b444654098a91d897822c5c9cdb743b377660",
|
|
186
|
+
"mode": 493
|
|
187
|
+
},
|
|
178
188
|
{
|
|
179
189
|
"path": "marketplace/plugins/ccl-skills/hooks/test_host_input.py",
|
|
180
190
|
"sha256": "fe85a5a49b67d605db390bbc8366946cae2080f3405cdf3a0d06eca536fe37e1",
|
|
@@ -192,7 +202,7 @@
|
|
|
192
202
|
},
|
|
193
203
|
{
|
|
194
204
|
"path": "marketplace/plugins/ccl-skills/hooks/test_remind_post_merge_cleanup.sh",
|
|
195
|
-
"sha256": "
|
|
205
|
+
"sha256": "2aa5387dd4acee7862964c32e675b54f75be563091b826734f6bb45683899a17",
|
|
196
206
|
"mode": 493
|
|
197
207
|
},
|
|
198
208
|
{
|
|
@@ -232,7 +242,7 @@
|
|
|
232
242
|
},
|
|
233
243
|
{
|
|
234
244
|
"path": "marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts",
|
|
235
|
-
"sha256": "
|
|
245
|
+
"sha256": "e34b12e2e4f36d8cf6a766ebade1eeaab6eca7de02e26eea6f709d5463ba1700",
|
|
236
246
|
"mode": 420
|
|
237
247
|
},
|
|
238
248
|
{
|
|
@@ -1087,7 +1097,7 @@
|
|
|
1087
1097
|
},
|
|
1088
1098
|
{
|
|
1089
1099
|
"path": "marketplace/plugins/ccl-skills/skills/multi-agent-delegation/references/multi-agent-delegation-playbook.md",
|
|
1090
|
-
"sha256": "
|
|
1100
|
+
"sha256": "c53892982686a37fe2a7f5418d549150a6c4432434f75274c53eded2af501bb7",
|
|
1091
1101
|
"mode": 420
|
|
1092
1102
|
},
|
|
1093
1103
|
{
|
|
@@ -1477,7 +1487,7 @@
|
|
|
1477
1487
|
},
|
|
1478
1488
|
{
|
|
1479
1489
|
"path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/pre-final-continuation-gate.md",
|
|
1480
|
-
"sha256": "
|
|
1490
|
+
"sha256": "4b20e5011701e25ebe655339e2429fafea3415e3fb8f789b979dfea561dd5726",
|
|
1481
1491
|
"mode": 420
|
|
1482
1492
|
},
|
|
1483
1493
|
{
|
|
@@ -1537,7 +1547,7 @@
|
|
|
1537
1547
|
},
|
|
1538
1548
|
{
|
|
1539
1549
|
"path": "marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/worktree-mechanics.md",
|
|
1540
|
-
"sha256": "
|
|
1550
|
+
"sha256": "0b03106788d4a46c8923840a2e70da471a16fd468334a7fc04c630af78b7bb92",
|
|
1541
1551
|
"mode": 420
|
|
1542
1552
|
},
|
|
1543
1553
|
{
|
|
@@ -2072,7 +2082,7 @@
|
|
|
2072
2082
|
},
|
|
2073
2083
|
{
|
|
2074
2084
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/attention-budget-ratchet.md",
|
|
2075
|
-
"sha256": "
|
|
2085
|
+
"sha256": "bdbe6f8f0bbb2deac09054abc74c55b02e65cff6e6f6c79f794059f5d8e798ae",
|
|
2076
2086
|
"mode": 420
|
|
2077
2087
|
},
|
|
2078
2088
|
{
|
|
@@ -2122,12 +2132,12 @@
|
|
|
2122
2132
|
},
|
|
2123
2133
|
{
|
|
2124
2134
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/external-practice-controls.md",
|
|
2125
|
-
"sha256": "
|
|
2135
|
+
"sha256": "4a19887c499fac8a7801a52789bb6143cca1623e370149b5585a35f3a2f46d39",
|
|
2126
2136
|
"mode": 420
|
|
2127
2137
|
},
|
|
2128
2138
|
{
|
|
2129
2139
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-lifecycle-handoff.md",
|
|
2130
|
-
"sha256": "
|
|
2140
|
+
"sha256": "1fe50c717bab6f706e9f3d36c113869dce60364cfef6a5633611a2535907a16a",
|
|
2131
2141
|
"mode": 420
|
|
2132
2142
|
},
|
|
2133
2143
|
{
|
|
@@ -2142,7 +2152,7 @@
|
|
|
2142
2152
|
},
|
|
2143
2153
|
{
|
|
2144
2154
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/harness-patterns-and-eval.md",
|
|
2145
|
-
"sha256": "
|
|
2155
|
+
"sha256": "1c4bdf094fefbdcf8cf1a31a4f5a72dd884ac6e84a6e3fbd40677eb8fb95b6b0",
|
|
2146
2156
|
"mode": 420
|
|
2147
2157
|
},
|
|
2148
2158
|
{
|
|
@@ -2207,7 +2217,7 @@
|
|
|
2207
2217
|
},
|
|
2208
2218
|
{
|
|
2209
2219
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md",
|
|
2210
|
-
"sha256": "
|
|
2220
|
+
"sha256": "13172f8f48115759f998076d8a862094140bd80237176015ddbbf8bab0a6cf4e",
|
|
2211
2221
|
"mode": 420
|
|
2212
2222
|
},
|
|
2213
2223
|
{
|
|
@@ -2277,7 +2287,7 @@
|
|
|
2277
2287
|
},
|
|
2278
2288
|
{
|
|
2279
2289
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-sync-pointers.sh",
|
|
2280
|
-
"sha256": "
|
|
2290
|
+
"sha256": "ffb0f0fcd397c45dd55f7d775bfe318246a44db78e304e3223528b4cae442c90",
|
|
2281
2291
|
"mode": 493
|
|
2282
2292
|
},
|
|
2283
2293
|
{
|
|
@@ -2360,6 +2370,11 @@
|
|
|
2360
2370
|
"sha256": "d65c8a76ae6d4ceacbe16885abc3e0c51d6fd152d491437db7e1e8fc9988ad08",
|
|
2361
2371
|
"mode": 493
|
|
2362
2372
|
},
|
|
2373
|
+
{
|
|
2374
|
+
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/skill-paired-eval.py",
|
|
2375
|
+
"sha256": "f428d67ef2ecb620e61bc0dd12461016300a640d19b6ae245f8cf6a5fc9dc8de",
|
|
2376
|
+
"mode": 493
|
|
2377
|
+
},
|
|
2363
2378
|
{
|
|
2364
2379
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-lifecycle.rb",
|
|
2365
2380
|
"sha256": "7d4de17115d39ddfdaef7935614634fd3d061b31e6bd3c4f7e92527d7a895745",
|
|
@@ -2372,7 +2387,7 @@
|
|
|
2372
2387
|
},
|
|
2373
2388
|
{
|
|
2374
2389
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh",
|
|
2375
|
-
"sha256": "
|
|
2390
|
+
"sha256": "dabc1d5680c702c239b8a3fa889a206caba123502d199a4efc4a6f267add3b46",
|
|
2376
2391
|
"mode": 493
|
|
2377
2392
|
},
|
|
2378
2393
|
{
|
|
@@ -2407,7 +2422,7 @@
|
|
|
2407
2422
|
},
|
|
2408
2423
|
{
|
|
2409
2424
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh",
|
|
2410
|
-
"sha256": "
|
|
2425
|
+
"sha256": "24bac46448368f3538d484feabc3b691d8e13fab4852aae3836459b062916c85",
|
|
2411
2426
|
"mode": 493
|
|
2412
2427
|
},
|
|
2413
2428
|
{
|
|
@@ -2447,7 +2462,7 @@
|
|
|
2447
2462
|
},
|
|
2448
2463
|
{
|
|
2449
2464
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_sync_pointers.sh",
|
|
2450
|
-
"sha256": "
|
|
2465
|
+
"sha256": "34e5e2be94e8c5513d2885d940810058dd20a8154183bc045032e9c868ce5596",
|
|
2451
2466
|
"mode": 493
|
|
2452
2467
|
},
|
|
2453
2468
|
{
|
|
@@ -2457,7 +2472,7 @@
|
|
|
2457
2472
|
},
|
|
2458
2473
|
{
|
|
2459
2474
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_controlled_escalation_pins.sh",
|
|
2460
|
-
"sha256": "
|
|
2475
|
+
"sha256": "8dc6e33b87c8d60cc6b75ed7bedb47a32a4ccf75f191a6b4d9f01c869fe58172",
|
|
2461
2476
|
"mode": 493
|
|
2462
2477
|
},
|
|
2463
2478
|
{
|
|
@@ -2620,6 +2635,16 @@
|
|
|
2620
2635
|
"sha256": "03ac7d429620bda73dbfe531bc65b9d9d40ddaadec6938cb8e06749964e4ec2e",
|
|
2621
2636
|
"mode": 493
|
|
2622
2637
|
},
|
|
2638
|
+
{
|
|
2639
|
+
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_skill_paired_eval.py",
|
|
2640
|
+
"sha256": "bdc2e2113b2f0e26ee9338159638ea8edaee1bc0407082c20495b5eb7f92ca85",
|
|
2641
|
+
"mode": 420
|
|
2642
|
+
},
|
|
2643
|
+
{
|
|
2644
|
+
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_teardown_guard_pins.sh",
|
|
2645
|
+
"sha256": "95cc532b1c39f5fdb06fc7952b94d395f7df3675d0a158cb144f02a7a8fd189f",
|
|
2646
|
+
"mode": 493
|
|
2647
|
+
},
|
|
2623
2648
|
{
|
|
2624
2649
|
"path": "marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_uiux_delivery_contract.sh",
|
|
2625
2650
|
"sha256": "b58ec01810e0a226ff92bfd15b9d1f7bdc3c572591e7a68407b4a9fa8fa14ced",
|
|
@@ -3315,9 +3340,19 @@
|
|
|
3315
3340
|
"sha256": "115933f3e019e1aed802d65078b5b97a36bf80d35b3a526ba28370d24a992cc6",
|
|
3316
3341
|
"mode": 420
|
|
3317
3342
|
},
|
|
3343
|
+
{
|
|
3344
|
+
"path": "marketplace/plugins/ccl-skills/skills/worktree-isolation/references/merge-and-teardown.md",
|
|
3345
|
+
"sha256": "9a12e14b90033204fff17f945726beff2eb8ecbf5a2f328c515ce37cd435a5c6",
|
|
3346
|
+
"mode": 420
|
|
3347
|
+
},
|
|
3348
|
+
{
|
|
3349
|
+
"path": "marketplace/plugins/ccl-skills/skills/worktree-isolation/references/pre-merge-landing-checks.md",
|
|
3350
|
+
"sha256": "01772e6ee91a28c7fbdd4fa34c9017eb397e568a339de4331ee9e9228e56cc0e",
|
|
3351
|
+
"mode": 420
|
|
3352
|
+
},
|
|
3318
3353
|
{
|
|
3319
3354
|
"path": "marketplace/plugins/ccl-skills/skills/worktree-isolation/references/shared-branch-rebase.md",
|
|
3320
|
-
"sha256": "
|
|
3355
|
+
"sha256": "10968c4fb21828b181ede796cb6a1fa3f3d63aec3518b1390fbd94c9452b243d",
|
|
3321
3356
|
"mode": 420
|
|
3322
3357
|
},
|
|
3323
3358
|
{
|
|
@@ -3332,7 +3367,7 @@
|
|
|
3332
3367
|
},
|
|
3333
3368
|
{
|
|
3334
3369
|
"path": "marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_sweep.sh",
|
|
3335
|
-
"sha256": "
|
|
3370
|
+
"sha256": "0f43dd5f55be4dbffcc131013b87fce7720f38c6f6ce1e2c30bcd6c67d53f7b9",
|
|
3336
3371
|
"mode": 493
|
|
3337
3372
|
},
|
|
3338
3373
|
{
|
|
@@ -3347,7 +3382,7 @@
|
|
|
3347
3382
|
},
|
|
3348
3383
|
{
|
|
3349
3384
|
"path": "marketplace/plugins/ccl-skills/skills/worktree-isolation/SKILL.md",
|
|
3350
|
-
"sha256": "
|
|
3385
|
+
"sha256": "25833675f213ab7e5f70d4ded9453d364d53a30bc3b51951b7e7eca3b4b2bdbe",
|
|
3351
3386
|
"mode": 420
|
|
3352
3387
|
}
|
|
3353
3388
|
],
|
|
@@ -3533,5 +3568,5 @@
|
|
|
3533
3568
|
"mode": 420
|
|
3534
3569
|
}
|
|
3535
3570
|
],
|
|
3536
|
-
"snapshotHash": "
|
|
3571
|
+
"snapshotHash": "71e1f2b42d3c8852b4f48731f3a3cfe26cf308ef949ef374648bd8e3498baf9d"
|
|
3537
3572
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ccoalm/ccl-skills",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.12",
|
|
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",
|