Commit 9bf9729
authored
fix: prevent skill-active-state collision between OMC and project custom skills (#1741)
When a project defines a custom skill with the same name as an OMC built-in
skill (e.g., `.claude/skills/plan/`), the pre-tool hook incorrectly applied
OMC's SKILL_PROTECTION map to the custom skill, writing skill-active-state.json
with `active: true`. This caused the stop hook to block session termination
with reinforcement messages even after the custom skill completed.
The fix passes the raw (un-normalized) skill name through the call chain so
`getSkillProtection()` can distinguish OMC skills (prefixed with
`oh-my-claudecode:`) from project custom or other plugin skills. Non-OMC
skills now correctly default to `'none'` protection.
Affected files:
- src/hooks/skill-state/index.ts: Add rawSkillName param to getSkillProtection/writeSkillActiveState
- src/hooks/bridge.ts: Extract and pass raw skill name via getRawSkillName()
- scripts/pre-tool-enforcer.mjs: Same fix for the CJS runtime hook
Ref: #15811 parent 74f9bf8 commit 9bf9729
File tree
4 files changed
+89
-12
lines changed- scripts
- src/hooks
- skill-state
- __tests__
4 files changed
+89
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
363 | | - | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
364 | 371 | | |
365 | 372 | | |
366 | 373 | | |
| |||
373 | 380 | | |
374 | 381 | | |
375 | 382 | | |
376 | | - | |
377 | | - | |
| 383 | + | |
| 384 | + | |
378 | 385 | | |
379 | 386 | | |
380 | 387 | | |
| |||
456 | 463 | | |
457 | 464 | | |
458 | 465 | | |
459 | | - | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
460 | 470 | | |
461 | 471 | | |
462 | 472 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1351 | 1351 | | |
1352 | 1352 | | |
1353 | 1353 | | |
| 1354 | + | |
| 1355 | + | |
1354 | 1356 | | |
1355 | 1357 | | |
1356 | 1358 | | |
| 1359 | + | |
1357 | 1360 | | |
1358 | 1361 | | |
1359 | 1362 | | |
1360 | 1363 | | |
1361 | | - | |
| 1364 | + | |
1362 | 1365 | | |
1363 | 1366 | | |
1364 | 1367 | | |
| |||
1539 | 1542 | | |
1540 | 1543 | | |
1541 | 1544 | | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
1542 | 1558 | | |
1543 | 1559 | | |
1544 | 1560 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
110 | 134 | | |
111 | 135 | | |
112 | 136 | | |
| |||
177 | 201 | | |
178 | 202 | | |
179 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
180 | 218 | | |
181 | 219 | | |
182 | 220 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
134 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
135 | 139 | | |
136 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
137 | 146 | | |
138 | 147 | | |
139 | 148 | | |
140 | 149 | | |
141 | 150 | | |
142 | 151 | | |
143 | 152 | | |
144 | | - | |
145 | | - | |
| 153 | + | |
| 154 | + | |
146 | 155 | | |
147 | 156 | | |
148 | 157 | | |
| |||
163 | 172 | | |
164 | 173 | | |
165 | 174 | | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
166 | 178 | | |
167 | 179 | | |
168 | 180 | | |
169 | 181 | | |
170 | | - | |
| 182 | + | |
| 183 | + | |
171 | 184 | | |
172 | | - | |
| 185 | + | |
173 | 186 | | |
174 | 187 | | |
175 | 188 | | |
| |||
0 commit comments