oh-my-customcode 0.58.5 → 0.59.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 +1 -1
- package/templates/.claude/rules/MAY-optimization.md +6 -5
- package/templates/.claude/rules/MUST-agent-design.md +20 -57
- package/templates/.claude/rules/MUST-agent-teams.md +39 -42
- package/templates/.claude/rules/MUST-completion-verification.md +8 -22
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +43 -16
- package/templates/.claude/rules/MUST-parallel-execution.md +12 -30
- package/templates/.claude/rules/MUST-sync-verification.md +4 -1
- package/templates/.claude/rules/MUST-tool-identification.md +13 -29
- package/templates/.claude/rules/SHOULD-hud-statusline.md +13 -67
- package/templates/.claude/rules/SHOULD-memory-integration.md +52 -60
- package/templates/.claude/skills/post-release-followup/SKILL.md +1 -1
- package/templates/CLAUDE.md +3 -3
- package/templates/manifest.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"hooks": [
|
|
166
166
|
{
|
|
167
167
|
"type": "prompt",
|
|
168
|
-
"prompt": "Context compacted. RULES
|
|
168
|
+
"prompt": "Context compacted. RULES ACTIVE.\n\nR007: next response MUST start with ┌─ Agent: claude (default) / └─ Task: {task}\nR008: before EVERY tool call → [claude][model] → Tool: Name / Target: path\nR010: write→delegate to subagent; orchestrator read-only (Read/Glob/Grep); git→mgr-gitnerd\nR009: 2+ independent tasks → parallel agents, same message\nR018: 3+ agents OR review cycle → Agent Teams\n\nAutonomous mode: if /tmp/.claude-autonomous-$PPID exists → simple git (add/commit/push) may run directly; Write/Edit still delegates.\nbypassPermissions does NOT persist across compaction — re-enable if tasks seem blocked.\n\nRe-read CLAUDE.md NOW."
|
|
169
169
|
}
|
|
170
170
|
],
|
|
171
171
|
"description": "Reinforce enforced rules after context compaction — prevents rule amnesia (v2.1.76+)"
|
|
@@ -28,14 +28,15 @@
|
|
|
28
28
|
|
|
29
29
|
Readability > Optimization. No optimization without measurement.
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## Context Optimization via HTML Comments (v2.1.72+)
|
|
32
32
|
|
|
33
|
-
HTML comments in CLAUDE.md are hidden from the model during auto-injection but visible via Read tool.
|
|
33
|
+
HTML comments in all auto-injected .md files (CLAUDE.md and rules/*.md) are hidden from the model during auto-injection but visible via Read tool.
|
|
34
34
|
|
|
35
35
|
| Use Case | Example |
|
|
36
36
|
|----------|---------|
|
|
37
|
-
| Metadata tags | `<!-- agents: 44, skills: 74 -->` |
|
|
38
|
-
| Validation checksums | `<!-- validate-docs: hash=abc123 -->` |
|
|
39
|
-
| Conditional context | `<!-- detailed-architecture: see guides/architecture/ -->` |
|
|
37
|
+
| Metadata tags | `<!-- agents: 44, skills: 74 -->` in CLAUDE.md |
|
|
38
|
+
| Validation checksums | `<!-- validate-docs: hash=abc123 -->` in CLAUDE.md |
|
|
39
|
+
| Conditional context | `<!-- detailed-architecture: see guides/architecture/ -->` in CLAUDE.md |
|
|
40
|
+
| Rule detail hiding | `<!-- DETAIL: Self-Check ... -->` in rules/*.md |
|
|
40
41
|
|
|
41
42
|
**Rule**: Move model-unnecessary metadata into HTML comments to reduce context token usage. Keep actionable instructions as visible text.
|
|
@@ -50,6 +50,7 @@ domain: backend # backend | frontend | data-engineering | devops |
|
|
|
50
50
|
|
|
51
51
|
> **Note**: `isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations` are supported in Claude Code v2.1.63+. Hook types `PostCompact`, `Elicitation`, `ElicitationResult` require v2.1.76+.
|
|
52
52
|
|
|
53
|
+
<!-- DETAIL: Isolation/Token/Limitations/Escalation details
|
|
53
54
|
### Isolation Modes
|
|
54
55
|
|
|
55
56
|
| Mode | Behavior | Use Case |
|
|
@@ -79,6 +80,7 @@ When `escalation.enabled: true`, the model-escalation hooks will track outcomes
|
|
|
79
80
|
| `enabled` | false | Enable escalation tracking for this agent |
|
|
80
81
|
| `path` | haiku → sonnet → opus | Model upgrade sequence |
|
|
81
82
|
| `threshold` | 2 | Failure count before escalation advisory |
|
|
83
|
+
-->
|
|
82
84
|
|
|
83
85
|
## Memory Scopes
|
|
84
86
|
|
|
@@ -92,51 +94,26 @@ When enabled: first 200 lines of MEMORY.md loaded into system prompt.
|
|
|
92
94
|
|
|
93
95
|
## Soul Identity
|
|
94
96
|
|
|
95
|
-
Optional per-agent identity layer
|
|
97
|
+
Optional per-agent identity layer. `soul: true` in frontmatter enables personality/style via `.claude/agents/souls/{name}.soul.md`. Behavioral memory (R011) overrides soul defaults.
|
|
96
98
|
|
|
99
|
+
<!-- DETAIL: Soul Identity full spec
|
|
97
100
|
| Aspect | Location | Purpose |
|
|
98
101
|
|--------|----------|---------|
|
|
99
102
|
| Capabilities | `.claude/agents/{name}.md` | WHAT the agent does |
|
|
100
103
|
| Identity | `.claude/agents/souls/{name}.soul.md` | HOW the agent communicates |
|
|
101
104
|
|
|
102
|
-
### Soul File Format
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
```yaml
|
|
107
|
-
---
|
|
108
|
-
agent: {agent-name} # Must match agent filename
|
|
109
|
-
version: 1.0.0
|
|
110
|
-
---
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Sections: `## Personality`, `## Style`, `## Anti-patterns`
|
|
114
|
-
|
|
115
|
-
### Activation
|
|
116
|
-
|
|
117
|
-
1. Agent frontmatter includes `soul: true`
|
|
118
|
-
2. Routing skill reads `souls/{name}.soul.md` at spawn time (Step 5)
|
|
119
|
-
3. Soul content prepended to agent prompt as identity context
|
|
120
|
-
4. Missing soul file → graceful fallback (no error)
|
|
121
|
-
|
|
122
|
-
### Precedence
|
|
123
|
-
|
|
124
|
-
Behavioral memory observations (R011) override soul defaults when they conflict. Behaviors are user-specific; souls are template defaults.
|
|
105
|
+
### Soul File Format: agent: {name}, version: 1.0.0 — Sections: Personality, Style, Anti-patterns
|
|
106
|
+
### Activation: frontmatter soul:true → routing skill reads souls/{name}.soul.md at spawn (Step 5) → prepend to prompt → missing file = graceful fallback
|
|
107
|
+
-->
|
|
125
108
|
|
|
126
109
|
## Artifact Output Convention
|
|
127
110
|
|
|
128
|
-
Skills
|
|
129
|
-
|
|
130
|
-
**Location**: `.claude/outputs/sessions/{YYYY-MM-DD}/{skill-name}-{HHmmss}.md`
|
|
111
|
+
Skills persist output to `.claude/outputs/sessions/{YYYY-MM-DD}/{skill-name}-{HHmmss}.md`. Opt-in, git-untracked. Final subagent writes (R010).
|
|
131
112
|
|
|
113
|
+
<!-- DETAIL: Artifact Output full spec
|
|
132
114
|
**Format**: Metadata header with `skill`, `date`, `query` fields, followed by skill output content.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
- Opt-in per skill — not mandatory
|
|
136
|
-
- The final subagent in the skill's pipeline writes the artifact (R010 compliance)
|
|
137
|
-
- Skills create the directory (`mkdir -p`) before writing
|
|
138
|
-
- `.claude/outputs/` is git-untracked (under `.claude/` gitignore)
|
|
139
|
-
- No indexing required — date-based directory browsing is sufficient
|
|
115
|
+
**Rules**: Opt-in per skill, final subagent writes (R010 compliance), Skills create directory (mkdir -p), .claude/outputs/ is git-untracked, no indexing required.
|
|
116
|
+
-->
|
|
140
117
|
|
|
141
118
|
## Separation of Concerns
|
|
142
119
|
|
|
@@ -172,18 +149,11 @@ effort: medium # low | medium | high — overrides model effort lev
|
|
|
172
149
|
|
|
173
150
|
When both an agent and its invoked skill specify `effort`, the skill's value takes precedence (more specific invocation-time setting).
|
|
174
151
|
|
|
175
|
-
|
|
176
|
-
|
|
152
|
+
<!-- DETAIL: Skill Effectiveness Tracking
|
|
177
153
|
Skills can optionally track effectiveness metrics via auto-populated fields:
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
invocations: 0 # Total invocation count across sessions
|
|
182
|
-
success_rate: 0.0 # Success rate (0.0-1.0)
|
|
183
|
-
last_invoked: "" # ISO-8601 timestamp
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
These fields are read-only from the skill's perspective — sys-memory-keeper updates them at session end based on task-outcome-recorder data. They inform model selection, routing optimization, and skill maintenance priorities.
|
|
154
|
+
effectiveness.invocations, effectiveness.success_rate (0.0-1.0), effectiveness.last_invoked (ISO-8601)
|
|
155
|
+
Read-only from skill perspective — sys-memory-keeper updates at session end via task-outcome-recorder data.
|
|
156
|
+
-->
|
|
187
157
|
|
|
188
158
|
## Skill Scope
|
|
189
159
|
|
|
@@ -197,19 +167,12 @@ Default: `core` (when field is omitted)
|
|
|
197
167
|
|
|
198
168
|
### Context Fork Criteria
|
|
199
169
|
|
|
200
|
-
Use `context: fork` for
|
|
201
|
-
|
|
202
|
-
| Use `context: fork` | Do NOT use `context: fork` |
|
|
203
|
-
|---------------------|---------------------------|
|
|
204
|
-
| Routing skills (secretary, dev-lead, etc.) | Best-practices skills |
|
|
205
|
-
| Workflow orchestration (DAG, pipelines) | Hook/command skills |
|
|
206
|
-
| Multi-agent coordination patterns | Single-agent reference skills |
|
|
207
|
-
| Task decomposition/planning | External tool integrations |
|
|
170
|
+
Use `context: fork` for multi-agent orchestration skills only. Cap: **12 total**. Current: 9/12 (secretary/dev-lead/de-lead/qa-lead-routing, dag-orchestration, task-decomposition, worker-reviewer-pipeline, pipeline-guards, deep-plan).
|
|
208
171
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
172
|
+
<!-- DETAIL: Context Fork decision table
|
|
173
|
+
| Use context:fork | Do NOT use context:fork |
|
|
174
|
+
| Routing skills, Workflow orchestration (DAG), Multi-agent coordination, Task decomposition | Best-practices skills, Hook/command skills, Single-agent reference, External tool integrations |
|
|
175
|
+
-->
|
|
213
176
|
|
|
214
177
|
## Naming
|
|
215
178
|
|
|
@@ -28,8 +28,9 @@ Available when `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` or TeamCreate/SendMessag
|
|
|
28
28
|
## Self-Check (Before Agent Tool)
|
|
29
29
|
|
|
30
30
|
Before using Agent tool for 2+ agent tasks, complete this check:
|
|
31
|
+
Quick rule: 3+ agents OR review cycle → use Agent Teams. Sequential deps / scaffolding → Agent Tool. 2+ issues in same batch → prefer Agent Teams.
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
<!-- DETAIL: Self-Check (Before Agent Tool)
|
|
33
34
|
╔══════════════════════════════════════════════════════════════════╗
|
|
34
35
|
║ BEFORE USING Agent TOOL FOR 2+ AGENTS: ║
|
|
35
36
|
║ ║
|
|
@@ -58,15 +59,13 @@ Before using Agent tool for 2+ agent tasks, complete this check:
|
|
|
58
59
|
║ 2+ issues in same batch → prefer Agent Teams ║
|
|
59
60
|
║ Everything else → Agent tool ║
|
|
60
61
|
╚══════════════════════════════════════════════════════════════════╝
|
|
61
|
-
|
|
62
|
+
-->
|
|
62
63
|
|
|
63
64
|
### Spawn Completeness Check
|
|
64
65
|
|
|
65
|
-
When spawning Agent Teams members:
|
|
66
|
-
|
|
67
66
|
All members must be spawned in a single message. Partial spawning needs correction per R018 and R009.
|
|
68
67
|
|
|
69
|
-
|
|
68
|
+
<!-- DETAIL: Self-Check (Spawn Completeness)
|
|
70
69
|
╔══════════════════════════════════════════════════════════════════╗
|
|
71
70
|
║ BEFORE SPAWNING TEAM MEMBERS: ║
|
|
72
71
|
║ ║
|
|
@@ -79,10 +78,9 @@ All members must be spawned in a single message. Partial spawning needs correcti
|
|
|
79
78
|
║ Sequential spawn (one per message) = needs correction ║
|
|
80
79
|
║ All at once in single message = correct ║
|
|
81
80
|
╚══════════════════════════════════════════════════════════════════╝
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
### External Skill Conflict Resolution
|
|
81
|
+
-->
|
|
85
82
|
|
|
83
|
+
<!-- DETAIL: External Skill Conflict Resolution
|
|
86
84
|
When an external skill instructs using Agent tool but R018 criteria are met:
|
|
87
85
|
|
|
88
86
|
| Skill says | R018 requires | Resolution |
|
|
@@ -91,12 +89,23 @@ When an external skill instructs using Agent tool but R018 criteria are met:
|
|
|
91
89
|
| "Sequential agent spawning" | Independent tasks → parallel | Parallelize per R009 |
|
|
92
90
|
| "Skip coordination" | Shared state → Teams | Use Teams for coordination |
|
|
93
91
|
|
|
94
|
-
|
|
92
|
+
Rule: External skills define the WORKFLOW. R018 defines the EXECUTION METHOD.
|
|
95
93
|
The skill's steps are followed, but agent spawning uses Teams when criteria are met.
|
|
94
|
+
-->
|
|
96
95
|
|
|
97
96
|
## Common Violations
|
|
98
97
|
|
|
99
98
|
```
|
|
99
|
+
❌ WRONG: 3+ tasks using Agent tool instead of Agent Teams
|
|
100
|
+
Agent(Explore):haiku → Analysis 1
|
|
101
|
+
Agent(Explore):haiku → Analysis 2
|
|
102
|
+
Agent(Explore):haiku → Analysis 3
|
|
103
|
+
|
|
104
|
+
✓ CORRECT: TeamCreate → spawn researchers → coordinate via shared task list
|
|
105
|
+
TeamCreate("research-team") + Agent(researcher-1/2/3) + SendMessage(coordinate)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
<!-- DETAIL: Common Violations (full examples)
|
|
100
109
|
❌ WRONG: Agent Teams enabled, 3+ research tasks using Agent tool
|
|
101
110
|
Agent(Explore):haiku → Analysis 1
|
|
102
111
|
Agent(Explore):haiku → Analysis 2
|
|
@@ -141,7 +150,7 @@ The skill's steps are followed, but agent spawning uses Teams when criteria are
|
|
|
141
150
|
|
|
142
151
|
✓ CORRECT: Completed member reports and waits
|
|
143
152
|
svelte-projects completes task → SendMessage("Task complete") → waits silently
|
|
144
|
-
|
|
153
|
+
-->
|
|
145
154
|
|
|
146
155
|
## Cost Guidelines
|
|
147
156
|
|
|
@@ -155,34 +164,30 @@ The skill's steps are followed, but agent spawning uses Teams when criteria are
|
|
|
155
164
|
|
|
156
165
|
## Team Patterns
|
|
157
166
|
|
|
158
|
-
|
|
167
|
+
Standard: Research (researcher-1 + researcher-2 + synthesizer), Development (implementer + reviewer + tester), Debug (investigator-1 + investigator-2 + fixer).
|
|
168
|
+
Hybrid: Review+Fix, Create+Validate, Multi-Expert, Dynamic Creation, Codex Hybrid.
|
|
159
169
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
-
|
|
170
|
+
<!-- DETAIL: Team Patterns
|
|
171
|
+
### Standard Patterns
|
|
172
|
+
- Research: researcher-1 + researcher-2 + synthesizer
|
|
173
|
+
- Development: implementer + reviewer + tester
|
|
174
|
+
- Debug: investigator-1 + investigator-2 + fixer
|
|
163
175
|
|
|
164
176
|
### Hybrid Patterns
|
|
165
|
-
|
|
166
|
-
-
|
|
167
|
-
-
|
|
168
|
-
- **Multi-Expert**: expert-1 + expert-2 + coordinator (cross-domain tasks requiring multiple specialties)
|
|
177
|
+
- Review+Fix: reviewer + implementer (reviewer finds issues → implementer fixes → reviewer re-checks)
|
|
178
|
+
- Create+Validate: mgr-creator + qa-engineer (create agent → validate → iterate)
|
|
179
|
+
- Multi-Expert: expert-1 + expert-2 + coordinator (cross-domain tasks requiring multiple specialties)
|
|
169
180
|
|
|
170
181
|
### Dynamic Patterns
|
|
182
|
+
- Dynamic Creation: mgr-creator + domain-expert (create new agent → immediately use for pending task)
|
|
183
|
+
- Codex Hybrid: codex-exec-agent + claude-reviewer (Codex generates → Claude reviews/refines)
|
|
171
184
|
|
|
172
|
-
|
|
173
|
-
- **Codex Hybrid**: codex-exec-agent + claude-reviewer (Codex generates → Claude reviews/refines)
|
|
174
|
-
|
|
175
|
-
## Codex-Exec Integration
|
|
176
|
-
|
|
185
|
+
### Codex-Exec Integration
|
|
177
186
|
When both Agent Teams and codex-exec are available:
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
Hybrid Workflow:
|
|
181
187
|
1. Claude agent analyzes requirements
|
|
182
188
|
2. codex-exec generates implementation (Codex strength: code generation)
|
|
183
189
|
3. Claude agent reviews and refines (Claude strength: reasoning, quality)
|
|
184
190
|
4. Iterate via team messaging until quality meets standards
|
|
185
|
-
```
|
|
186
191
|
|
|
187
192
|
| Step | Agent | Model |
|
|
188
193
|
|------|-------|-------|
|
|
@@ -191,20 +196,21 @@ Hybrid Workflow:
|
|
|
191
196
|
| Review | Claude team member | sonnet |
|
|
192
197
|
| Refinement | Appropriate expert | sonnet |
|
|
193
198
|
|
|
194
|
-
|
|
195
|
-
|
|
199
|
+
### Dynamic Agent Creation in Teams
|
|
196
200
|
When Agent Teams creates a new agent via mgr-creator:
|
|
197
|
-
|
|
198
201
|
1. Team lead identifies missing expertise
|
|
199
202
|
2. Spawns mgr-creator as team member
|
|
200
203
|
3. mgr-creator creates agent with auto-discovered skills
|
|
201
204
|
4. New agent joins team immediately
|
|
202
205
|
5. Team continues with expanded capabilities
|
|
206
|
+
-->
|
|
203
207
|
|
|
204
208
|
## Blocked Agent Behavior
|
|
205
209
|
|
|
206
|
-
When a team member is blocked
|
|
210
|
+
When a team member is blocked: prefer Deferred spawn (no wasted tokens) > Silent wait (short waits) > Reassign (blocked >2 min).
|
|
211
|
+
Post-completion: report via SendMessage, wait silently. Do NOT browse TaskList or modify files outside scope.
|
|
207
212
|
|
|
213
|
+
<!-- DETAIL: Blocked Agent Behavior
|
|
208
214
|
| Strategy | When | Benefit |
|
|
209
215
|
|----------|------|---------|
|
|
210
216
|
| Deferred spawn | Dependency chain is clear | No wasted tokens; spawn after blocker completes |
|
|
@@ -212,7 +218,6 @@ When a team member is blocked by task dependencies:
|
|
|
212
218
|
| Reassign | Agent blocked >2 min with no progress | Reuse agent for unblocked work |
|
|
213
219
|
|
|
214
220
|
### Prompt Guidelines for Team Members
|
|
215
|
-
|
|
216
221
|
When spawning agents that may be blocked:
|
|
217
222
|
1. Include explicit instruction: "If your task is blocked, wait silently. Do NOT send periodic status messages."
|
|
218
223
|
2. Set check interval: "Check TaskList once per minute, not continuously."
|
|
@@ -221,8 +226,6 @@ When spawning agents that may be blocked:
|
|
|
221
226
|
5. Explicit scope boundary: "Your scope is limited to: {file list or directory}. Do NOT modify files outside this scope."
|
|
222
227
|
|
|
223
228
|
### Anti-Pattern: Idle Polling
|
|
224
|
-
|
|
225
|
-
```
|
|
226
229
|
❌ WRONG: Blocked agent sends repeated status messages
|
|
227
230
|
docker-dev: "Task #1 still pending..." (×5 messages, wasting tokens)
|
|
228
231
|
|
|
@@ -231,12 +234,8 @@ When spawning agents that may be blocked:
|
|
|
231
234
|
|
|
232
235
|
✓ ALSO CORRECT: Silent wait with infrequent checks
|
|
233
236
|
docker-dev spawned with: "Wait silently if blocked. Check TaskList once per minute."
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
## Post-Completion Scope Constraint
|
|
237
|
-
|
|
238
|
-
When a team member completes its assigned task:
|
|
239
237
|
|
|
238
|
+
### Post-Completion Scope Constraint
|
|
240
239
|
| Behavior | Correct | Wrong |
|
|
241
240
|
|----------|---------|-------|
|
|
242
241
|
| Task completed | Report completion via SendMessage, wait silently | Browse TaskList for other work |
|
|
@@ -244,8 +243,6 @@ When a team member completes its assigned task:
|
|
|
244
243
|
| See unfinished work | Report to team lead, do NOT self-assign | Edit files that belong to other members |
|
|
245
244
|
|
|
246
245
|
### Self-Check (After Task Completion)
|
|
247
|
-
|
|
248
|
-
```
|
|
249
246
|
╔══════════════════════════════════════════════════════════════════╗
|
|
250
247
|
║ AFTER COMPLETING YOUR ASSIGNED TASK: ║
|
|
251
248
|
║ ║
|
|
@@ -261,7 +258,7 @@ When a team member completes its assigned task:
|
|
|
261
258
|
║ YES → STOP. Report to team lead instead ║
|
|
262
259
|
║ NO → Good. Wait silently or exit ║
|
|
263
260
|
╚══════════════════════════════════════════════════════════════════╝
|
|
264
|
-
|
|
261
|
+
-->
|
|
265
262
|
|
|
266
263
|
## Lifecycle
|
|
267
264
|
|
|
@@ -19,28 +19,14 @@ Before declaring any task `[Done]`, verify completion against task-type-specific
|
|
|
19
19
|
|
|
20
20
|
## Self-Check (Before Declaring Done)
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
║ ║
|
|
31
|
-
║ 2. Does the task type have specific criteria above? ║
|
|
32
|
-
║ YES → Check each criterion ║
|
|
33
|
-
║ NO → Apply general verification ║
|
|
34
|
-
║ ║
|
|
35
|
-
║ 3. Are there any unchecked items in the task's checklist? ║
|
|
36
|
-
║ YES → Complete them or explicitly defer with reason ║
|
|
37
|
-
║ NO → Good. Proceed to [Done] ║
|
|
38
|
-
║ ║
|
|
39
|
-
║ 4. Would I bet $100 this task is truly complete? ║
|
|
40
|
-
║ YES → Declare [Done] ║
|
|
41
|
-
║ NO → Identify what's uncertain and verify ║
|
|
42
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
43
|
-
```
|
|
22
|
+
Before [Done]: (1) Verify ACTUAL outcome not just attempt — "ran command" ≠ "succeeded". (2) Check task-type criteria above. (3) No unchecked items. (4) Would bet $100 it's complete.
|
|
23
|
+
|
|
24
|
+
<!-- DETAIL: Self-Check box
|
|
25
|
+
1. Did I verify ACTUAL outcome? "I ran the command" ≠ "the command succeeded" → YES: Continue / NO: Verify first
|
|
26
|
+
2. Does task type have specific criteria? YES: Check each / NO: Apply general verification
|
|
27
|
+
3. Any unchecked items? YES: Complete or defer with reason / NO: Proceed to [Done]
|
|
28
|
+
4. Would I bet $100 this is truly complete? YES: Declare [Done] / NO: Identify uncertain and verify
|
|
29
|
+
-->
|
|
44
30
|
|
|
45
31
|
## Common False Completion Patterns
|
|
46
32
|
|
|
@@ -10,8 +10,7 @@ The main conversation is the **sole orchestrator**. It uses routing skills to de
|
|
|
10
10
|
|
|
11
11
|
**The orchestrator MUST NEVER directly write, edit, or create files. ALL file modifications MUST be delegated to appropriate subagents.**
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
<!-- DETAIL: Self-Check (Before File Modification)
|
|
15
14
|
```
|
|
16
15
|
╔══════════════════════════════════════════════════════════════════╗
|
|
17
16
|
║ BEFORE MODIFYING ANY FILE, ASK YOURSELF: ║
|
|
@@ -28,12 +27,18 @@ The main conversation is the **sole orchestrator**. It uses routing skills to de
|
|
|
28
27
|
║ YES → Delegate to the appropriate specialist instead. ║
|
|
29
28
|
║ NO → Good. Continue. ║
|
|
30
29
|
║ ║
|
|
30
|
+
║ 4. Am I justifying direct modification as "temporary" or ║
|
|
31
|
+
║ "debugging"? ║
|
|
32
|
+
║ YES → Still delegate. Temporary/debugging changes are ║
|
|
33
|
+
║ NOT exempt. ║
|
|
34
|
+
║ NO → Good. Continue. ║
|
|
35
|
+
║ ║
|
|
31
36
|
║ If any answer points to a problem → resolve before proceeding ║
|
|
32
37
|
╚══════════════════════════════════════════════════════════════════╝
|
|
33
38
|
```
|
|
39
|
+
-->
|
|
34
40
|
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
<!-- DETAIL: Self-Check (Before Delegating Tasks)
|
|
37
42
|
```
|
|
38
43
|
╔══════════════════════════════════════════════════════════════════╗
|
|
39
44
|
║ BEFORE DELEGATING A TASK TO ANY AGENT, ASK YOURSELF: ║
|
|
@@ -63,9 +68,9 @@ The main conversation is the **sole orchestrator**. It uses routing skills to de
|
|
|
63
68
|
║ If any answer points to a problem → split the task first ║
|
|
64
69
|
╚══════════════════════════════════════════════════════════════════╝
|
|
65
70
|
```
|
|
71
|
+
-->
|
|
66
72
|
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
<!-- DETAIL: Architecture Diagram
|
|
69
74
|
```
|
|
70
75
|
Main Conversation (orchestrator)
|
|
71
76
|
├─ secretary-routing → mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, sys-memory-keeper
|
|
@@ -75,18 +80,22 @@ Main Conversation (orchestrator)
|
|
|
75
80
|
↓
|
|
76
81
|
Agent tool spawns subagents (flat, no hierarchy)
|
|
77
82
|
```
|
|
83
|
+
-->
|
|
78
84
|
|
|
79
85
|
## Common Violations
|
|
80
86
|
|
|
87
|
+
Key violations to avoid (file writes, git commands, bundled operations — all must be delegated):
|
|
88
|
+
|
|
81
89
|
```
|
|
82
90
|
❌ WRONG: Orchestrator writes files directly
|
|
83
91
|
Main conversation → Write("src/main.go", content)
|
|
84
|
-
Main conversation → Edit("package.json", old, new)
|
|
85
92
|
|
|
86
93
|
✓ CORRECT: Orchestrator delegates to specialist
|
|
87
94
|
Main conversation → Agent(lang-golang-expert) → Write("src/main.go", content)
|
|
88
|
-
|
|
95
|
+
```
|
|
89
96
|
|
|
97
|
+
<!-- DETAIL: Common Violations (extended)
|
|
98
|
+
```
|
|
90
99
|
❌ WRONG: Orchestrator runs git commands directly
|
|
91
100
|
Main conversation → Bash("git commit -m 'fix'")
|
|
92
101
|
Main conversation → Bash("git push origin main")
|
|
@@ -110,7 +119,18 @@ Main Conversation (orchestrator)
|
|
|
110
119
|
Agent(mgr-gitnerd, prompt="revert the last commit")
|
|
111
120
|
Agent(appropriate-expert, prompt="edit the file to fix the issue")
|
|
112
121
|
Agent(mgr-gitnerd, prompt="commit the fix")
|
|
122
|
+
|
|
123
|
+
❌ WRONG: Orchestrator runs server deployment commands directly
|
|
124
|
+
Main conversation → Bash("docker compose restart worker")
|
|
125
|
+
Main conversation → Bash("scp worker.py server:/app/")
|
|
126
|
+
|
|
127
|
+
✓ CORRECT: Orchestrator delegates to infrastructure specialist
|
|
128
|
+
Main conversation → Agent(infra-docker-expert) → docker compose restart
|
|
129
|
+
Main conversation → Agent(infra-docker-expert) → deploy files to server
|
|
113
130
|
```
|
|
131
|
+
-->
|
|
132
|
+
|
|
133
|
+
<!-- DETAIL: Autonomous Execution Mode
|
|
114
134
|
|
|
115
135
|
## Autonomous Execution Mode
|
|
116
136
|
|
|
@@ -185,6 +205,11 @@ When the user explicitly signals full-delegation intent, the orchestrator operat
|
|
|
185
205
|
╚══════════════════════════════════════════════════════════════════╝
|
|
186
206
|
```
|
|
187
207
|
|
|
208
|
+
### Mutual Exclusion with Structured Dev Cycle
|
|
209
|
+
|
|
210
|
+
Autonomous mode and `/structured-dev-cycle` (stage-blocker) are mutually exclusive.
|
|
211
|
+
-->
|
|
212
|
+
|
|
188
213
|
## Session Continuity
|
|
189
214
|
|
|
190
215
|
After restart/compaction: re-read CLAUDE.md, all delegation rules still apply. Never write code directly from orchestrator.
|
|
@@ -206,6 +231,8 @@ After restart/compaction: re-read CLAUDE.md, all delegation rules still apply. N
|
|
|
206
231
|
| Test strategy | qa-planner |
|
|
207
232
|
| CI/CD, GitHub config | mgr-gitnerd |
|
|
208
233
|
| Docker/Infra | infra-docker-expert |
|
|
234
|
+
| Server deployment (docker, scp) | infra-docker-expert |
|
|
235
|
+
| Server state changes (restart, env) | infra-docker-expert |
|
|
209
236
|
| AWS | infra-aws-expert |
|
|
210
237
|
| Database schema | db-supabase-expert |
|
|
211
238
|
| Unmatched specialized task | mgr-creator → dynamic agent creation |
|
|
@@ -216,12 +243,12 @@ After restart/compaction: re-read CLAUDE.md, all delegation rules still apply. N
|
|
|
216
243
|
- general-purpose only for truly generic tasks (file moves, simple scripts)
|
|
217
244
|
- No exceptions for "small" or "quick" changes
|
|
218
245
|
|
|
219
|
-
|
|
220
|
-
|
|
246
|
+
<!-- DETAIL: System Agents Reference
|
|
221
247
|
| Agent | File | Purpose |
|
|
222
248
|
|-------|------|---------|
|
|
223
249
|
| sys-memory-keeper | .claude/agents/sys-memory-keeper.md | Memory operations |
|
|
224
250
|
| sys-naggy | .claude/agents/sys-naggy.md | TODO management |
|
|
251
|
+
-->
|
|
225
252
|
|
|
226
253
|
## Exception: Simple Tasks
|
|
227
254
|
|
|
@@ -249,8 +276,7 @@ When routing detects no matching agent for a specialized task:
|
|
|
249
276
|
This is the core oh-my-customcode philosophy:
|
|
250
277
|
> "No expert? CREATE one, connect knowledge, and USE it."
|
|
251
278
|
|
|
252
|
-
|
|
253
|
-
|
|
279
|
+
<!-- DETAIL: Model Selection
|
|
254
280
|
```
|
|
255
281
|
Available models:
|
|
256
282
|
- opus : Complex reasoning, architecture design
|
|
@@ -273,6 +299,7 @@ Usage:
|
|
|
273
299
|
| Code implementation | `sonnet` |
|
|
274
300
|
| Manager agents | `sonnet` |
|
|
275
301
|
| File search/validation | `haiku` |
|
|
302
|
+
-->
|
|
276
303
|
|
|
277
304
|
## Git Operations
|
|
278
305
|
|
|
@@ -282,8 +309,6 @@ All git operations (commit, push, branch, PR) MUST go through `mgr-gitnerd`. Int
|
|
|
282
309
|
|
|
283
310
|
Internal rules ALWAYS take precedence over external skills.
|
|
284
311
|
|
|
285
|
-
This applies to ALL rule domains, not just git operations:
|
|
286
|
-
|
|
287
312
|
| External skill says | Internal rule requires |
|
|
288
313
|
|---------------------|----------------------|
|
|
289
314
|
| "git commit -m ..." | Agent(mgr-gitnerd) commit (R010) |
|
|
@@ -297,6 +322,7 @@ When a skill's workflow conflicts with R009/R010/R018:
|
|
|
297
322
|
2. Replace the EXECUTION method with rule-compliant alternatives
|
|
298
323
|
3. The skill defines WHAT to do; rules define HOW to execute
|
|
299
324
|
|
|
325
|
+
<!-- DETAIL: External Skills Example
|
|
300
326
|
```
|
|
301
327
|
Incorrect:
|
|
302
328
|
[Using external skill]
|
|
@@ -308,6 +334,7 @@ Correct:
|
|
|
308
334
|
|
|
309
335
|
The skill's WORKFLOW is followed, but git EXECUTION is delegated to mgr-gitnerd per R010.
|
|
310
336
|
```
|
|
337
|
+
-->
|
|
311
338
|
|
|
312
339
|
## Agent Teams (required when enabled)
|
|
313
340
|
|
|
@@ -318,10 +345,10 @@ See **R018 (MUST-agent-teams.md)** for the complete decision matrix, self-check,
|
|
|
318
345
|
**Quick rule**: 3+ agents OR review cycle OR 2+ issues in same batch → use Agent Teams.
|
|
319
346
|
Using Agent tool when Agent Teams criteria are met needs correction per R018.
|
|
320
347
|
|
|
321
|
-
|
|
322
|
-
|
|
348
|
+
<!-- DETAIL: Announcement Format
|
|
323
349
|
```
|
|
324
350
|
[Routing] Using {routing-skill} for {task}
|
|
325
351
|
[Plan] Agent 1: {name} → {task}, Agent 2: {name} → {task}
|
|
326
352
|
[Execution] Parallel ({n} instances)
|
|
327
353
|
```
|
|
354
|
+
-->
|
|
@@ -35,43 +35,25 @@ Before writing/editing multiple files:
|
|
|
35
35
|
### Common Violations to Avoid
|
|
36
36
|
|
|
37
37
|
```
|
|
38
|
+
❌ WRONG: Write(file1.kt) → Write(file2.kt) → ... (sequential)
|
|
39
|
+
✓ CORRECT: Agent(agent1→file1.kt) + Agent(agent2→file2.kt) + ... (same message, parallel)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
<!-- DETAIL: Full violation examples (4 pairs)
|
|
38
43
|
❌ WRONG: Writing files one by one
|
|
39
44
|
Write(file1.kt) → Write(file2.kt) → Write(file3.kt) → Write(file4.kt)
|
|
40
|
-
|
|
41
|
-
✓ CORRECT: Spawn parallel agents
|
|
42
|
-
Agent(agent1 → file1.kt) ┐
|
|
43
|
-
Agent(agent2 → file2.kt) ├─ All in single message
|
|
44
|
-
Agent(agent3 → file3.kt) │
|
|
45
|
-
Agent(agent4 → file4.kt) ┘
|
|
45
|
+
✓ CORRECT: Spawn parallel agents — all in single message
|
|
46
46
|
|
|
47
47
|
❌ WRONG: Project scaffolding sequentially
|
|
48
48
|
Write(package.json) → Write(tsconfig.json) → Write(src/index.ts) → ...
|
|
49
|
+
✓ CORRECT: Agent(agent1→"Create package.json, tsconfig.json") + Agent(agent2→"Create src/cli.ts, src/index.ts") parallel
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
Agent(agent2 → "Create src/cli.ts, src/index.ts") ├─ Parallel
|
|
53
|
-
Agent(agent3 → "Create src/analyzer/*.ts") │
|
|
54
|
-
Agent(agent4 → "Create src/converter/*.ts") ┘
|
|
55
|
-
|
|
56
|
-
❌ WRONG: Secretary doing all the work
|
|
57
|
-
Secretary writes domain/, usecase/, infrastructure/ sequentially
|
|
51
|
+
❌ WRONG: Secretary writes domain/, usecase/, infrastructure/ sequentially
|
|
52
|
+
✓ CORRECT: Agent(lang-kotlin-expert→domain) + Agent(be-springboot-expert→infrastructure) + Agent(lang-kotlin-expert→usecase)
|
|
58
53
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
Agent(lang-kotlin-expert → usecase layer)
|
|
63
|
-
|
|
64
|
-
❌ WRONG: Single Agent delegating to multiple agents
|
|
65
|
-
Agent(dev-lead → "coordinate lang-kotlin-expert and be-springboot-expert")
|
|
66
|
-
|
|
67
|
-
This creates a SEQUENTIAL bottleneck inside the Agent!
|
|
68
|
-
|
|
69
|
-
✓ CORRECT: Multiple Agents in parallel, one per agent
|
|
70
|
-
Agent(lang-kotlin-expert → usecase commands) ┐
|
|
71
|
-
Agent(lang-kotlin-expert → usecase queries) ├─ All spawned together
|
|
72
|
-
Agent(be-springboot-expert → persistence) │
|
|
73
|
-
Agent(be-springboot-expert → security) ┘
|
|
74
|
-
```
|
|
54
|
+
❌ WRONG: Agent(dev-lead → "coordinate lang-kotlin-expert and be-springboot-expert") — creates SEQUENTIAL bottleneck
|
|
55
|
+
✓ CORRECT: Agent(lang-kotlin-expert→usecase commands) + Agent(lang-kotlin-expert→usecase queries) + Agent(be-springboot-expert→persistence) + Agent(be-springboot-expert→security) — all spawned together
|
|
56
|
+
-->
|
|
75
57
|
|
|
76
58
|
> **Agent Teams partial spawn** → See R018 (MUST-agent-teams.md) "Spawn Completeness Check".
|
|
77
59
|
|
|
@@ -68,6 +68,9 @@ Any change to: agents, agent frontmatter, skills, guides, routing patterns, rule
|
|
|
68
68
|
|
|
69
69
|
## Quick Verification Commands
|
|
70
70
|
|
|
71
|
+
Key checks: agent count (`ls .claude/agents/*.md | wc -l`), skill count (`find .claude/skills -name "SKILL.md" | wc -l`), guide count (`find guides -mindepth 1 -maxdepth 1 -type d | wc -l`).
|
|
72
|
+
|
|
73
|
+
<!-- DETAIL: Full verification bash scripts
|
|
71
74
|
```bash
|
|
72
75
|
# Agent count check
|
|
73
76
|
ls .claude/agents/*.md | wc -l
|
|
@@ -108,7 +111,6 @@ ls .claude/contexts/*.md 2>/dev/null | wc -l
|
|
|
108
111
|
find guides -mindepth 1 -maxdepth 1 -type d | wc -l
|
|
109
112
|
|
|
110
113
|
# Agent name accuracy (compare CLAUDE.md table with actual files)
|
|
111
|
-
# Extract agent names from files
|
|
112
114
|
ls .claude/agents/*.md | xargs -I{} basename {} .md | sort > /tmp/actual-agents.txt
|
|
113
115
|
|
|
114
116
|
# Slash command skill existence
|
|
@@ -123,3 +125,4 @@ ls -d .claude/skills/*-routing 2>/dev/null | xargs -I{} basename {} | sort
|
|
|
123
125
|
# Verify routing skill names in CLAUDE.md
|
|
124
126
|
grep -oP '(secretary|dev-lead|de-lead|qa-lead)-routing' CLAUDE.md | sort -u
|
|
125
127
|
```
|
|
128
|
+
-->
|
|
@@ -16,37 +16,21 @@ For parallel calls: list ALL identifications BEFORE the tool calls.
|
|
|
16
16
|
### Common Violations to Avoid
|
|
17
17
|
|
|
18
18
|
```
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Incorrect: Missing model in identification
|
|
24
|
-
[secretary] → Tool: WebFetch
|
|
25
|
-
[secretary] → Fetching: https://example.com/jd.md
|
|
26
|
-
|
|
27
|
-
Correct: Always identify with agent AND model
|
|
28
|
-
"먼저 JD 내용을 확인하겠습니다."
|
|
29
|
-
[secretary][opus] → Tool: WebFetch
|
|
30
|
-
[secretary][opus] → Fetching: https://example.com/jd.md
|
|
31
|
-
<tool_call>WebFetch(...)</tool_call>
|
|
32
|
-
|
|
33
|
-
Incorrect: Parallel calls without listing all identifications
|
|
34
|
-
<tool_call>WebFetch(url1)</tool_call>
|
|
35
|
-
<tool_call>WebFetch(url2)</tool_call>
|
|
36
|
-
<tool_call>Bash(cmd)</tool_call>
|
|
37
|
-
|
|
38
|
-
Correct: List all identifications with models, then call
|
|
39
|
-
[secretary][opus] → Tool: WebFetch
|
|
40
|
-
[secretary][opus] → Fetching: url1
|
|
41
|
-
[secretary][opus] → Tool: WebFetch
|
|
42
|
-
[secretary][opus] → Fetching: url2
|
|
43
|
-
[secretary][opus] → Tool: Bash
|
|
44
|
-
[secretary][opus] → Running: cmd
|
|
45
|
-
<tool_call>WebFetch(url1)</tool_call>
|
|
46
|
-
<tool_call>WebFetch(url2)</tool_call>
|
|
47
|
-
<tool_call>Bash(cmd)</tool_call>
|
|
19
|
+
❌ Missing: tool call with no identification prefix
|
|
20
|
+
✓ Correct: [agent-name][model] → Tool: WebFetch
|
|
21
|
+
[agent-name][model] → Fetching: url
|
|
22
|
+
<tool_call>...</tool_call>
|
|
48
23
|
```
|
|
49
24
|
|
|
25
|
+
<!-- DETAIL: Full violation examples
|
|
26
|
+
Incorrect: Calling tools without identification — no [agent][model] prefix before tool_call
|
|
27
|
+
Incorrect: Missing model — [secretary] → Tool: WebFetch (missing [model])
|
|
28
|
+
Correct: [secretary][opus] → Tool: WebFetch / [secretary][opus] → Fetching: url / then tool_call
|
|
29
|
+
|
|
30
|
+
Incorrect parallel: tool_call(url1), tool_call(url2), tool_call(cmd) — no identification
|
|
31
|
+
Correct parallel: list ALL [agent][model] → Tool/Fetching/Running lines FIRST, then all tool_calls
|
|
32
|
+
-->
|
|
33
|
+
|
|
50
34
|
## Models
|
|
51
35
|
|
|
52
36
|
| Model | Use |
|
|
@@ -13,84 +13,30 @@
|
|
|
13
13
|
|
|
14
14
|
## HUD Events (Hook-based)
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Format: `─── [Spawn] {subagent_type}:{model} | {description} ───` — implemented in `.claude/hooks/hooks.json` (PreToolUse → Agent/Task matcher). Display for multi-step/parallel/long-running ops only.
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### When to Display
|
|
24
|
-
|
|
25
|
-
Multi-step tasks, parallel execution, long-running operations. Skip for single brief operations.
|
|
26
|
-
|
|
27
|
-
### Implementation
|
|
28
|
-
|
|
29
|
-
Implemented in `.claude/hooks/hooks.json` (PreToolUse → Agent/Task matcher).
|
|
30
|
-
|
|
31
|
-
### Parallel Display
|
|
32
|
-
|
|
33
|
-
```
|
|
18
|
+
<!-- DETAIL: HUD Events full spec
|
|
19
|
+
### When to Display: Multi-step tasks, parallel execution, long-running operations. Skip for single brief operations.
|
|
20
|
+
### Parallel Display:
|
|
34
21
|
─── [Agent] secretary | [Parallel] 4 ───
|
|
35
22
|
[1] Agent(mgr-creator):sonnet → Create agent
|
|
36
23
|
[2] Agent(lang-golang-expert):haiku → Code review
|
|
37
|
-
|
|
24
|
+
-->
|
|
38
25
|
|
|
39
26
|
## Statusline API (Command-based)
|
|
40
27
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
{Cost} | {project} | {branch} | RL:{rate_limit}% {countdown} | WL:{weekly_limit}% {countdown} | CTX:{usage}%
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Example: `$0.05 | my-project | develop | RL:45% 3h20m | WL:72% 2d3h | CTX:42%`
|
|
28
|
+
Format: `{Cost} | {project} | {branch} | RL:{rate_limit}% {countdown} | WL:{weekly_limit}% {countdown} | CTX:{usage}%`
|
|
48
29
|
|
|
49
|
-
|
|
30
|
+
Config in `.claude/settings.local.json`: `statusLine.type: "command"`, `statusLine.command: ".claude/statusline.sh"`. Requires CC v2.1.80+ for RL/WL segments.
|
|
50
31
|
|
|
32
|
+
<!-- DETAIL: Statusline configuration JSON and color coding
|
|
51
33
|
```json
|
|
52
|
-
{
|
|
53
|
-
"statusLine": {
|
|
54
|
-
"type": "command",
|
|
55
|
-
"command": ".claude/statusline.sh",
|
|
56
|
-
"padding": 0
|
|
57
|
-
}
|
|
58
|
-
}
|
|
34
|
+
{ "statusLine": { "type": "command", "command": ".claude/statusline.sh", "padding": 0 } }
|
|
59
35
|
```
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
| Element | Condition | Color |
|
|
66
|
-
|---------|-----------|-------|
|
|
67
|
-
| Cost | < $1.00 | Green |
|
|
68
|
-
| Cost | $1.00 - $4.99 | Yellow |
|
|
69
|
-
| Cost | >= $5.00 | Red |
|
|
70
|
-
| Rate Limit | < 50% | Green |
|
|
71
|
-
| Rate Limit | 50-79% | Yellow |
|
|
72
|
-
| Rate Limit | >= 80% | Red |
|
|
73
|
-
| Weekly Limit | < 50% | Green |
|
|
74
|
-
| Weekly Limit | 50-79% | Yellow |
|
|
75
|
-
| Weekly Limit | >= 80% | Red |
|
|
76
|
-
| Context | < 60% | Green |
|
|
77
|
-
| Context | 60-79% | Yellow |
|
|
78
|
-
| Context | >= 80% | Red |
|
|
79
|
-
|
|
80
|
-
The `RL:{rate_limit}%` segment only appears when Claude Code v2.1.80+ provides `rate_limits` data. On older versions, this segment is omitted.
|
|
81
|
-
|
|
82
|
-
The `WL:{weekly_limit}%` segment shows the 7-day rolling rate limit percentage. Both RL and WL segments are omitted on older versions.
|
|
83
|
-
|
|
84
|
-
### Countdown Format
|
|
85
|
-
|
|
86
|
-
The `{countdown}` shows time until RL/WL resets. Omitted when data is unavailable.
|
|
87
|
-
|
|
88
|
-
| Remaining | Display | Example |
|
|
89
|
-
|-----------|---------|---------|
|
|
90
|
-
| >= 1 day | `{d}d{h}h` | `2d3h` |
|
|
91
|
-
| >= 1 hour | `{h}h{m}m` | `5h30m` |
|
|
92
|
-
| < 1 hour | `{m}m` | `45m` |
|
|
93
|
-
| expired/unavailable | (omitted) | `WL:72%` |
|
|
36
|
+
Color coding: Cost (<$1 green, $1-4.99 yellow, >=5 red), RL/WL (<50% green, 50-79% yellow, >=80% red), CTX (<60% green, 60-79% yellow, >=80% red).
|
|
37
|
+
Countdown format: >=1d → "{d}d{h}h", >=1h → "{h}h{m}m", <1h → "{m}m", unavailable → omitted.
|
|
38
|
+
RL/WL segments omitted on CC older than v2.1.80.
|
|
39
|
+
-->
|
|
94
40
|
|
|
95
41
|
## Integration
|
|
96
42
|
|
|
@@ -39,7 +39,7 @@ Agent frontmatter `memory: project|user|local` enables persistent memory:
|
|
|
39
39
|
- Do not store sensitive data or duplicate CLAUDE.md content
|
|
40
40
|
- Memory write failures should not block main task
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
<!-- DETAIL: Confidence-Tracked Memory (sys-memory-keeper reference)
|
|
43
43
|
|
|
44
44
|
Memory entries in MEMORY.md should include confidence annotations to distinguish verified facts from hypotheses.
|
|
45
45
|
|
|
@@ -53,82 +53,72 @@ Memory entries in MEMORY.md should include confidence annotations to distinguish
|
|
|
53
53
|
|
|
54
54
|
### Format in MEMORY.md
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
- pre-commit hooks auto-detect README/manifest count mismatches
|
|
56
|
+
### Key Patterns [confidence: high]
|
|
57
|
+
- `.claude/` files are gitignored — always use `git add -f`
|
|
58
|
+
- pre-commit hooks auto-detect README/manifest count mismatches
|
|
60
59
|
|
|
61
|
-
### Hypotheses [confidence: medium]
|
|
62
|
-
- Template sync might need CI enforcement (seen in 2 PRs)
|
|
60
|
+
### Hypotheses [confidence: medium]
|
|
61
|
+
- Template sync might need CI enforcement (seen in 2 PRs)
|
|
63
62
|
|
|
64
|
-
### Unverified [confidence: low]
|
|
65
|
-
- Possible race condition in parallel hook execution (observed once)
|
|
66
|
-
```
|
|
63
|
+
### Unverified [confidence: low]
|
|
64
|
+
- Possible race condition in parallel hook execution (observed once)
|
|
67
65
|
|
|
68
66
|
### Confidence Lifecycle
|
|
69
67
|
|
|
70
|
-
|
|
71
|
-
[
|
|
72
|
-
[any] → contradicted by evidence → demoted or removed
|
|
73
|
-
```
|
|
68
|
+
[low] — observed again — [medium] — confirmed by user/testing — [high]
|
|
69
|
+
[any] — contradicted by evidence — demoted or removed
|
|
74
70
|
|
|
75
71
|
### Temporal Decay
|
|
76
72
|
|
|
77
|
-
Memory entries include an optional verification timestamp for decay tracking
|
|
73
|
+
Memory entries include an optional verification timestamp for decay tracking.
|
|
78
74
|
|
|
79
|
-
|
|
75
|
+
Format: `[confidence: high, verified: 2026-03-15]`
|
|
80
76
|
|
|
81
77
|
| Age (unverified) | Action |
|
|
82
78
|
|-------------------|--------|
|
|
83
79
|
| 0-30 days | No change — entry is fresh |
|
|
84
|
-
| 30-60 days | Demote one level (high
|
|
80
|
+
| 30-60 days | Demote one level (high->medium, medium->low) |
|
|
85
81
|
| 60-90 days | Demote again if not re-verified |
|
|
86
82
|
| 90+ days | Removal candidate — flag for review |
|
|
87
83
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
Day
|
|
91
|
-
Day
|
|
92
|
-
Day
|
|
93
|
-
Day
|
|
94
|
-
Day 91: [REVIEW NEEDED, verified: 2026-03-15] ← flagged
|
|
95
|
-
```
|
|
84
|
+
Decay Schedule:
|
|
85
|
+
Day 0: [confidence: high, verified: 2026-03-15]
|
|
86
|
+
Day 30: [confidence: high, verified: 2026-03-15] <- still within window
|
|
87
|
+
Day 31: [confidence: medium, verified: 2026-03-15] <- auto-demoted
|
|
88
|
+
Day 61: [confidence: low, verified: 2026-03-15] <- demoted again
|
|
89
|
+
Day 91: [REVIEW NEEDED, verified: 2026-03-15] <- flagged
|
|
96
90
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
After: [confidence: high, verified: 2026-03-15]
|
|
102
|
-
```
|
|
91
|
+
Re-verification: Any session that confirms a memory entry resets the verified date:
|
|
92
|
+
Before: [confidence: medium, verified: 2026-01-15]
|
|
93
|
+
Action: Pattern confirmed in session
|
|
94
|
+
After: [confidence: high, verified: 2026-03-15]
|
|
103
95
|
|
|
104
|
-
|
|
96
|
+
Enforcement: sys-memory-keeper checks decay at session start and end:
|
|
105
97
|
1. Session start: scan MEMORY.md for entries past decay threshold
|
|
106
98
|
2. Flag stale entries with `[STALE]` prefix
|
|
107
99
|
3. Session end: remove or demote unconfirmed stale entries
|
|
108
100
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
### Architecture Decisions [confidence: high, permanent]
|
|
112
|
-
```
|
|
101
|
+
Exceptions: Entries marked `[permanent]` are exempt from decay:
|
|
102
|
+
### Architecture Decisions [confidence: high, permanent]
|
|
113
103
|
|
|
114
|
-
|
|
104
|
+
-->
|
|
105
|
+
|
|
106
|
+
<!-- DETAIL: Behavioral Memory (sys-memory-keeper reference)
|
|
115
107
|
|
|
116
108
|
MEMORY.md supports an optional `## Behaviors` section for tracking user interaction preferences and workflow patterns.
|
|
117
109
|
|
|
118
110
|
### Behaviors Section Format
|
|
119
111
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
- Contradicted → demote or remove
|
|
131
|
-
```
|
|
112
|
+
## Behaviors [confidence: medium]
|
|
113
|
+
- User prefers concise responses — 3 sentences max
|
|
114
|
+
- Commit messages always include issue number
|
|
115
|
+
- Security-first review perspective
|
|
116
|
+
|
|
117
|
+
## Behavior Lifecycle
|
|
118
|
+
- New observation — [confidence: low]
|
|
119
|
+
- Seen in 2+ sessions — [confidence: medium]
|
|
120
|
+
- User-confirmed — [confidence: high]
|
|
121
|
+
- Contradicted — demote or remove
|
|
132
122
|
|
|
133
123
|
### What Counts as a Behavior
|
|
134
124
|
|
|
@@ -176,24 +166,24 @@ Behavioral memory observations override soul defaults (R006 Soul Identity) when
|
|
|
176
166
|
### Integration with Session-End
|
|
177
167
|
|
|
178
168
|
When sys-memory-keeper updates MEMORY.md at session end:
|
|
179
|
-
1. New findings from this session
|
|
180
|
-
2. Findings that match existing entries
|
|
181
|
-
3. Findings that contradict existing entries
|
|
169
|
+
1. New findings from this session — `[confidence: low]`
|
|
170
|
+
2. Findings that match existing entries — promote confidence
|
|
171
|
+
3. Findings that contradict existing entries — flag for review
|
|
172
|
+
|
|
173
|
+
-->
|
|
182
174
|
|
|
183
|
-
|
|
175
|
+
<!-- DETAIL: Agent Metrics (sys-memory-keeper reference)
|
|
184
176
|
|
|
185
177
|
MEMORY.md supports an optional `## Metrics` section for tracking per-agent-type performance data.
|
|
186
178
|
|
|
187
179
|
### Metrics Section Format
|
|
188
180
|
|
|
189
|
-
|
|
190
|
-
## Metrics [auto-updated by sys-memory-keeper]
|
|
181
|
+
## Metrics [auto-updated by sys-memory-keeper]
|
|
191
182
|
|
|
192
|
-
| Agent Type | Tasks | Success Rate | Avg Model | Last Used |
|
|
193
|
-
|------------|-------|-------------|-----------|-----------|
|
|
194
|
-
| lang-golang-expert | 12 | 92% | sonnet | 2026-03-15 |
|
|
195
|
-
| mgr-gitnerd | 8 | 100% | sonnet | 2026-03-15 |
|
|
196
|
-
```
|
|
183
|
+
| Agent Type | Tasks | Success Rate | Avg Model | Last Used |
|
|
184
|
+
|------------|-------|-------------|-----------|-----------|
|
|
185
|
+
| lang-golang-expert | 12 | 92% | sonnet | 2026-03-15 |
|
|
186
|
+
| mgr-gitnerd | 8 | 100% | sonnet | 2026-03-15 |
|
|
197
187
|
|
|
198
188
|
### Metrics Collection
|
|
199
189
|
|
|
@@ -221,6 +211,8 @@ The Metrics section shares the 200-line MEMORY.md budget:
|
|
|
221
211
|
2. When adding new agent, prune agent with lowest task count
|
|
222
212
|
3. Merge identical agent types across sessions (cumulative)
|
|
223
213
|
|
|
214
|
+
-->
|
|
215
|
+
|
|
224
216
|
## Session-End Auto-Save
|
|
225
217
|
|
|
226
218
|
### Trigger
|
|
@@ -10,7 +10,7 @@ effort: medium
|
|
|
10
10
|
|
|
11
11
|
## Purpose
|
|
12
12
|
|
|
13
|
-
After PR creation in the
|
|
13
|
+
After PR creation in the auto-dev release workflow, collect unaddressed findings and present actionable follow-up recommendations. The user chooses: execute now, register as issues, or skip.
|
|
14
14
|
|
|
15
15
|
## Workflow
|
|
16
16
|
|
package/templates/CLAUDE.md
CHANGED
|
@@ -138,7 +138,7 @@ project/
|
|
|
138
138
|
+-- CLAUDE.md # 진입점
|
|
139
139
|
+-- .claude/
|
|
140
140
|
| +-- agents/ # 서브에이전트 정의 (46 파일)
|
|
141
|
-
| +-- skills/ # 스킬 (
|
|
141
|
+
| +-- skills/ # 스킬 (95 디렉토리)
|
|
142
142
|
| +-- rules/ # 전역 규칙 (R000-R021)
|
|
143
143
|
| +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
|
|
144
144
|
| +-- contexts/ # 컨텍스트 파일 (ecomode)
|
|
@@ -187,7 +187,7 @@ oh-my-customcode는 소프트웨어 컴파일과 동일한 구조를 따릅니
|
|
|
187
187
|
|------|------|----------|
|
|
188
188
|
| SW Engineer/Language | 6 | lang-golang-expert, lang-python-expert, lang-rust-expert, lang-kotlin-expert, lang-typescript-expert, lang-java21-expert |
|
|
189
189
|
| SW Engineer/Backend | 6 | be-fastapi-expert, be-springboot-expert, be-go-backend-expert, be-express-expert, be-nestjs-expert, be-django-expert |
|
|
190
|
-
| SW Engineer/Frontend |
|
|
190
|
+
| SW Engineer/Frontend | 5 | fe-vercel-agent, fe-vuejs-agent, fe-svelte-agent, fe-flutter-agent, fe-design-expert |
|
|
191
191
|
| SW Engineer/Tooling | 3 | tool-npm-expert, tool-optimizer, tool-bun-expert |
|
|
192
192
|
| DE Engineer | 6 | de-airflow-expert, de-dbt-expert, de-spark-expert, de-kafka-expert, de-snowflake-expert, de-pipeline-expert |
|
|
193
193
|
| SW Engineer/Database | 4 | db-supabase-expert, db-postgres-expert, db-redis-expert, db-alembic-expert |
|
|
@@ -197,7 +197,7 @@ oh-my-customcode는 소프트웨어 컴파일과 동일한 구조를 따릅니
|
|
|
197
197
|
| QA Team | 3 | qa-planner, qa-writer, qa-engineer |
|
|
198
198
|
| Manager | 6 | mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, mgr-sauron, mgr-claude-code-bible |
|
|
199
199
|
| System | 2 | sys-memory-keeper, sys-naggy |
|
|
200
|
-
| **총계** | **
|
|
200
|
+
| **총계** | **46** | |
|
|
201
201
|
|
|
202
202
|
## Agent Teams (MUST when enabled)
|
|
203
203
|
|
package/templates/manifest.json
CHANGED