oh-my-customcode 1.1.14 → 1.1.15
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/agents/mgr-sauron.md +2 -1
- package/templates/.claude/rules/MUST-agent-design.md +1 -1
- package/templates/.claude/rules/MUST-agent-identification.md +7 -7
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +2 -0
- package/templates/.claude/rules/MUST-permissions.md +1 -9
- package/templates/.claude/rules/MUST-tool-identification.md +8 -10
- package/templates/.claude/skills/sauron-watch/SKILL.md +12 -4
- package/templates/manifest.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mgr-sauron
|
|
3
|
-
description: Use when you need automated verification of R017 compliance, executing mandatory multi-round verification (5 manager rounds + 3 deep review rounds) before commits
|
|
3
|
+
description: Use when you need automated verification of R017 compliance, executing mandatory multi-round verification (5 manager rounds + 3 deep review rounds, with rounds 3-4 conditionally skipped when rounds 1-2 return 0 issues) before commits
|
|
4
4
|
model: sonnet
|
|
5
5
|
domain: universal
|
|
6
6
|
memory: local
|
|
@@ -33,6 +33,7 @@ You are an automated verification specialist that executes the mandatory R017 ve
|
|
|
33
33
|
9. Structural linting: routing coverage (unreachable agents), orphan skill detection, circular dependency check, context:fork cap verification
|
|
34
34
|
10. Auto-fix simple issues (count mismatches, missing fields)
|
|
35
35
|
11. Generate verification report
|
|
36
|
+
12. Cost-aware verification: skip Round 3-4 re-verification when Round 1-2 found 0 issues; substitute deterministic script results (verify-template-sync.sh, verify-wiki-sync.sh, verify-version-sync.sh, validate-docs.ts) for LLM re-derivation of count/template/wiki checks in Round 5 (R023 shift-left, no loss to verification coverage)
|
|
36
37
|
|
|
37
38
|
## Commands
|
|
38
39
|
|
|
@@ -218,7 +218,7 @@ Agent frontmatter `hooks:` now fire when the agent runs as a main-thread agent v
|
|
|
218
218
|
|
|
219
219
|
## Permission Mode Guidance
|
|
220
220
|
|
|
221
|
-
CC defaults `mode` to `acceptEdits` if not specified — always pass `mode: "bypassPermissions"` explicitly in Agent tool calls
|
|
221
|
+
> Canonical source for the bypassPermissions requirement: R010 (MUST-orchestrator-coordination.md) "Universal bypassPermissions". CC defaults `mode` to `acceptEdits` if not specified — always pass `mode: "bypassPermissions"` explicitly in Agent tool calls. See R010 for the full requirement, rationale, and self-check.
|
|
222
222
|
|
|
223
223
|
| Mode | Behavior |
|
|
224
224
|
|------|----------|
|
|
@@ -47,9 +47,9 @@ When the orchestrator invokes a skill via the Skill tool, the skill name MUST be
|
|
|
47
47
|
└─ Task: {brief-task-description}
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
+
<!-- DETAIL: Common Violations examples (redundant with Skill Invocation Format above)
|
|
50
51
|
### Common Violations
|
|
51
52
|
|
|
52
|
-
```
|
|
53
53
|
Incorrect: Skill as separate display
|
|
54
54
|
┌─ Agent: claude (default)
|
|
55
55
|
└─ Task: research topic analysis
|
|
@@ -64,7 +64,7 @@ Correct: With sub-skill
|
|
|
64
64
|
┌─ Agent: claude → research
|
|
65
65
|
├─ Skill: result-aggregation
|
|
66
66
|
└─ Task: aggregate team findings
|
|
67
|
-
|
|
67
|
+
-->
|
|
68
68
|
|
|
69
69
|
## When to Display
|
|
70
70
|
|
|
@@ -85,17 +85,17 @@ Correct: With sub-skill
|
|
|
85
85
|
|
|
86
86
|
체크 실패 시 즉시 헤더/prefix 추가 후 도구 호출. PostCompact hook 만으로 보장되지 않으며 압축 없이도 멀티턴 누락이 발생하므로 매 턴 자가 점검 강제.
|
|
87
87
|
|
|
88
|
+
<!-- DETAIL: Common Multi-Turn Violation example (redundant with Short Response Discipline table below)
|
|
88
89
|
### Common Multi-Turn Violation
|
|
89
90
|
|
|
90
|
-
```
|
|
91
91
|
턴 1: ┌─ Agent: claude (default) ✓
|
|
92
92
|
턴 2: (헤더 없음, 짧은 답변이라 생략) ✗
|
|
93
93
|
턴 3: 도구 호출 prefix 누락 ✗
|
|
94
|
-
```
|
|
95
94
|
|
|
96
95
|
응답 길이/턴 위치 무관. 짧은 답변에도 헤더는 필수.
|
|
97
96
|
|
|
98
97
|
Reference issue: #1096.
|
|
98
|
+
-->
|
|
99
99
|
|
|
100
100
|
### Short Response Discipline
|
|
101
101
|
|
|
@@ -118,7 +118,7 @@ Reference issue: #1096.
|
|
|
118
118
|
|--------------|----------|
|
|
119
119
|
| 도구 결과 수신 후 응답 텍스트 없이 turn 종료 ("(no content)") | 최소 1줄 진행 상태 + R007 헤더 출력 후 종료/계속 |
|
|
120
120
|
|
|
121
|
-
Reference issues: #1188 item #2, #1198 item #2, #1409.
|
|
121
|
+
<!-- Reference issues: #1188 item #2, #1198 item #2, #1409. -->
|
|
122
122
|
|
|
123
123
|
### External-Project / Debugging Session Vigilance
|
|
124
124
|
|
|
@@ -132,6 +132,6 @@ R007 헤더 누락은 외부 프로젝트 디버깅, SSH 진단, 배포 작업
|
|
|
132
132
|
|
|
133
133
|
기술적 몰입 중 헤더 누락이 반복될 경우 즉시 re-anchor: 다음 응답에 `┌─ Agent:` 풀 헤더를 붙이고 이후 계속 유지한다.
|
|
134
134
|
|
|
135
|
-
외부 프로젝트 진단 세션(예: #1417 통화녹음 수집 진단)에서 세션 전체에 걸쳐 헤더가 반복 누락되는 재발이 관측되었다 — 진단 몰입 중에도 매 응답 헤더를 고정한다.
|
|
136
|
-
|
|
135
|
+
<!-- DETAIL: Case history — 외부 프로젝트 진단 세션(예: #1417 통화녹음 수집 진단)에서 세션 전체에 걸쳐 헤더가 반복 누락되는 재발이 관측되었다 — 진단 몰입 중에도 매 응답 헤더를 고정한다.
|
|
137
136
|
Reference issues: #1401, #1417.
|
|
137
|
+
-->
|
|
@@ -278,6 +278,8 @@ Cross-reference: the Subagent Scope-Creep STOP Protocol (reactive halt after tri
|
|
|
278
278
|
|
|
279
279
|
## Universal bypassPermissions
|
|
280
280
|
|
|
281
|
+
> **This section is the canonical single source for the bypassPermissions requirement.** R002 (MUST-permissions.md) and R006 (MUST-agent-design.md) reference this section rather than repeating it.
|
|
282
|
+
|
|
281
283
|
**ALL Agent tool calls MUST include `mode: "bypassPermissions"`.**
|
|
282
284
|
|
|
283
285
|
The Agent tool defaults to `mode: "acceptEdits"`, which overrides agent frontmatter `permissionMode` and causes permission prompts during unattended execution. This is a CC platform behavior, not a configuration error.
|
|
@@ -69,12 +69,4 @@ Use a `"*"` deny rule in `settings.json` to enforce a deny-by-default posture, t
|
|
|
69
69
|
|
|
70
70
|
## Agent Tool Permission Mode
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
| Setting | Effect |
|
|
75
|
-
|---------|--------|
|
|
76
|
-
| Agent frontmatter `permissionMode: bypassPermissions` | Ignored if Agent tool `mode` not set |
|
|
77
|
-
| Agent tool `mode: "bypassPermissions"` | **Required** — actually controls subagent permissions |
|
|
78
|
-
| Agent tool `mode` omitted | Defaults to `acceptEdits` → prompts for Bash, WebFetch |
|
|
79
|
-
|
|
80
|
-
Skills that spawn agents MUST include `mode: "bypassPermissions"` in their Agent tool call instructions. This applies to all routing skills, pipeline skills, and any skill that delegates work to subagents.
|
|
72
|
+
> Canonical source: R010 (MUST-orchestrator-coordination.md) "Universal bypassPermissions" owns the full requirement, rationale, self-check, and version history. Core rule: always pass `mode: "bypassPermissions"` explicitly on every Agent tool call — the Agent tool's default `mode` (`acceptEdits`) overrides agent frontmatter `permissionMode` and causes prompts during unattended execution. Skills that spawn agents MUST include this in their Agent tool call instructions. See R010 for details.
|
|
@@ -107,22 +107,20 @@ R008 "every tool call" applies to Tier-3 interaction tools too — NOT only file
|
|
|
107
107
|
|
|
108
108
|
Skill invocation is the one exception: it is identified through the R007 integrated identification block (`┌─ Agent: claude → {skill-name}`), not a standalone R008 tool prefix.
|
|
109
109
|
|
|
110
|
-
Reference issue: #1321 (session 113 retrospective, 찐빠 #2 — AskUserQuestion prefix omitted twice).
|
|
110
|
+
<!-- Reference issue: #1321 (session 113 retrospective, 찐빠 #2 — AskUserQuestion prefix omitted twice). -->
|
|
111
111
|
|
|
112
|
+
<!-- DETAIL: Consolidated Example (redundant with Parallel Spawn Prefix Rule example above)
|
|
112
113
|
## Example
|
|
113
114
|
|
|
114
|
-
```
|
|
115
115
|
[mgr-creator][sonnet] → Write: .claude/agents/new-agent.md
|
|
116
116
|
[secretary][opus] → Spawning:
|
|
117
117
|
[1] lang-golang-expert:sonnet → Go code review
|
|
118
118
|
[2] lang-python-expert:sonnet → Python code review
|
|
119
|
-
```
|
|
120
119
|
|
|
121
120
|
Parallel spawn description parameter:
|
|
122
|
-
```
|
|
123
121
|
Agent(description: "[1] Go code review", subagent_type: "lang-golang-expert", ...)
|
|
124
122
|
Agent(description: "[2] Python code review", subagent_type: "lang-python-expert", ...)
|
|
125
|
-
|
|
123
|
+
-->
|
|
126
124
|
|
|
127
125
|
## Multi-Turn Self-Check (MANDATORY)
|
|
128
126
|
|
|
@@ -134,17 +132,17 @@ Agent(description: "[2] Python code review", subagent_type: "lang-python-expert"
|
|
|
134
132
|
|
|
135
133
|
체크 실패 시 즉시 prefix/필수 파라미터를 보완한 후 호출.
|
|
136
134
|
|
|
135
|
+
<!-- DETAIL: Common Multi-Turn Violation example (redundant with Self-Check steps above)
|
|
137
136
|
### Common Multi-Turn Violation
|
|
138
137
|
|
|
139
|
-
```
|
|
140
138
|
호출 1 (턴 1): [claude][sonnet] → Tool: Read ✓
|
|
141
139
|
호출 2 (턴 1, 같은 턴 추가 호출): (prefix 없음) ✗
|
|
142
140
|
호출 3 (턴 2 첫 호출): (prefix 없음) ✗
|
|
143
|
-
```
|
|
144
141
|
|
|
145
142
|
같은 턴 내 추가 호출, 새 턴 첫 호출 모두 prefix 필수.
|
|
146
143
|
|
|
147
144
|
Reference issue: #1096.
|
|
145
|
+
-->
|
|
148
146
|
|
|
149
147
|
### Short Response Discipline
|
|
150
148
|
|
|
@@ -160,7 +158,7 @@ Reference issue: #1096.
|
|
|
160
158
|
<Bash call>
|
|
161
159
|
```
|
|
162
160
|
|
|
163
|
-
Reference issues: #1188 item #3, #1198 item #3.
|
|
161
|
+
<!-- Reference issues: #1188 item #3, #1198 item #3. -->
|
|
164
162
|
|
|
165
163
|
### External-Project / Debugging Session Vigilance
|
|
166
164
|
|
|
@@ -172,6 +170,6 @@ R007 헤더와 마찬가지로, R008 prefix 누락도 외부 프로젝트 디버
|
|
|
172
170
|
| 외부 프로젝트 디버깅 | **동일하게 필수** |
|
|
173
171
|
| SSH / 배포 / 인프라 작업 | **동일하게 필수** |
|
|
174
172
|
|
|
175
|
-
외부 프로젝트 진단 세션(#1417)에서 Bash/Edit/Read/Agent 모든 호출에 `[agent][model] → Tool:` prefix가 세션 전체 누락된 재발이 관측되었다 — 도구 호출 직전 prefix 부착을 워크플로에 내재화한다.
|
|
176
|
-
|
|
173
|
+
<!-- DETAIL: Case history — 외부 프로젝트 진단 세션(#1417)에서 Bash/Edit/Read/Agent 모든 호출에 `[agent][model] → Tool:` prefix가 세션 전체 누락된 재발이 관측되었다 — 도구 호출 직전 prefix 부착을 워크플로에 내재화한다.
|
|
177
174
|
Reference issues: #1401, #1417.
|
|
175
|
+
-->
|
|
@@ -26,6 +26,9 @@ Ensure complete synchronization of agents, skills, documentation, and project st
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
#### Round 3-4: Re-verify + Update
|
|
29
|
+
|
|
30
|
+
**Conditional skip (R023 shift-left, no loss)**: If Round 1-2 returned **0 issues** (both `mgr-supplier:audit` and `mgr-updater:docs` clean), SKIP Round 3-4 entirely — there is nothing to re-verify. If Round 1-2 found ANY issue (including auto-fixed ones), Round 3-4 MUST run in full to confirm the fix.
|
|
31
|
+
|
|
29
32
|
```
|
|
30
33
|
□ mgr-supplier:audit - Re-verify after fixes
|
|
31
34
|
□ mgr-updater:docs - Re-run and apply any detected changes
|
|
@@ -33,17 +36,22 @@ Ensure complete synchronization of agents, skills, documentation, and project st
|
|
|
33
36
|
```
|
|
34
37
|
|
|
35
38
|
#### Round 5: Final Count Verification
|
|
39
|
+
|
|
40
|
+
**Deterministic-script substitution (R023 shift-left, no loss)**: The items below marked `[script]` are already covered by existing deterministic scripts (`verify-template-sync.sh`, `verify-wiki-sync.sh`, `verify-version-sync.sh`, `validate-docs.ts`, pre-commit count-coverage hook). For those items, RUN the script and consume its PASS/FAIL result instead of re-deriving the same check via an LLM re-spawn. Items without `[script]` have no deterministic equivalent (semantic/philosophy checks) and MUST still be verified directly.
|
|
41
|
+
|
|
36
42
|
```
|
|
37
|
-
□ Agent count matches: CLAUDE.md vs actual .md files
|
|
38
|
-
□ Skill count matches: CLAUDE.md vs actual SKILL.md files
|
|
43
|
+
□ [script] Agent count matches: CLAUDE.md vs actual .md files (pre-commit coverage / validate-docs.ts)
|
|
44
|
+
□ [script] Skill count matches: CLAUDE.md vs actual SKILL.md files (pre-commit coverage / validate-docs.ts)
|
|
39
45
|
□ Memory field distribution correct
|
|
40
|
-
□ Hook/context/guide/rule counts match
|
|
46
|
+
□ [script] Hook/context/guide/rule counts match (validate-docs.ts / verify-version-sync.sh)
|
|
41
47
|
□ All frontmatter valid
|
|
42
48
|
□ All skill refs exist
|
|
43
49
|
□ All memory scopes valid (project|user|local)
|
|
44
50
|
□ Routing patterns updated
|
|
45
|
-
□ R006 Context Fork Criteria list matches actual SKILL.md frontmatter
|
|
51
|
+
□ [script] R006 Context Fork Criteria list matches actual SKILL.md frontmatter
|
|
46
52
|
(run `bash .github/scripts/verify-fork-list.sh`)
|
|
53
|
+
□ [script] templates/ mirror byte-identical to source (verify-template-sync.sh)
|
|
54
|
+
□ [script] wiki pages current vs source (verify-wiki-sync.sh)
|
|
47
55
|
```
|
|
48
56
|
|
|
49
57
|
### Phase 2: Deep Review (3 rounds)
|
package/templates/manifest.json
CHANGED