oh-my-customcode 0.148.0 → 0.149.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/hooks/hooks.json +10 -0
- package/templates/.claude/hooks/scripts/plugin-cache-check.sh +35 -0
- package/templates/.claude/rules/MUST-agent-teams.md +25 -2
- package/templates/.claude/rules/MUST-continuous-improvement.md +32 -1
- package/templates/.claude/rules/SHOULD-memory-integration.md +9 -3
- package/templates/manifest.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -185,6 +185,16 @@
|
|
|
185
185
|
}
|
|
186
186
|
],
|
|
187
187
|
"description": "Auto-detect and fix previous session issues at start (#838)"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"matcher": "*",
|
|
191
|
+
"hooks": [
|
|
192
|
+
{
|
|
193
|
+
"type": "command",
|
|
194
|
+
"command": "bash .claude/hooks/scripts/plugin-cache-check.sh"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"description": "Advisory check for plugin cache directories missing node_modules (#1207)"
|
|
188
198
|
}
|
|
189
199
|
],
|
|
190
200
|
"UserPromptSubmit": [
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# plugin-cache-check.sh — SessionStart advisory hook
|
|
3
|
+
# Detects shared plugin caches with package.json but missing node_modules.
|
|
4
|
+
# Always exit 0 (non-blocking). Output advisory to stderr only.
|
|
5
|
+
# Issue: #1207 — claude-mem v13.3.0 plugin node_modules missing (zod/v3 module error)
|
|
6
|
+
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
|
|
9
|
+
# Read and pass stdin through unchanged
|
|
10
|
+
input=$(cat)
|
|
11
|
+
|
|
12
|
+
PLUGIN_CACHE="${HOME}/.claude/shared-plugins/cache"
|
|
13
|
+
|
|
14
|
+
if [ ! -d "$PLUGIN_CACHE" ]; then
|
|
15
|
+
echo "$input"
|
|
16
|
+
exit 0
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
missing=()
|
|
20
|
+
while IFS= read -r pkg; do
|
|
21
|
+
dir=$(dirname "$pkg")
|
|
22
|
+
if [ ! -d "$dir/node_modules" ]; then
|
|
23
|
+
missing+=("$dir")
|
|
24
|
+
fi
|
|
25
|
+
done < <(find "$PLUGIN_CACHE" -maxdepth 4 -name package.json 2>/dev/null)
|
|
26
|
+
|
|
27
|
+
if [ ${#missing[@]} -gt 0 ]; then
|
|
28
|
+
echo "[Advisory] Plugin cache missing node_modules (run \`(cd <dir> && bun install)\` per directory):" >&2
|
|
29
|
+
for d in "${missing[@]}"; do
|
|
30
|
+
echo " - $d" >&2
|
|
31
|
+
done
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
echo "$input"
|
|
35
|
+
exit 0
|
|
@@ -38,14 +38,18 @@ These are distinct mechanisms. Agent Teams `SendMessage` requires `TeamCreate` a
|
|
|
38
38
|
## Self-Check (Before Agent Tool)
|
|
39
39
|
|
|
40
40
|
Before using Agent tool for 2+ agent tasks, complete this check:
|
|
41
|
-
Quick rule: 3+ agents OR review cycle → use Agent Teams. Sequential deps / scaffolding → Agent Tool. 2+ issues in same batch → prefer Agent Teams.
|
|
41
|
+
Quick rule: User explicitly preferred plain subagents this session? → use Agent Tool (R000 user instructions > R018). Otherwise: 3+ agents OR review cycle → use Agent Teams. Sequential deps / scaffolding → Agent Tool. 2+ issues in same batch → prefer Agent Teams.
|
|
42
42
|
|
|
43
43
|
<!-- DETAIL: Self-Check (Before Agent Tool)
|
|
44
44
|
╔══════════════════════════════════════════════════════════════════╗
|
|
45
45
|
║ BEFORE USING Agent TOOL FOR 2+ AGENTS: ║
|
|
46
46
|
║ ║
|
|
47
|
+
║ 0. Has user explicitly preferred plain subagents this session? ║
|
|
48
|
+
║ YES → Use Agent tool (R000 user instructions > R018) ║
|
|
49
|
+
║ NO → Continue to #1 ║
|
|
50
|
+
║ ║
|
|
47
51
|
║ 1. Is Agent Teams available? ║
|
|
48
|
-
║ YES → check criteria #2-#
|
|
52
|
+
║ YES → check criteria #2-#5 ║
|
|
49
53
|
║ NO → Proceed with Agent tool ║
|
|
50
54
|
║ ║
|
|
51
55
|
║ 2. Will 3+ agents be involved? ║
|
|
@@ -305,3 +309,22 @@ Agent Teams actively preferred for qualifying collaborative tasks. Use Agent too
|
|
|
305
309
|
Do NOT avoid Agent Teams solely for cost reasons when criteria are met.
|
|
306
310
|
|
|
307
311
|
**Active preference rule**: When Agent Teams is available, default to using it for any multi-step or multi-issue work. Only fall back to Agent tool for truly simple, single-issue tasks with no verification needs.
|
|
312
|
+
|
|
313
|
+
## Member TaskUpdate Discipline
|
|
314
|
+
|
|
315
|
+
Agent Teams 멤버는 long-running 작업 중 진행 상태를 TaskUpdate 로 명시적으로 알려야 한다. 침묵은 코디네이터가 죽었거나 멤버가 막혔다고 오인하게 만든다.
|
|
316
|
+
|
|
317
|
+
| 시점 | 호출 |
|
|
318
|
+
|------|------|
|
|
319
|
+
| 작업 시작 | TaskUpdate(taskId, status: "in_progress") |
|
|
320
|
+
| 의미 있는 진행 (≥30s 분기/체크포인트) | TaskUpdate(taskId, description 업데이트 또는 메타데이터) |
|
|
321
|
+
| 완료 | TaskUpdate(taskId, status: "completed") |
|
|
322
|
+
| 차단 시 | TaskUpdate(taskId, description: 차단 사유) — 그 후 SendMessage |
|
|
323
|
+
|
|
324
|
+
### Common Violations
|
|
325
|
+
|
|
326
|
+
- 30초 이상 작업하면서 in_progress 미설정 → 다른 멤버가 task 를 claim 시도해 충돌
|
|
327
|
+
- 완료 후 status 미갱신 → 후속 작업이 영원히 blocked
|
|
328
|
+
- 차단 사유를 SendMessage 로만 보내고 task description 업데이트 누락 → TaskList 만 보는 멤버는 사유를 모름
|
|
329
|
+
|
|
330
|
+
Reference issue: #1087.
|
|
@@ -33,6 +33,7 @@ Update the relevant rule rather than just acknowledging the violation.
|
|
|
33
33
|
| Process gap (workflow hole) | ✅ | ✅ | ✅ | ⚠️ (패턴 3회 이상 반복 시) |
|
|
34
34
|
| Repeatable system bug | — | ✅ | ✅ | ⚠️ (수정이 구조적일 경우, 일회성 아닐 때) |
|
|
35
35
|
| Agent selection failure (wrong agent routed) | — | ✅ | — | ✅ (라우팅 스킬 업데이트 후보) |
|
|
36
|
+
| External repo convention miss | ✅ | ✅ | — | ⚠️ (3회 이상 반복 시) |
|
|
36
37
|
|
|
37
38
|
**Skill Promotion**: feedback memory가 동일 패턴으로 3회 이상 반복되면 "failure pattern"으로 승격. skill-extractor의 `--mode failure` 플래그로 스킬 후보 분석 가능 (Skillify 내재화, #972).
|
|
38
39
|
|
|
@@ -50,7 +51,36 @@ When repeating agent failures or suboptimal routing is detected:
|
|
|
50
51
|
|
|
51
52
|
This connects R016's continuous improvement loop with the adaptive-harness skill's learning capability.
|
|
52
53
|
|
|
53
|
-
##
|
|
54
|
+
## External Repo Contribution Pre-Check
|
|
55
|
+
|
|
56
|
+
Before starting work on contributing to an external repository (skill submission, agent contribution, plugin development), MUST read these files in the target repo FIRST round:
|
|
57
|
+
|
|
58
|
+
| File | Purpose |
|
|
59
|
+
|------|---------|
|
|
60
|
+
| `CONTRIBUTING.md` | Submission rules, PR conventions |
|
|
61
|
+
| `AGENTS.md` | Agent contribution guide (if applicable) |
|
|
62
|
+
| `docs/adding-a-*.md` | Domain-specific add guide (e.g., `adding-a-skill.md`) |
|
|
63
|
+
| Domain-specific checklist | Frontmatter conventions, metadata enums |
|
|
64
|
+
| `package.json` scripts | Validation commands (e.g., `npm run ci`) |
|
|
65
|
+
|
|
66
|
+
### Self-Check
|
|
67
|
+
|
|
68
|
+
Before first implementation commit on external contribution:
|
|
69
|
+
- [ ] Read CONTRIBUTING / AGENTS / skill-checklist
|
|
70
|
+
- [ ] Identified frontmatter convention + metadata enums
|
|
71
|
+
- [ ] Identified validation commands
|
|
72
|
+
- [ ] Confirmed domain fit (does this contribution match the target repo's domain?)
|
|
73
|
+
|
|
74
|
+
### Common Violation
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
❌ WRONG: Start implementation → discover frontmatter convention mid-session → rewrite
|
|
78
|
+
✓ CORRECT: First round read CONTRIBUTING/AGENTS → identify conventions → then implement
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Reference issues: #1188 item #5, #1188 item #7, #1198 item #5.
|
|
82
|
+
|
|
83
|
+
## Anti-Patterns — 5 patterns: "I'll update later", "one-time exception", "doesn't cover this", "finish task first", "calibration during action-oriented tone". See table via Read tool.
|
|
54
84
|
|
|
55
85
|
<!-- DETAIL: Anti-Patterns
|
|
56
86
|
| Anti-Pattern | Why It's Wrong | Correct Action |
|
|
@@ -59,6 +89,7 @@ This connects R016's continuous improvement loop with the adaptive-harness skill
|
|
|
59
89
|
| "This is a one-time exception" | Exceptions become patterns | If the rule is wrong, fix it; if it's right, follow it |
|
|
60
90
|
| "The rule doesn't cover this case" | Missing coverage = rule gap | Add the case to the rule immediately |
|
|
61
91
|
| "Let me finish the task first" | Rule violations compound | Fix rule first (5 min), then continue (prevents N future violations) |
|
|
92
|
+
| "Calibration/humility during action-oriented tone (auto mode, ㄱㄱ, 계속해)" | Self-questioning wastes time when user signals action; action-mode preempts meta-reflection | Defer calibration to post-task feedback memory; respond with short action confirmation |
|
|
62
93
|
-->
|
|
63
94
|
|
|
64
95
|
## Timing — Rule updates MUST happen before continuing original task, in the same session.
|
|
@@ -351,7 +351,7 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
|
|
|
351
351
|
|
|
352
352
|
### Session-End Self-Check (MANDATORY)
|
|
353
353
|
|
|
354
|
-
(1) sys-memory-keeper updated MEMORY.md? (2) claude-mem save attempted?
|
|
354
|
+
(1) sys-memory-keeper updated MEMORY.md? (2) claude-mem save attempted? (3) If `omcustom-feedback` skill is active, prompt user to trigger it? All three required before confirming to user. See full self-check via Read tool.
|
|
355
355
|
|
|
356
356
|
<!-- DETAIL: Session-End Self-Check (MANDATORY)
|
|
357
357
|
```
|
|
@@ -366,10 +366,15 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
|
|
|
366
366
|
║ YES → Continue (even if it failed) ║
|
|
367
367
|
║ NO → ToolSearch + save now ║
|
|
368
368
|
║ ║
|
|
369
|
+
║ 3. Is omcustom-feedback skill available in this project? ║
|
|
370
|
+
║ YES → Ask user: "이번 세션 피드백을 omcustom-feedback로 ║
|
|
371
|
+
║ 기록하시겠습니까?" — accept skip ║
|
|
372
|
+
║ NO → Skip ║
|
|
373
|
+
║ ║
|
|
369
374
|
║ Note: episodic-memory auto-indexes conversations after session ║
|
|
370
375
|
║ ends. No manual action needed — do NOT search as "verification" ║
|
|
371
376
|
║ ║
|
|
372
|
-
║
|
|
377
|
+
║ ALL steps must be completed before confirming to user. ║
|
|
373
378
|
║ "Attempted" means called the tool — failure is OK, skipping ║
|
|
374
379
|
║ is NOT. ║
|
|
375
380
|
╚══════════════════════════════════════════════════════════════════╝
|
|
@@ -413,7 +418,8 @@ Phase 1 COEXIST 기간 중 세션 종료 시:
|
|
|
413
418
|
1. sys-memory-keeper가 MEMORY.md 갱신? → YES: 계속
|
|
414
419
|
2. claude-mem 저장 시도? → YES (기존 항목)
|
|
415
420
|
3. AgentMemory 저장 시도? → YES (COEXIST 추가)
|
|
416
|
-
|
|
421
|
+
4. omcustom-feedback 권유? → YES (활성 시) / 스킵 (비활성 시)
|
|
422
|
+
네 단계 모두 완료 후 사용자에게 확인. 둘 중 하나 실패해도 비차단.
|
|
417
423
|
|
|
418
424
|
### Phase 2 진입 전 필수 조건
|
|
419
425
|
|
package/templates/manifest.json
CHANGED