oh-my-customcode 0.1.3 → 0.1.4
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/package.json +1 -1
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +43 -0
- package/templates/.claude/rules/MUST-parallel-execution.md +66 -9
- package/templates/.claude/rules/MUST-tool-identification.md +79 -17
- package/templates/.claude/rules/SHOULD-hud-statusline.md +8 -1
- package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +43 -0
- package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +66 -9
- package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +79 -17
- package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +8 -1
- package/templates/agents/manager/supplier/refs/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +43 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +66 -9
- package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +79 -17
- package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +8 -1
- package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +43 -0
- package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +66 -9
- package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +79 -17
- package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +8 -1
- package/templates/agents/orchestrator/dev-lead/AGENT.md +47 -0
- package/templates/agents/orchestrator/secretary/AGENT.md +49 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +43 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +66 -9
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +79 -17
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +8 -1
- package/templates/examples/code-review.yaml +66 -0
- package/templates/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/index.yaml +18 -0
- package/templates/manifest.json +4 -4
- package/templates/templates/pipeline-template.yaml +50 -0
package/package.json
CHANGED
|
@@ -251,6 +251,49 @@ CORRECT:
|
|
|
251
251
|
╚══════════════════════════════════════════════════════════════════╝
|
|
252
252
|
```
|
|
253
253
|
|
|
254
|
+
## CRITICAL: Sub-agent Model Specification
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
258
|
+
║ TASK TOOL MODEL PARAMETER (RECOMMENDED) ║
|
|
259
|
+
║ ║
|
|
260
|
+
║ Claude Code Task tool supports `model` parameter to specify ║
|
|
261
|
+
║ which model the sub-agent should use. ║
|
|
262
|
+
║ ║
|
|
263
|
+
║ Available models: ║
|
|
264
|
+
║ - opus : Complex reasoning, architecture design ║
|
|
265
|
+
║ - sonnet : Balanced performance (default) ║
|
|
266
|
+
║ - haiku : Fast, simple tasks, file search ║
|
|
267
|
+
║ - inherit: Use parent conversation's model ║
|
|
268
|
+
║ ║
|
|
269
|
+
║ Usage: ║
|
|
270
|
+
║ Task( ║
|
|
271
|
+
║ subagent_type: "general-purpose", ║
|
|
272
|
+
║ prompt: "Analyze architecture", ║
|
|
273
|
+
║ model: "opus" ║
|
|
274
|
+
║ ) ║
|
|
275
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Model Selection by Task Type
|
|
279
|
+
|
|
280
|
+
| Task Type | Recommended Model | Reason |
|
|
281
|
+
|-----------|-------------------|--------|
|
|
282
|
+
| Architecture analysis | `opus` | Deep reasoning required |
|
|
283
|
+
| Code review | `opus` or `sonnet` | Quality judgment |
|
|
284
|
+
| Code implementation | `sonnet` | Balanced performance |
|
|
285
|
+
| File search/read | `haiku` | Fast, simple operation |
|
|
286
|
+
| Simple validation | `haiku` | Low latency |
|
|
287
|
+
|
|
288
|
+
### Model Selection by Agent Type
|
|
289
|
+
|
|
290
|
+
| Agent Category | Model | Examples |
|
|
291
|
+
|----------------|-------|----------|
|
|
292
|
+
| Orchestrator judgment | `opus` | Complex routing decisions |
|
|
293
|
+
| Manager agents | `sonnet` | creator, updater, supplier |
|
|
294
|
+
| Simple utilities | `haiku` | File operations, search |
|
|
295
|
+
| Expert agents | `sonnet` | golang-expert, python-expert |
|
|
296
|
+
|
|
254
297
|
## CRITICAL: Git Operations Delegation
|
|
255
298
|
|
|
256
299
|
```
|
|
@@ -178,6 +178,41 @@ requirements:
|
|
|
178
178
|
- Each instance has isolated context
|
|
179
179
|
```
|
|
180
180
|
|
|
181
|
+
### 4. Model Specification (RECOMMENDED)
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
185
|
+
║ USE MODEL PARAMETER FOR COST/PERFORMANCE OPTIMIZATION ║
|
|
186
|
+
║ ║
|
|
187
|
+
║ Task tool supports `model` parameter: ║
|
|
188
|
+
║ ║
|
|
189
|
+
║ Task( ║
|
|
190
|
+
║ subagent_type: "general-purpose", ║
|
|
191
|
+
║ prompt: "...", ║
|
|
192
|
+
║ model: "haiku" ← Specify model ║
|
|
193
|
+
║ ) ║
|
|
194
|
+
║ ║
|
|
195
|
+
║ Model Selection: ║
|
|
196
|
+
║ - opus : Complex reasoning (expensive, powerful) ║
|
|
197
|
+
║ - sonnet : General tasks (default, balanced) ║
|
|
198
|
+
║ - haiku : Simple tasks (fast, cheap) ║
|
|
199
|
+
║ ║
|
|
200
|
+
║ Parallel Task Optimization: ║
|
|
201
|
+
║ - Use haiku for file search/validation tasks ║
|
|
202
|
+
║ - Use sonnet for code generation tasks ║
|
|
203
|
+
║ - Use opus only when deep reasoning is required ║
|
|
204
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Example with model specification:
|
|
208
|
+
```
|
|
209
|
+
# Parallel tasks with appropriate models
|
|
210
|
+
Task(prompt: "Search for auth files", model: "haiku") ┐
|
|
211
|
+
Task(prompt: "Implement feature A", model: "sonnet") ├─ Optimized
|
|
212
|
+
Task(prompt: "Implement feature B", model: "sonnet") │
|
|
213
|
+
Task(prompt: "Analyze architecture", model: "opus") ┘
|
|
214
|
+
```
|
|
215
|
+
|
|
181
216
|
## Instance Model
|
|
182
217
|
|
|
183
218
|
### Instantiation
|
|
@@ -310,7 +345,7 @@ requirements:
|
|
|
310
345
|
|
|
311
346
|
## Display Format
|
|
312
347
|
|
|
313
|
-
When parallel execution occurs:
|
|
348
|
+
When parallel execution occurs, MUST display `{task-name}:{model}` format:
|
|
314
349
|
|
|
315
350
|
```
|
|
316
351
|
┌─ Agent: secretary (orchestrator)
|
|
@@ -318,21 +353,43 @@ When parallel execution occurs:
|
|
|
318
353
|
|
|
319
354
|
[Parallel] Spawning 4 instances...
|
|
320
355
|
|
|
321
|
-
[Instance 1] creator → golang-expert
|
|
322
|
-
[Instance 2] creator → python-expert
|
|
323
|
-
[Instance 3] creator → rust-expert
|
|
324
|
-
[Instance 4] creator → typescript-expert
|
|
356
|
+
[Instance 1] creator-golang:sonnet → golang-expert
|
|
357
|
+
[Instance 2] creator-python:sonnet → python-expert
|
|
358
|
+
[Instance 3] creator-rust:sonnet → rust-expert
|
|
359
|
+
[Instance 4] creator-typescript:sonnet → typescript-expert
|
|
325
360
|
|
|
326
361
|
[Progress] ████████░░░░ 2/4
|
|
327
362
|
|
|
328
|
-
[Instance 1] ✓ golang-expert created
|
|
329
|
-
[Instance 2] ✓ python-expert created
|
|
330
|
-
[Instance 3] ✓ rust-expert created
|
|
331
|
-
[Instance 4] ✓ typescript-expert created
|
|
363
|
+
[Instance 1] creator-golang:sonnet ✓ golang-expert created
|
|
364
|
+
[Instance 2] creator-python:sonnet ✓ python-expert created
|
|
365
|
+
[Instance 3] creator-rust:sonnet ✓ rust-expert created
|
|
366
|
+
[Instance 4] creator-typescript:sonnet ✓ typescript-expert created
|
|
332
367
|
|
|
333
368
|
[Summary] 4/4 tasks completed successfully
|
|
334
369
|
```
|
|
335
370
|
|
|
371
|
+
### Display Format Rules
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
375
|
+
║ PARALLEL AGENT DISPLAY FORMAT (MANDATORY) ║
|
|
376
|
+
║ ║
|
|
377
|
+
║ When announcing parallel agents, MUST show: ║
|
|
378
|
+
║ ║
|
|
379
|
+
║ {task-name}:{model} ║
|
|
380
|
+
║ ║
|
|
381
|
+
║ Examples: ║
|
|
382
|
+
║ [Instance 1] readme-update:sonnet ✓ README updated ║
|
|
383
|
+
║ [Instance 2] code-review:haiku ✓ Review complete ║
|
|
384
|
+
║ [Instance 3] architecture:opus ✓ Analysis done ║
|
|
385
|
+
║ ║
|
|
386
|
+
║ This allows users to: ║
|
|
387
|
+
║ - See which model is used for each task ║
|
|
388
|
+
║ - Understand cost implications ║
|
|
389
|
+
║ - Debug model selection issues ║
|
|
390
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
391
|
+
```
|
|
392
|
+
|
|
336
393
|
## Benefits
|
|
337
394
|
|
|
338
395
|
1. **Throughput**: N tasks complete in ~1/N time
|
|
@@ -6,39 +6,99 @@
|
|
|
6
6
|
|
|
7
7
|
## CRITICAL
|
|
8
8
|
|
|
9
|
-
**EVERY tool call MUST be prefixed with agent identification. This is NON-NEGOTIABLE.**
|
|
9
|
+
**EVERY tool call MUST be prefixed with agent and model identification. This is NON-NEGOTIABLE.**
|
|
10
10
|
|
|
11
11
|
```
|
|
12
12
|
Before EVERY tool call, output:
|
|
13
|
-
[agent-name] → Tool: <tool-name>
|
|
14
|
-
[agent-name] → Target: <file/path/url>
|
|
13
|
+
[agent-name][model] → Tool: <tool-name>
|
|
14
|
+
[agent-name][model] → Target: <file/path/url>
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
Failure to identify tool usage = Rule violation = Must be corrected immediately.
|
|
18
18
|
|
|
19
|
+
### Self-Check Before EVERY Tool Call
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
23
|
+
║ BEFORE INVOKING ANY TOOL, ASK YOURSELF: ║
|
|
24
|
+
║ ║
|
|
25
|
+
║ 1. Did I output the tool identification line with MODEL? ║
|
|
26
|
+
║ [agent-name][model] → Tool: <tool-name> ║
|
|
27
|
+
║ [agent-name][model] → Target: <target> ║
|
|
28
|
+
║ ║
|
|
29
|
+
║ 2. Am I about to call multiple tools in parallel? ║
|
|
30
|
+
║ → EACH tool needs its own identification line ║
|
|
31
|
+
║ → List all identifications BEFORE the tool calls ║
|
|
32
|
+
║ ║
|
|
33
|
+
║ If NO to #1 → STOP. Output identification FIRST. ║
|
|
34
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Model Values
|
|
38
|
+
|
|
39
|
+
| Model | When to Use |
|
|
40
|
+
|-------|-------------|
|
|
41
|
+
| `opus` | Complex reasoning, architecture design |
|
|
42
|
+
| `sonnet` | General tasks, code generation (default) |
|
|
43
|
+
| `haiku` | Fast simple tasks, file search |
|
|
44
|
+
|
|
45
|
+
### Common Violations to Avoid
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
❌ WRONG: Calling tools without identification
|
|
49
|
+
"먼저 JD 내용을 확인하겠습니다."
|
|
50
|
+
<tool_call>WebFetch(...)</tool_call>
|
|
51
|
+
|
|
52
|
+
❌ WRONG: Missing model in identification
|
|
53
|
+
[secretary] → Tool: WebFetch
|
|
54
|
+
[secretary] → Fetching: https://example.com/jd.md
|
|
55
|
+
|
|
56
|
+
✓ CORRECT: Always identify with agent AND model
|
|
57
|
+
"먼저 JD 내용을 확인하겠습니다."
|
|
58
|
+
[secretary][opus] → Tool: WebFetch
|
|
59
|
+
[secretary][opus] → Fetching: https://example.com/jd.md
|
|
60
|
+
<tool_call>WebFetch(...)</tool_call>
|
|
61
|
+
|
|
62
|
+
❌ WRONG: Parallel calls without listing all identifications
|
|
63
|
+
<tool_call>WebFetch(url1)</tool_call>
|
|
64
|
+
<tool_call>WebFetch(url2)</tool_call>
|
|
65
|
+
<tool_call>Bash(cmd)</tool_call>
|
|
66
|
+
|
|
67
|
+
✓ CORRECT: List all identifications with models, then call
|
|
68
|
+
[secretary][opus] → Tool: WebFetch
|
|
69
|
+
[secretary][opus] → Fetching: url1
|
|
70
|
+
[secretary][opus] → Tool: WebFetch
|
|
71
|
+
[secretary][opus] → Fetching: url2
|
|
72
|
+
[secretary][opus] → Tool: Bash
|
|
73
|
+
[secretary][opus] → Running: cmd
|
|
74
|
+
<tool_call>WebFetch(url1)</tool_call>
|
|
75
|
+
<tool_call>WebFetch(url2)</tool_call>
|
|
76
|
+
<tool_call>Bash(cmd)</tool_call>
|
|
77
|
+
```
|
|
78
|
+
|
|
19
79
|
## Purpose
|
|
20
80
|
|
|
21
81
|
Display which agent is using which tool for transparency and debugging. This extends R007 (Agent Identification) to cover tool operations.
|
|
22
82
|
|
|
23
83
|
## Tool Usage Format
|
|
24
84
|
|
|
25
|
-
When invoking a tool, prefix with agent identification:
|
|
85
|
+
When invoking a tool, prefix with agent and model identification:
|
|
26
86
|
|
|
27
87
|
```
|
|
28
|
-
[agent-name] → Tool: <tool-name>
|
|
88
|
+
[agent-name][model] → Tool: <tool-name>
|
|
29
89
|
```
|
|
30
90
|
|
|
31
91
|
### Examples
|
|
32
92
|
|
|
33
93
|
```
|
|
34
|
-
[golang-expert] → Tool: Read
|
|
35
|
-
[golang-expert] → Reading: src/main.go
|
|
94
|
+
[golang-expert][sonnet] → Tool: Read
|
|
95
|
+
[golang-expert][sonnet] → Reading: src/main.go
|
|
36
96
|
|
|
37
|
-
[supplier] → Tool: Glob
|
|
38
|
-
[supplier] → Searching: agents/**/index.yaml
|
|
97
|
+
[supplier][haiku] → Tool: Glob
|
|
98
|
+
[supplier][haiku] → Searching: agents/**/index.yaml
|
|
39
99
|
|
|
40
|
-
[creator] → Tool: Write
|
|
41
|
-
[creator] → Writing: agents/sw-engineer/new-agent/AGENT.md
|
|
100
|
+
[creator][sonnet] → Tool: Write
|
|
101
|
+
[creator][sonnet] → Writing: agents/sw-engineer/new-agent/AGENT.md
|
|
42
102
|
```
|
|
43
103
|
|
|
44
104
|
## Extended Format (Verbose)
|
|
@@ -47,6 +107,7 @@ For detailed tracking:
|
|
|
47
107
|
|
|
48
108
|
```
|
|
49
109
|
┌─ Agent: golang-expert (sw-engineer)
|
|
110
|
+
├─ Model: sonnet
|
|
50
111
|
├─ Skill: go-best-practices
|
|
51
112
|
├─ Tool: Read
|
|
52
113
|
└─ Target: src/main.go
|
|
@@ -76,9 +137,9 @@ For detailed tracking:
|
|
|
76
137
|
For inline operations:
|
|
77
138
|
|
|
78
139
|
```
|
|
79
|
-
[supplier → Glob
|
|
80
|
-
[creator → Write
|
|
81
|
-
[updater → WebFetch
|
|
140
|
+
[supplier][haiku] → Glob: agents/**/index.yaml
|
|
141
|
+
[creator][sonnet] → Write: agents/sw-engineer/new-agent/AGENT.md
|
|
142
|
+
[updater][sonnet] → WebFetch: https://github.com/...
|
|
82
143
|
```
|
|
83
144
|
|
|
84
145
|
## Integration with R007
|
|
@@ -87,11 +148,12 @@ R008 extends R007 for tool operations:
|
|
|
87
148
|
|
|
88
149
|
```
|
|
89
150
|
┌─ Agent: creator (manager)
|
|
151
|
+
├─ Model: sonnet
|
|
90
152
|
└─ Task: Creating new agent
|
|
91
153
|
|
|
92
|
-
[creator → Write
|
|
93
|
-
[creator → Write
|
|
94
|
-
[creator → Edit
|
|
154
|
+
[creator][sonnet] → Write: agents/sw-engineer/new-agent/AGENT.md
|
|
155
|
+
[creator][sonnet] → Write: agents/sw-engineer/new-agent/index.yaml
|
|
156
|
+
[creator][sonnet] → Edit: agents/index.yaml
|
|
95
157
|
|
|
96
158
|
[Done] Agent created successfully
|
|
97
159
|
```
|
|
@@ -28,6 +28,7 @@ Display real-time status information during agent operations for improved visibi
|
|
|
28
28
|
| Component | Description | Example |
|
|
29
29
|
|-----------|-------------|---------|
|
|
30
30
|
| Agent | Active agent name | `golang-expert` |
|
|
31
|
+
| Model | Model used (for parallel) | `sonnet` |
|
|
31
32
|
| Progress | Task progress (current/total) | `2/5` |
|
|
32
33
|
| Parallel | Parallel instance count | `3` |
|
|
33
34
|
|
|
@@ -39,10 +40,16 @@ Display real-time status information during agent operations for improved visibi
|
|
|
39
40
|
─── [Agent] creator | [Progress] 1/3 ───
|
|
40
41
|
```
|
|
41
42
|
|
|
42
|
-
### With Parallel Execution
|
|
43
|
+
### With Parallel Execution (Model Display REQUIRED)
|
|
43
44
|
|
|
44
45
|
```
|
|
45
46
|
─── [Agent] secretary | [Progress] 0/4 | [Parallel] 4 ───
|
|
47
|
+
|
|
48
|
+
Instances:
|
|
49
|
+
[1] readme-update:sonnet
|
|
50
|
+
[2] code-review:haiku
|
|
51
|
+
[3] architecture:opus
|
|
52
|
+
[4] validation:haiku
|
|
46
53
|
```
|
|
47
54
|
|
|
48
55
|
### Completion
|
|
@@ -251,6 +251,49 @@ CORRECT:
|
|
|
251
251
|
╚══════════════════════════════════════════════════════════════════╝
|
|
252
252
|
```
|
|
253
253
|
|
|
254
|
+
## CRITICAL: Sub-agent Model Specification
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
258
|
+
║ TASK TOOL MODEL PARAMETER (RECOMMENDED) ║
|
|
259
|
+
║ ║
|
|
260
|
+
║ Claude Code Task tool supports `model` parameter to specify ║
|
|
261
|
+
║ which model the sub-agent should use. ║
|
|
262
|
+
║ ║
|
|
263
|
+
║ Available models: ║
|
|
264
|
+
║ - opus : Complex reasoning, architecture design ║
|
|
265
|
+
║ - sonnet : Balanced performance (default) ║
|
|
266
|
+
║ - haiku : Fast, simple tasks, file search ║
|
|
267
|
+
║ - inherit: Use parent conversation's model ║
|
|
268
|
+
║ ║
|
|
269
|
+
║ Usage: ║
|
|
270
|
+
║ Task( ║
|
|
271
|
+
║ subagent_type: "general-purpose", ║
|
|
272
|
+
║ prompt: "Analyze architecture", ║
|
|
273
|
+
║ model: "opus" ║
|
|
274
|
+
║ ) ║
|
|
275
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Model Selection by Task Type
|
|
279
|
+
|
|
280
|
+
| Task Type | Recommended Model | Reason |
|
|
281
|
+
|-----------|-------------------|--------|
|
|
282
|
+
| Architecture analysis | `opus` | Deep reasoning required |
|
|
283
|
+
| Code review | `opus` or `sonnet` | Quality judgment |
|
|
284
|
+
| Code implementation | `sonnet` | Balanced performance |
|
|
285
|
+
| File search/read | `haiku` | Fast, simple operation |
|
|
286
|
+
| Simple validation | `haiku` | Low latency |
|
|
287
|
+
|
|
288
|
+
### Model Selection by Agent Type
|
|
289
|
+
|
|
290
|
+
| Agent Category | Model | Examples |
|
|
291
|
+
|----------------|-------|----------|
|
|
292
|
+
| Orchestrator judgment | `opus` | Complex routing decisions |
|
|
293
|
+
| Manager agents | `sonnet` | creator, updater, supplier |
|
|
294
|
+
| Simple utilities | `haiku` | File operations, search |
|
|
295
|
+
| Expert agents | `sonnet` | golang-expert, python-expert |
|
|
296
|
+
|
|
254
297
|
## CRITICAL: Git Operations Delegation
|
|
255
298
|
|
|
256
299
|
```
|
|
@@ -178,6 +178,41 @@ requirements:
|
|
|
178
178
|
- Each instance has isolated context
|
|
179
179
|
```
|
|
180
180
|
|
|
181
|
+
### 4. Model Specification (RECOMMENDED)
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
185
|
+
║ USE MODEL PARAMETER FOR COST/PERFORMANCE OPTIMIZATION ║
|
|
186
|
+
║ ║
|
|
187
|
+
║ Task tool supports `model` parameter: ║
|
|
188
|
+
║ ║
|
|
189
|
+
║ Task( ║
|
|
190
|
+
║ subagent_type: "general-purpose", ║
|
|
191
|
+
║ prompt: "...", ║
|
|
192
|
+
║ model: "haiku" ← Specify model ║
|
|
193
|
+
║ ) ║
|
|
194
|
+
║ ║
|
|
195
|
+
║ Model Selection: ║
|
|
196
|
+
║ - opus : Complex reasoning (expensive, powerful) ║
|
|
197
|
+
║ - sonnet : General tasks (default, balanced) ║
|
|
198
|
+
║ - haiku : Simple tasks (fast, cheap) ║
|
|
199
|
+
║ ║
|
|
200
|
+
║ Parallel Task Optimization: ║
|
|
201
|
+
║ - Use haiku for file search/validation tasks ║
|
|
202
|
+
║ - Use sonnet for code generation tasks ║
|
|
203
|
+
║ - Use opus only when deep reasoning is required ║
|
|
204
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Example with model specification:
|
|
208
|
+
```
|
|
209
|
+
# Parallel tasks with appropriate models
|
|
210
|
+
Task(prompt: "Search for auth files", model: "haiku") ┐
|
|
211
|
+
Task(prompt: "Implement feature A", model: "sonnet") ├─ Optimized
|
|
212
|
+
Task(prompt: "Implement feature B", model: "sonnet") │
|
|
213
|
+
Task(prompt: "Analyze architecture", model: "opus") ┘
|
|
214
|
+
```
|
|
215
|
+
|
|
181
216
|
## Instance Model
|
|
182
217
|
|
|
183
218
|
### Instantiation
|
|
@@ -310,7 +345,7 @@ requirements:
|
|
|
310
345
|
|
|
311
346
|
## Display Format
|
|
312
347
|
|
|
313
|
-
When parallel execution occurs:
|
|
348
|
+
When parallel execution occurs, MUST display `{task-name}:{model}` format:
|
|
314
349
|
|
|
315
350
|
```
|
|
316
351
|
┌─ Agent: secretary (orchestrator)
|
|
@@ -318,21 +353,43 @@ When parallel execution occurs:
|
|
|
318
353
|
|
|
319
354
|
[Parallel] Spawning 4 instances...
|
|
320
355
|
|
|
321
|
-
[Instance 1] creator → golang-expert
|
|
322
|
-
[Instance 2] creator → python-expert
|
|
323
|
-
[Instance 3] creator → rust-expert
|
|
324
|
-
[Instance 4] creator → typescript-expert
|
|
356
|
+
[Instance 1] creator-golang:sonnet → golang-expert
|
|
357
|
+
[Instance 2] creator-python:sonnet → python-expert
|
|
358
|
+
[Instance 3] creator-rust:sonnet → rust-expert
|
|
359
|
+
[Instance 4] creator-typescript:sonnet → typescript-expert
|
|
325
360
|
|
|
326
361
|
[Progress] ████████░░░░ 2/4
|
|
327
362
|
|
|
328
|
-
[Instance 1] ✓ golang-expert created
|
|
329
|
-
[Instance 2] ✓ python-expert created
|
|
330
|
-
[Instance 3] ✓ rust-expert created
|
|
331
|
-
[Instance 4] ✓ typescript-expert created
|
|
363
|
+
[Instance 1] creator-golang:sonnet ✓ golang-expert created
|
|
364
|
+
[Instance 2] creator-python:sonnet ✓ python-expert created
|
|
365
|
+
[Instance 3] creator-rust:sonnet ✓ rust-expert created
|
|
366
|
+
[Instance 4] creator-typescript:sonnet ✓ typescript-expert created
|
|
332
367
|
|
|
333
368
|
[Summary] 4/4 tasks completed successfully
|
|
334
369
|
```
|
|
335
370
|
|
|
371
|
+
### Display Format Rules
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
375
|
+
║ PARALLEL AGENT DISPLAY FORMAT (MANDATORY) ║
|
|
376
|
+
║ ║
|
|
377
|
+
║ When announcing parallel agents, MUST show: ║
|
|
378
|
+
║ ║
|
|
379
|
+
║ {task-name}:{model} ║
|
|
380
|
+
║ ║
|
|
381
|
+
║ Examples: ║
|
|
382
|
+
║ [Instance 1] readme-update:sonnet ✓ README updated ║
|
|
383
|
+
║ [Instance 2] code-review:haiku ✓ Review complete ║
|
|
384
|
+
║ [Instance 3] architecture:opus ✓ Analysis done ║
|
|
385
|
+
║ ║
|
|
386
|
+
║ This allows users to: ║
|
|
387
|
+
║ - See which model is used for each task ║
|
|
388
|
+
║ - Understand cost implications ║
|
|
389
|
+
║ - Debug model selection issues ║
|
|
390
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
391
|
+
```
|
|
392
|
+
|
|
336
393
|
## Benefits
|
|
337
394
|
|
|
338
395
|
1. **Throughput**: N tasks complete in ~1/N time
|
|
@@ -6,39 +6,99 @@
|
|
|
6
6
|
|
|
7
7
|
## CRITICAL
|
|
8
8
|
|
|
9
|
-
**EVERY tool call MUST be prefixed with agent identification. This is NON-NEGOTIABLE.**
|
|
9
|
+
**EVERY tool call MUST be prefixed with agent and model identification. This is NON-NEGOTIABLE.**
|
|
10
10
|
|
|
11
11
|
```
|
|
12
12
|
Before EVERY tool call, output:
|
|
13
|
-
[agent-name] → Tool: <tool-name>
|
|
14
|
-
[agent-name] → Target: <file/path/url>
|
|
13
|
+
[agent-name][model] → Tool: <tool-name>
|
|
14
|
+
[agent-name][model] → Target: <file/path/url>
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
Failure to identify tool usage = Rule violation = Must be corrected immediately.
|
|
18
18
|
|
|
19
|
+
### Self-Check Before EVERY Tool Call
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
╔══════════════════════════════════════════════════════════════════╗
|
|
23
|
+
║ BEFORE INVOKING ANY TOOL, ASK YOURSELF: ║
|
|
24
|
+
║ ║
|
|
25
|
+
║ 1. Did I output the tool identification line with MODEL? ║
|
|
26
|
+
║ [agent-name][model] → Tool: <tool-name> ║
|
|
27
|
+
║ [agent-name][model] → Target: <target> ║
|
|
28
|
+
║ ║
|
|
29
|
+
║ 2. Am I about to call multiple tools in parallel? ║
|
|
30
|
+
║ → EACH tool needs its own identification line ║
|
|
31
|
+
║ → List all identifications BEFORE the tool calls ║
|
|
32
|
+
║ ║
|
|
33
|
+
║ If NO to #1 → STOP. Output identification FIRST. ║
|
|
34
|
+
╚══════════════════════════════════════════════════════════════════╝
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Model Values
|
|
38
|
+
|
|
39
|
+
| Model | When to Use |
|
|
40
|
+
|-------|-------------|
|
|
41
|
+
| `opus` | Complex reasoning, architecture design |
|
|
42
|
+
| `sonnet` | General tasks, code generation (default) |
|
|
43
|
+
| `haiku` | Fast simple tasks, file search |
|
|
44
|
+
|
|
45
|
+
### Common Violations to Avoid
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
❌ WRONG: Calling tools without identification
|
|
49
|
+
"먼저 JD 내용을 확인하겠습니다."
|
|
50
|
+
<tool_call>WebFetch(...)</tool_call>
|
|
51
|
+
|
|
52
|
+
❌ WRONG: Missing model in identification
|
|
53
|
+
[secretary] → Tool: WebFetch
|
|
54
|
+
[secretary] → Fetching: https://example.com/jd.md
|
|
55
|
+
|
|
56
|
+
✓ CORRECT: Always identify with agent AND model
|
|
57
|
+
"먼저 JD 내용을 확인하겠습니다."
|
|
58
|
+
[secretary][opus] → Tool: WebFetch
|
|
59
|
+
[secretary][opus] → Fetching: https://example.com/jd.md
|
|
60
|
+
<tool_call>WebFetch(...)</tool_call>
|
|
61
|
+
|
|
62
|
+
❌ WRONG: Parallel calls without listing all identifications
|
|
63
|
+
<tool_call>WebFetch(url1)</tool_call>
|
|
64
|
+
<tool_call>WebFetch(url2)</tool_call>
|
|
65
|
+
<tool_call>Bash(cmd)</tool_call>
|
|
66
|
+
|
|
67
|
+
✓ CORRECT: List all identifications with models, then call
|
|
68
|
+
[secretary][opus] → Tool: WebFetch
|
|
69
|
+
[secretary][opus] → Fetching: url1
|
|
70
|
+
[secretary][opus] → Tool: WebFetch
|
|
71
|
+
[secretary][opus] → Fetching: url2
|
|
72
|
+
[secretary][opus] → Tool: Bash
|
|
73
|
+
[secretary][opus] → Running: cmd
|
|
74
|
+
<tool_call>WebFetch(url1)</tool_call>
|
|
75
|
+
<tool_call>WebFetch(url2)</tool_call>
|
|
76
|
+
<tool_call>Bash(cmd)</tool_call>
|
|
77
|
+
```
|
|
78
|
+
|
|
19
79
|
## Purpose
|
|
20
80
|
|
|
21
81
|
Display which agent is using which tool for transparency and debugging. This extends R007 (Agent Identification) to cover tool operations.
|
|
22
82
|
|
|
23
83
|
## Tool Usage Format
|
|
24
84
|
|
|
25
|
-
When invoking a tool, prefix with agent identification:
|
|
85
|
+
When invoking a tool, prefix with agent and model identification:
|
|
26
86
|
|
|
27
87
|
```
|
|
28
|
-
[agent-name] → Tool: <tool-name>
|
|
88
|
+
[agent-name][model] → Tool: <tool-name>
|
|
29
89
|
```
|
|
30
90
|
|
|
31
91
|
### Examples
|
|
32
92
|
|
|
33
93
|
```
|
|
34
|
-
[golang-expert] → Tool: Read
|
|
35
|
-
[golang-expert] → Reading: src/main.go
|
|
94
|
+
[golang-expert][sonnet] → Tool: Read
|
|
95
|
+
[golang-expert][sonnet] → Reading: src/main.go
|
|
36
96
|
|
|
37
|
-
[supplier] → Tool: Glob
|
|
38
|
-
[supplier] → Searching: agents/**/index.yaml
|
|
97
|
+
[supplier][haiku] → Tool: Glob
|
|
98
|
+
[supplier][haiku] → Searching: agents/**/index.yaml
|
|
39
99
|
|
|
40
|
-
[creator] → Tool: Write
|
|
41
|
-
[creator] → Writing: agents/sw-engineer/new-agent/AGENT.md
|
|
100
|
+
[creator][sonnet] → Tool: Write
|
|
101
|
+
[creator][sonnet] → Writing: agents/sw-engineer/new-agent/AGENT.md
|
|
42
102
|
```
|
|
43
103
|
|
|
44
104
|
## Extended Format (Verbose)
|
|
@@ -47,6 +107,7 @@ For detailed tracking:
|
|
|
47
107
|
|
|
48
108
|
```
|
|
49
109
|
┌─ Agent: golang-expert (sw-engineer)
|
|
110
|
+
├─ Model: sonnet
|
|
50
111
|
├─ Skill: go-best-practices
|
|
51
112
|
├─ Tool: Read
|
|
52
113
|
└─ Target: src/main.go
|
|
@@ -76,9 +137,9 @@ For detailed tracking:
|
|
|
76
137
|
For inline operations:
|
|
77
138
|
|
|
78
139
|
```
|
|
79
|
-
[supplier → Glob
|
|
80
|
-
[creator → Write
|
|
81
|
-
[updater → WebFetch
|
|
140
|
+
[supplier][haiku] → Glob: agents/**/index.yaml
|
|
141
|
+
[creator][sonnet] → Write: agents/sw-engineer/new-agent/AGENT.md
|
|
142
|
+
[updater][sonnet] → WebFetch: https://github.com/...
|
|
82
143
|
```
|
|
83
144
|
|
|
84
145
|
## Integration with R007
|
|
@@ -87,11 +148,12 @@ R008 extends R007 for tool operations:
|
|
|
87
148
|
|
|
88
149
|
```
|
|
89
150
|
┌─ Agent: creator (manager)
|
|
151
|
+
├─ Model: sonnet
|
|
90
152
|
└─ Task: Creating new agent
|
|
91
153
|
|
|
92
|
-
[creator → Write
|
|
93
|
-
[creator → Write
|
|
94
|
-
[creator → Edit
|
|
154
|
+
[creator][sonnet] → Write: agents/sw-engineer/new-agent/AGENT.md
|
|
155
|
+
[creator][sonnet] → Write: agents/sw-engineer/new-agent/index.yaml
|
|
156
|
+
[creator][sonnet] → Edit: agents/index.yaml
|
|
95
157
|
|
|
96
158
|
[Done] Agent created successfully
|
|
97
159
|
```
|
|
@@ -28,6 +28,7 @@ Display real-time status information during agent operations for improved visibi
|
|
|
28
28
|
| Component | Description | Example |
|
|
29
29
|
|-----------|-------------|---------|
|
|
30
30
|
| Agent | Active agent name | `golang-expert` |
|
|
31
|
+
| Model | Model used (for parallel) | `sonnet` |
|
|
31
32
|
| Progress | Task progress (current/total) | `2/5` |
|
|
32
33
|
| Parallel | Parallel instance count | `3` |
|
|
33
34
|
|
|
@@ -39,10 +40,16 @@ Display real-time status information during agent operations for improved visibi
|
|
|
39
40
|
─── [Agent] creator | [Progress] 1/3 ───
|
|
40
41
|
```
|
|
41
42
|
|
|
42
|
-
### With Parallel Execution
|
|
43
|
+
### With Parallel Execution (Model Display REQUIRED)
|
|
43
44
|
|
|
44
45
|
```
|
|
45
46
|
─── [Agent] secretary | [Progress] 0/4 | [Parallel] 4 ───
|
|
47
|
+
|
|
48
|
+
Instances:
|
|
49
|
+
[1] readme-update:sonnet
|
|
50
|
+
[2] code-review:haiku
|
|
51
|
+
[3] architecture:opus
|
|
52
|
+
[4] validation:haiku
|
|
46
53
|
```
|
|
47
54
|
|
|
48
55
|
### Completion
|