oh-my-customcode 0.9.2 → 0.9.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/README.md +25 -30
- package/dist/cli/index.js +1315 -568
- package/dist/index.js +234 -17
- package/package.json +1 -1
- package/templates/.claude/agents/arch-documenter.md +7 -71
- package/templates/.claude/agents/arch-speckit-agent.md +21 -108
- package/templates/.claude/agents/be-express-expert.md +8 -58
- package/templates/.claude/agents/be-nestjs-expert.md +6 -38
- package/templates/.claude/agents/be-springboot-expert.md +11 -56
- package/templates/.claude/agents/db-postgres-expert.md +10 -80
- package/templates/.claude/agents/db-redis-expert.md +10 -75
- package/templates/.claude/agents/db-supabase-expert.md +12 -48
- package/templates/.claude/agents/de-airflow-expert.md +8 -45
- package/templates/.claude/agents/de-dbt-expert.md +8 -46
- package/templates/.claude/agents/de-kafka-expert.md +10 -10
- package/templates/.claude/agents/de-pipeline-expert.md +9 -69
- package/templates/.claude/agents/de-snowflake-expert.md +9 -62
- package/templates/.claude/agents/de-spark-expert.md +10 -54
- package/templates/.claude/agents/fe-svelte-agent.md +5 -41
- package/templates/.claude/agents/fe-vercel-agent.md +9 -41
- package/templates/.claude/agents/fe-vuejs-agent.md +7 -42
- package/templates/.claude/agents/lang-java21-expert.md +11 -37
- package/templates/.claude/agents/mgr-claude-code-bible.md +22 -207
- package/templates/.claude/agents/mgr-creator.md +7 -88
- package/templates/.claude/agents/mgr-gitnerd.md +8 -76
- package/templates/.claude/agents/mgr-sauron.md +27 -20
- package/templates/.claude/agents/mgr-supplier.md +11 -96
- package/templates/.claude/agents/mgr-sync-checker.md +9 -70
- package/templates/.claude/agents/mgr-updater.md +9 -79
- package/templates/.claude/agents/qa-engineer.md +8 -72
- package/templates/.claude/agents/qa-planner.md +2 -3
- package/templates/.claude/agents/qa-writer.md +6 -76
- package/templates/.claude/agents/sys-memory-keeper.md +13 -87
- package/templates/.claude/agents/sys-naggy.md +9 -62
- package/templates/.claude/agents/tool-bun-expert.md +7 -52
- package/templates/.claude/agents/tool-npm-expert.md +6 -64
- package/templates/.claude/agents/tool-optimizer.md +7 -60
- package/templates/.claude/rules/MAY-optimization.md +16 -80
- package/templates/.claude/rules/MUST-agent-design.md +29 -134
- package/templates/.claude/rules/MUST-agent-identification.md +9 -88
- package/templates/.claude/rules/MUST-continuous-improvement.md +10 -117
- package/templates/.claude/rules/MUST-intent-transparency.md +14 -171
- package/templates/.claude/rules/MUST-language-policy.md +11 -46
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +82 -425
- package/templates/.claude/rules/MUST-parallel-execution.md +33 -405
- package/templates/.claude/rules/MUST-permissions.md +14 -68
- package/templates/.claude/rules/MUST-safety.md +11 -57
- package/templates/.claude/rules/MUST-sync-verification.md +49 -205
- package/templates/.claude/rules/MUST-tool-identification.md +21 -134
- package/templates/.claude/rules/SHOULD-agent-teams.md +22 -166
- package/templates/.claude/rules/SHOULD-ecomode.md +15 -123
- package/templates/.claude/rules/SHOULD-error-handling.md +19 -88
- package/templates/.claude/rules/SHOULD-hud-statusline.md +9 -89
- package/templates/.claude/rules/SHOULD-interaction.md +18 -87
- package/templates/.claude/rules/SHOULD-memory-integration.md +25 -118
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +70 -243
- package/templates/.claude/skills/springboot-best-practices/SKILL.md +180 -319
- package/templates/.codex/agents/arch-documenter.md +7 -71
- package/templates/.codex/agents/arch-speckit-agent.md +21 -108
- package/templates/.codex/agents/be-express-expert.md +8 -58
- package/templates/.codex/agents/be-nestjs-expert.md +6 -38
- package/templates/.codex/agents/be-springboot-expert.md +11 -56
- package/templates/.codex/agents/db-postgres-expert.md +10 -80
- package/templates/.codex/agents/db-redis-expert.md +10 -75
- package/templates/.codex/agents/db-supabase-expert.md +12 -48
- package/templates/.codex/agents/de-airflow-expert.md +8 -45
- package/templates/.codex/agents/de-dbt-expert.md +8 -46
- package/templates/.codex/agents/de-kafka-expert.md +10 -10
- package/templates/.codex/agents/de-pipeline-expert.md +9 -69
- package/templates/.codex/agents/de-snowflake-expert.md +9 -62
- package/templates/.codex/agents/de-spark-expert.md +10 -54
- package/templates/.codex/agents/fe-svelte-agent.md +5 -41
- package/templates/.codex/agents/fe-vercel-agent.md +9 -41
- package/templates/.codex/agents/fe-vuejs-agent.md +7 -42
- package/templates/.codex/agents/infra-aws-expert.md +1 -1
- package/templates/.codex/agents/infra-docker-expert.md +1 -1
- package/templates/.codex/agents/lang-java21-expert.md +11 -37
- package/templates/.codex/agents/mgr-claude-code-bible.md +25 -210
- package/templates/.codex/agents/mgr-creator.md +7 -88
- package/templates/.codex/agents/mgr-gitnerd.md +8 -76
- package/templates/.codex/agents/mgr-sauron.md +30 -23
- package/templates/.codex/agents/mgr-supplier.md +11 -96
- package/templates/.codex/agents/mgr-sync-checker.md +12 -73
- package/templates/.codex/agents/mgr-updater.md +9 -79
- package/templates/.codex/agents/qa-engineer.md +8 -72
- package/templates/.codex/agents/qa-planner.md +2 -3
- package/templates/.codex/agents/qa-writer.md +6 -76
- package/templates/.codex/agents/sys-memory-keeper.md +13 -87
- package/templates/.codex/agents/sys-naggy.md +9 -62
- package/templates/.codex/agents/tool-bun-expert.md +7 -52
- package/templates/.codex/agents/tool-npm-expert.md +6 -64
- package/templates/.codex/agents/tool-optimizer.md +7 -60
- package/templates/.codex/rules/MAY-optimization.md +16 -80
- package/templates/.codex/rules/MUST-agent-design.md +29 -134
- package/templates/.codex/rules/MUST-agent-identification.md +9 -88
- package/templates/.codex/rules/MUST-continuous-improvement.md +10 -117
- package/templates/.codex/rules/MUST-intent-transparency.md +14 -171
- package/templates/.codex/rules/MUST-language-policy.md +11 -46
- package/templates/.codex/rules/MUST-orchestrator-coordination.md +82 -425
- package/templates/.codex/rules/MUST-parallel-execution.md +33 -405
- package/templates/.codex/rules/MUST-permissions.md +14 -68
- package/templates/.codex/rules/MUST-safety.md +11 -57
- package/templates/.codex/rules/MUST-sync-verification.md +58 -214
- package/templates/.codex/rules/MUST-tool-identification.md +22 -135
- package/templates/.codex/rules/SHOULD-agent-teams.md +22 -166
- package/templates/.codex/rules/SHOULD-ecomode.md +15 -123
- package/templates/.codex/rules/SHOULD-error-handling.md +19 -88
- package/templates/.codex/rules/SHOULD-hud-statusline.md +9 -89
- package/templates/.codex/rules/SHOULD-interaction.md +18 -87
- package/templates/.codex/rules/SHOULD-memory-integration.md +25 -118
- package/templates/.codex/skills/dev-lead-routing/SKILL.md +70 -243
- package/templates/.codex/skills/springboot-best-practices/SKILL.md +180 -319
|
@@ -1,77 +1,26 @@
|
|
|
1
1
|
# [MUST] Parallel Execution Rules
|
|
2
2
|
|
|
3
|
-
> **Priority**: MUST - ENFORCED
|
|
4
|
-
> **ID**: R009
|
|
5
|
-
> **Violation**: Sequential execution of parallelizable tasks = Rule violation
|
|
3
|
+
> **Priority**: MUST - ENFORCED | **ID**: R009
|
|
6
4
|
|
|
7
|
-
##
|
|
5
|
+
## Core Rule
|
|
8
6
|
|
|
9
|
-
**
|
|
7
|
+
**2+ independent tasks MUST execute in parallel.** Sequential execution of parallelizable tasks is a rule violation.
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
13
|
-
║ ⚠️ ABSOLUTE RULE: 2+ INDEPENDENT FILES = PARALLEL ║
|
|
14
|
-
║ ║
|
|
15
|
-
║ If you are about to Write/Edit 2 or more independent files: ║
|
|
16
|
-
║ → STOP ║
|
|
17
|
-
║ → Use Task tool to spawn parallel agents ║
|
|
18
|
-
║ → Each agent handles a subset of files ║
|
|
19
|
-
║ ║
|
|
20
|
-
║ NO EXCEPTIONS for: ║
|
|
21
|
-
║ - Project scaffolding (package.json, tsconfig, src/*.ts) ║
|
|
22
|
-
║ - Multiple module creation ║
|
|
23
|
-
║ - Batch file updates ║
|
|
24
|
-
║ - Any multi-file operation ║
|
|
25
|
-
║ ║
|
|
26
|
-
║ VIOLATION = Using Write/Edit 2+ times in sequence ║
|
|
27
|
-
║ when files are independent ║
|
|
28
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
Detection criteria for parallel execution:
|
|
33
|
-
- Tasks don't share mutable state
|
|
34
|
-
- Tasks don't have sequential dependencies
|
|
35
|
-
- Tasks can complete independently
|
|
36
|
-
|
|
37
|
-
If ALL criteria met → MUST execute in parallel (max 4 instances)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### How to Detect Independent Tasks
|
|
9
|
+
## Detection Criteria
|
|
41
10
|
|
|
42
|
-
```
|
|
43
11
|
Independent (MUST parallelize):
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
Dependent (sequential OK):
|
|
49
|
-
✗ "Create agent then configure it" → depends on creation
|
|
50
|
-
✗ "Build then test" → test depends on build
|
|
51
|
-
✗ "Read file then edit it" → edit depends on read content
|
|
52
|
-
```
|
|
12
|
+
- No shared mutable state between tasks
|
|
13
|
+
- No sequential dependencies
|
|
14
|
+
- Each completes independently
|
|
53
15
|
|
|
54
|
-
|
|
16
|
+
Examples: creating multiple agents, reviewing multiple files, batch operations on different resources.
|
|
55
17
|
|
|
56
|
-
|
|
18
|
+
## Self-Check
|
|
57
19
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
║ 1. Are these files independent of each other? ║
|
|
63
|
-
║ → YES: Use Task tool to spawn parallel agents ║
|
|
64
|
-
║ → NO: Sequential is OK ║
|
|
65
|
-
║ ║
|
|
66
|
-
║ 2. Am I using Write/Edit sequentially for 3+ files? ║
|
|
67
|
-
║ → STOP. This is likely a violation. ║
|
|
68
|
-
║ → Spawn parallel agents instead. ║
|
|
69
|
-
║ ║
|
|
70
|
-
║ 3. Are there domain-specific experts available? ║
|
|
71
|
-
║ → YES: Delegate to them (lang-kotlin-expert, be-springboot-expert) ║
|
|
72
|
-
║ → NO: Create general-purpose parallel agents ║
|
|
73
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
74
|
-
```
|
|
20
|
+
Before writing/editing multiple files:
|
|
21
|
+
1. Are files independent? → YES: spawn parallel Task agents
|
|
22
|
+
2. Using Write/Edit sequentially for 2+ files? → STOP, parallelize
|
|
23
|
+
3. Specialized agent available? → Use it (not general-purpose)
|
|
75
24
|
|
|
76
25
|
### Common Violations to Avoid
|
|
77
26
|
|
|
@@ -114,356 +63,35 @@ Failure to parallelize independent tasks = Rule violation = Must be corrected.
|
|
|
114
63
|
Task(be-springboot-expert → security) ┘
|
|
115
64
|
```
|
|
116
65
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
```
|
|
120
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
121
|
-
║ PARALLEL MEANS PARALLEL AT THE TOOL CALL LEVEL ║
|
|
122
|
-
║ ║
|
|
123
|
-
║ When spawning Tasks for parallel work: ║
|
|
124
|
-
║ - Each independent unit of work = separate Task tool call ║
|
|
125
|
-
║ - All Task calls in the SAME message = truly parallel ║
|
|
126
|
-
║ - One Task that "coordinates" others = still sequential inside ║
|
|
127
|
-
║ ║
|
|
128
|
-
║ Rule: If work can be split, split it into separate Tasks. ║
|
|
129
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Large Task Decomposition (MANDATORY)
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
136
|
-
║ LARGE TASKS MUST BE SPLIT INTO PARALLEL SUB-TASKS ║
|
|
137
|
-
║ ║
|
|
138
|
-
║ Before spawning a single large Task, ASK: ║
|
|
139
|
-
║ ║
|
|
140
|
-
║ 1. Can this work be divided into independent parts? ║
|
|
141
|
-
║ → Query tests, Security tests, Exception tests ║
|
|
142
|
-
║ → Domain A, Domain B, Domain C ║
|
|
143
|
-
║ → Layer 1, Layer 2, Layer 3 ║
|
|
144
|
-
║ ║
|
|
145
|
-
║ 2. How many parallel slots available? (max 4) ║
|
|
146
|
-
║ → If 3 slots free, split into 3 parallel Tasks ║
|
|
147
|
-
║ → Maximize parallelism to minimize total time ║
|
|
148
|
-
║ ║
|
|
149
|
-
║ 3. Is estimated Task duration > 3 minutes? ║
|
|
150
|
-
║ → MUST split if work is decomposable ║
|
|
151
|
-
║ → 12 min single Task → 4 min with 3 parallel Tasks ║
|
|
152
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
153
|
-
|
|
154
|
-
Example - WRONG:
|
|
155
|
-
Task("Add tests for Query, Security, Exception, Domain")
|
|
156
|
-
→ Single agent works 12+ minutes sequentially
|
|
157
|
-
|
|
158
|
-
Example - CORRECT (3 parallel Tasks):
|
|
159
|
-
Task(agent1 → "Add Query usecase tests") ┐
|
|
160
|
-
Task(agent2 → "Add Security tests") ├─ ~4 min total
|
|
161
|
-
Task(agent3 → "Add Exception + Domain tests") ┘
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Purpose
|
|
165
|
-
|
|
166
|
-
Enable parallel execution of agents as separate instances to improve throughput for batch operations and independent tasks.
|
|
167
|
-
|
|
168
|
-
## Core Concept
|
|
169
|
-
|
|
170
|
-
Each agent (except orchestrators) can be instantiated multiple times to work on independent tasks in parallel.
|
|
171
|
-
|
|
172
|
-
```
|
|
173
|
-
Agent (Template)
|
|
174
|
-
│
|
|
175
|
-
├── Instance 1 → Task A
|
|
176
|
-
├── Instance 2 → Task B
|
|
177
|
-
├── Instance 3 → Task C
|
|
178
|
-
└── Instance 4 → Task D
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
## Rules
|
|
66
|
+
## Execution Rules
|
|
182
67
|
|
|
183
|
-
|
|
68
|
+
| Rule | Detail |
|
|
69
|
+
|------|--------|
|
|
70
|
+
| Max instances | 4 concurrent |
|
|
71
|
+
| Not parallelizable | Orchestrator (must stay singleton) |
|
|
72
|
+
| Instance independence | Isolated context, no shared state |
|
|
73
|
+
| Large tasks (>3 min) | MUST split into parallel sub-tasks |
|
|
184
74
|
|
|
185
|
-
|
|
186
|
-
limit: 4
|
|
187
|
-
reason: Balance between throughput and resource usage
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
### 2. Exclusions
|
|
75
|
+
## Task Tool Requirements
|
|
191
76
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
reason: |
|
|
197
|
-
Orchestrator agents manage other agents and must maintain
|
|
198
|
-
a single point of coordination to prevent conflicts.
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### 3. Instance Independence
|
|
202
|
-
|
|
203
|
-
```yaml
|
|
204
|
-
requirements:
|
|
205
|
-
- Tasks must be independent (no shared state)
|
|
206
|
-
- No cross-instance communication required
|
|
207
|
-
- Each instance has isolated context
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### 4. Subagent Visibility (MANDATORY)
|
|
211
|
-
|
|
212
|
-
```
|
|
213
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
214
|
-
║ TASK TOOL MUST USE SPECIFIC subagent_type (NOT general-purpose) ║
|
|
215
|
-
║ ║
|
|
216
|
-
║ When a specialized agent exists for the task: ║
|
|
217
|
-
║ → MUST use that agent's subagent_type ║
|
|
218
|
-
║ → DO NOT use "general-purpose" as a catch-all ║
|
|
219
|
-
║ ║
|
|
220
|
-
║ The HUD hook displays: [Spawn] {subagent_type}:{model} | {desc}║
|
|
221
|
-
║ Using "general-purpose" makes all spawns look identical. ║
|
|
222
|
-
║ ║
|
|
223
|
-
║ WRONG: ║
|
|
224
|
-
║ Task(subagent_type: "general-purpose", desc: "Update agents") ║
|
|
225
|
-
║ Task(subagent_type: "general-purpose", desc: "Update agents") ║
|
|
226
|
-
║ → HUD shows: [Spawn] general-purpose:sonnet | Update agents ║
|
|
227
|
-
║ → HUD shows: [Spawn] general-purpose:sonnet | Update agents ║
|
|
228
|
-
║ → User cannot distinguish which is which ║
|
|
229
|
-
║ ║
|
|
230
|
-
║ CORRECT: ║
|
|
231
|
-
║ Task(subagent_type: "mgr-creator", desc: "Create Go agent") ║
|
|
232
|
-
║ Task(subagent_type: "lang-golang-expert", desc: "Review code")║
|
|
233
|
-
║ → HUD shows: [Spawn] mgr-creator:sonnet | Create Go agent ║
|
|
234
|
-
║ → HUD shows: [Spawn] lang-golang-expert:sonnet | Review code ║
|
|
235
|
-
║ ║
|
|
236
|
-
║ When NO specialized agent exists (truly generic work): ║
|
|
237
|
-
║ → Use "general-purpose" but with UNIQUE descriptions ║
|
|
238
|
-
║ → Description MUST identify the specific batch/scope ║
|
|
239
|
-
║ ║
|
|
240
|
-
║ Task(subagent_type: "general-purpose", ║
|
|
241
|
-
║ desc: "batch1: lang-* agents") ║
|
|
242
|
-
║ Task(subagent_type: "general-purpose", ║
|
|
243
|
-
║ desc: "batch2: be-* fe-* agents") ║
|
|
244
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### 5. Model Specification (RECOMMENDED)
|
|
248
|
-
|
|
249
|
-
```
|
|
250
|
-
╔══════════════════════════════════════════════════════════════════╗
|
|
251
|
-
║ USE MODEL PARAMETER FOR COST/PERFORMANCE OPTIMIZATION ║
|
|
252
|
-
║ ║
|
|
253
|
-
║ Task tool supports `model` parameter: ║
|
|
254
|
-
║ ║
|
|
255
|
-
║ Task( ║
|
|
256
|
-
║ subagent_type: "general-purpose", ║
|
|
257
|
-
║ prompt: "...", ║
|
|
258
|
-
║ model: "haiku" ← Specify model ║
|
|
259
|
-
║ ) ║
|
|
260
|
-
║ ║
|
|
261
|
-
║ Model Selection: ║
|
|
262
|
-
║ - opus : Complex reasoning (expensive, powerful) ║
|
|
263
|
-
║ - sonnet : General tasks (default, balanced) ║
|
|
264
|
-
║ - haiku : Simple tasks (fast, cheap) ║
|
|
265
|
-
║ ║
|
|
266
|
-
║ Parallel Task Optimization: ║
|
|
267
|
-
║ - Use haiku for file search/validation tasks ║
|
|
268
|
-
║ - Use sonnet for code generation tasks ║
|
|
269
|
-
║ - Use opus only when deep reasoning is required ║
|
|
270
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
Example with model specification:
|
|
274
|
-
```
|
|
275
|
-
# Parallel tasks with appropriate models
|
|
276
|
-
Task(prompt: "Search for auth files", model: "haiku") ┐
|
|
277
|
-
Task(prompt: "Implement feature A", model: "sonnet") ├─ Optimized
|
|
278
|
-
Task(prompt: "Implement feature B", model: "sonnet") │
|
|
279
|
-
Task(prompt: "Analyze architecture", model: "opus") ┘
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
## Instance Model
|
|
283
|
-
|
|
284
|
-
### Instantiation
|
|
285
|
-
|
|
286
|
-
```
|
|
287
|
-
┌─────────────────────────────────────────────────────────┐
|
|
288
|
-
│ Agent Template │
|
|
289
|
-
│ (agents/{type}/{name}/) │
|
|
290
|
-
├─────────────────────────────────────────────────────────┤
|
|
291
|
-
│ AGENT.md - Role definition │
|
|
292
|
-
│ index.yaml - Configuration │
|
|
293
|
-
│ refs/ - Skill/guide references │
|
|
294
|
-
└────────────────────────┬────────────────────────────────┘
|
|
295
|
-
│
|
|
296
|
-
┌────────────────┼────────────────┐
|
|
297
|
-
│ │ │
|
|
298
|
-
▼ ▼ ▼
|
|
299
|
-
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
300
|
-
│ Instance #1 │ │ Instance #2 │ │ Instance #3 │
|
|
301
|
-
│ Task: A │ │ Task: B │ │ Task: C │
|
|
302
|
-
│ Context: ... │ │ Context: ... │ │ Context: ... │
|
|
303
|
-
└──────────────┘ └──────────────┘ └──────────────┘
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
### Instance Properties
|
|
307
|
-
|
|
308
|
-
```yaml
|
|
309
|
-
instance:
|
|
310
|
-
id: "{agent-name}-{uuid}"
|
|
311
|
-
template: "{agent-path}"
|
|
312
|
-
task: "{assigned-task}"
|
|
313
|
-
context: "{isolated-context}"
|
|
314
|
-
status: "pending|running|completed|failed"
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
## Usage Patterns
|
|
318
|
-
|
|
319
|
-
### Batch Agent Creation
|
|
320
|
-
|
|
321
|
-
```
|
|
322
|
-
User: "Create golang, python, rust, typescript expert agents"
|
|
323
|
-
|
|
324
|
-
Orchestrator (secretary):
|
|
325
|
-
│
|
|
326
|
-
├── [lang-golang-expert] mgr-creator instance #1
|
|
327
|
-
├── [lang-python-expert] mgr-creator instance #2
|
|
328
|
-
├── [lang-rust-expert] mgr-creator instance #3
|
|
329
|
-
└── [lang-typescript-expert] mgr-creator instance #4
|
|
330
|
-
|
|
331
|
-
Execution: Parallel (4 instances)
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
### Batch Code Review
|
|
335
|
-
|
|
336
|
-
```
|
|
337
|
-
User: "/dev:review src/*.go src/*.py src/*.ts"
|
|
338
|
-
|
|
339
|
-
Orchestrator:
|
|
340
|
-
│
|
|
341
|
-
├── [src/*.go] lang-golang-expert instance #1
|
|
342
|
-
├── [src/*.py] lang-python-expert instance #2
|
|
343
|
-
└── [src/*.ts] lang-typescript-expert instance #3
|
|
344
|
-
|
|
345
|
-
Execution: Parallel (3 instances)
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
### Batch Audit
|
|
349
|
-
|
|
350
|
-
```
|
|
351
|
-
User: "Audit all agents"
|
|
352
|
-
|
|
353
|
-
Orchestrator (secretary):
|
|
354
|
-
│
|
|
355
|
-
├── [agent-1] mgr-supplier instance #1
|
|
356
|
-
├── [agent-2] mgr-supplier instance #2
|
|
357
|
-
├── [agent-3] mgr-supplier instance #3
|
|
358
|
-
└── [agent-4] mgr-supplier instance #4
|
|
359
|
-
|
|
360
|
-
Execution: Parallel (4 instances, batched if > 4)
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
## Coordination
|
|
364
|
-
|
|
365
|
-
### Task Distribution
|
|
366
|
-
|
|
367
|
-
```yaml
|
|
368
|
-
strategy: round_robin
|
|
369
|
-
max_instances: 4
|
|
370
|
-
queue: remaining tasks wait for available instance
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
### Result Aggregation
|
|
374
|
-
|
|
375
|
-
```
|
|
376
|
-
Instance Results:
|
|
377
|
-
#1: ✓ Success (agent-a created)
|
|
378
|
-
#2: ✓ Success (agent-b created)
|
|
379
|
-
#3: ✗ Failed (agent-c: skill not found)
|
|
380
|
-
#4: ✓ Success (agent-d created)
|
|
381
|
-
|
|
382
|
-
Aggregated Result:
|
|
383
|
-
Total: 4 tasks
|
|
384
|
-
Succeeded: 3
|
|
385
|
-
Failed: 1
|
|
386
|
-
Details: [...]
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
## Implementation Notes
|
|
390
|
-
|
|
391
|
-
### For Orchestrators
|
|
392
|
-
|
|
393
|
-
```yaml
|
|
394
|
-
responsibilities:
|
|
395
|
-
- Identify parallelizable tasks
|
|
396
|
-
- Spawn instances (max 4)
|
|
397
|
-
- Monitor instance status
|
|
398
|
-
- Aggregate results
|
|
399
|
-
- Handle failures
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
### For Worker/Manager Agents
|
|
403
|
-
|
|
404
|
-
```yaml
|
|
405
|
-
requirements:
|
|
406
|
-
- Stateless task execution
|
|
407
|
-
- Isolated context per instance
|
|
408
|
-
- No shared mutable state
|
|
409
|
-
- Clear success/failure reporting
|
|
410
|
-
```
|
|
77
|
+
- Use specific `subagent_type` (not "general-purpose" when specialist exists)
|
|
78
|
+
- Use `model` parameter for cost optimization (haiku for search, sonnet for code, opus for reasoning)
|
|
79
|
+
- Each independent unit = separate Task tool call in the SAME message
|
|
411
80
|
|
|
412
81
|
## Display Format
|
|
413
82
|
|
|
414
|
-
When parallel execution occurs, MUST display `Task({subagent_type}):{model}` format:
|
|
415
|
-
|
|
416
83
|
```
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
[Parallel] Spawning 4 instances...
|
|
421
|
-
|
|
422
|
-
[Instance 1] Task(mgr-creator):sonnet → lang-golang-expert
|
|
423
|
-
[Instance 2] Task(mgr-creator):sonnet → lang-python-expert
|
|
424
|
-
[Instance 3] Task(mgr-creator):sonnet → lang-rust-expert
|
|
425
|
-
[Instance 4] Task(mgr-creator):sonnet → lang-typescript-expert
|
|
426
|
-
|
|
427
|
-
[Progress] ████████░░░░ 2/4
|
|
428
|
-
|
|
429
|
-
[Instance 1] Task(mgr-creator):sonnet ✓ lang-golang-expert created
|
|
430
|
-
[Instance 2] Task(mgr-creator):sonnet ✓ lang-python-expert created
|
|
431
|
-
[Instance 3] Task(mgr-creator):sonnet ✓ lang-rust-expert created
|
|
432
|
-
[Instance 4] Task(mgr-creator):sonnet ✓ lang-typescript-expert created
|
|
433
|
-
|
|
434
|
-
[Summary] 4/4 tasks completed successfully
|
|
84
|
+
[Instance 1] Task(mgr-creator):sonnet → Create Go agent
|
|
85
|
+
[Instance 2] Task(lang-python-expert):sonnet → Review Python code
|
|
86
|
+
[Instance 3] Task(Explore):haiku → Search codebase
|
|
435
87
|
```
|
|
436
88
|
|
|
437
|
-
|
|
89
|
+
Must use `Task({subagent_type}):{model}` format. Custom names not allowed.
|
|
90
|
+
|
|
91
|
+
## Result Aggregation
|
|
438
92
|
|
|
439
93
|
```
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
║ When announcing parallel agents, MUST show: ║
|
|
444
|
-
║ ║
|
|
445
|
-
║ Task({subagent_type}):{model} ║
|
|
446
|
-
║ ║
|
|
447
|
-
║ Examples: ║
|
|
448
|
-
║ [Instance 1] Task(general-purpose):sonnet → R006 업데이트 ║
|
|
449
|
-
║ [Instance 2] Task(lang-golang-expert):sonnet → Go 코드 리뷰 ║
|
|
450
|
-
║ [Instance 3] Task(Explore):haiku → 코드베이스 탐색 ║
|
|
451
|
-
║ [Instance 4] Task(mgr-gitnerd):sonnet → git commit ║
|
|
452
|
-
║ ║
|
|
453
|
-
║ The subagent_type MUST match the Task tool's subagent_type ║
|
|
454
|
-
║ parameter. Custom names are NOT allowed. ║
|
|
455
|
-
║ ║
|
|
456
|
-
║ This allows users to: ║
|
|
457
|
-
║ - See which model is used for each task ║
|
|
458
|
-
║ - See the exact subagent_type used ║
|
|
459
|
-
║ - Understand cost implications ║
|
|
460
|
-
║ - Debug model selection issues ║
|
|
461
|
-
╚══════════════════════════════════════════════════════════════════╝
|
|
94
|
+
[Summary] {succeeded}/{total} tasks completed
|
|
95
|
+
✓ agent-1: success
|
|
96
|
+
✗ agent-2: failed (reason)
|
|
462
97
|
```
|
|
463
|
-
|
|
464
|
-
## Benefits
|
|
465
|
-
|
|
466
|
-
1. **Throughput**: N tasks complete in ~1/N time
|
|
467
|
-
2. **Efficiency**: Better resource utilization
|
|
468
|
-
3. **User Experience**: Faster batch operations
|
|
469
|
-
4. **Scalability**: Handles large workloads
|
|
@@ -1,84 +1,30 @@
|
|
|
1
1
|
# [MUST] Permission Rules
|
|
2
2
|
|
|
3
|
-
> **Priority**: MUST
|
|
4
|
-
> **Principle**: Least privilege, explicit approval
|
|
3
|
+
> **Priority**: MUST | **ID**: R002
|
|
5
4
|
|
|
6
5
|
## Tool Permission Tiers
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
### Tier 2: Default Allowed (Use with care)
|
|
17
|
-
```yaml
|
|
18
|
-
default_allowed:
|
|
19
|
-
- Write # Create files
|
|
20
|
-
- Edit # Modify files
|
|
21
|
-
```
|
|
22
|
-
→ State changes explicitly
|
|
23
|
-
→ Notify before modifying important files
|
|
24
|
-
|
|
25
|
-
### Tier 3: Requires Approval
|
|
26
|
-
```yaml
|
|
27
|
-
requires_approval:
|
|
28
|
-
- Bash # Execute commands
|
|
29
|
-
- WebFetch # Web access
|
|
30
|
-
- WebSearch # Web search
|
|
31
|
-
```
|
|
32
|
-
→ Request user approval on first use
|
|
33
|
-
→ State command/URL to be accessed
|
|
34
|
-
|
|
35
|
-
### Tier 4: Explicit Request Only
|
|
36
|
-
```yaml
|
|
37
|
-
explicit_request_only:
|
|
38
|
-
- Task # Create subagents
|
|
39
|
-
```
|
|
40
|
-
→ Only when user explicitly requests
|
|
7
|
+
| Tier | Tools | Policy |
|
|
8
|
+
|------|-------|--------|
|
|
9
|
+
| 1: Always | Read, Glob, Grep | Free use |
|
|
10
|
+
| 2: Default | Write, Edit | State changes explicitly, notify before modifying important files |
|
|
11
|
+
| 3: Approval | Bash, WebFetch, WebSearch | Request user approval on first use |
|
|
12
|
+
| 4: Explicit | Task | Only when user explicitly requests |
|
|
41
13
|
|
|
42
14
|
## File Access
|
|
43
15
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Write Access
|
|
52
|
-
```
|
|
53
|
-
✓ Source code in project
|
|
54
|
-
✓ New files in project
|
|
55
|
-
✗ Sensitive configs (.env, .git/config)
|
|
56
|
-
✗ Paths outside project
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Delete Access
|
|
60
|
-
```
|
|
61
|
-
✓ Temp files created by agent
|
|
62
|
-
✗ Existing files (without explicit request)
|
|
63
|
-
✗ Entire directories
|
|
64
|
-
```
|
|
16
|
+
| Operation | Allowed | Prohibited |
|
|
17
|
+
|-----------|---------|-----------|
|
|
18
|
+
| Read | All source, configs, docs | - |
|
|
19
|
+
| Write | Source code, new files in project | .env, .git/config, paths outside project |
|
|
20
|
+
| Delete | Temp files created by agent | Existing files (without request), entire directories |
|
|
65
21
|
|
|
66
22
|
## Permission Request Format
|
|
67
23
|
|
|
68
24
|
```
|
|
69
25
|
[Permission Request]
|
|
70
|
-
Action: {
|
|
71
|
-
Required: {tool/access needed}
|
|
72
|
-
Reason: {why needed}
|
|
73
|
-
Risk: Low / Medium / High
|
|
74
|
-
|
|
26
|
+
Action: {action} | Required: {tool} | Reason: {why} | Risk: Low/Medium/High
|
|
75
27
|
Approve?
|
|
76
28
|
```
|
|
77
29
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
1. Do not attempt action
|
|
82
|
-
2. Notify user of insufficient permission
|
|
83
|
-
3. Request permission or suggest alternative
|
|
84
|
-
```
|
|
30
|
+
On insufficient permission: do not attempt, notify user, suggest alternative.
|
|
@@ -1,69 +1,23 @@
|
|
|
1
1
|
# [MUST] Safety Rules
|
|
2
2
|
|
|
3
|
-
> **Priority**: MUST
|
|
4
|
-
> **On violation**: Stop immediately, report to user
|
|
3
|
+
> **Priority**: MUST | **ID**: R001
|
|
5
4
|
|
|
6
5
|
## Prohibited Actions
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
```
|
|
7
|
+
| Category | Prohibited |
|
|
8
|
+
|----------|-----------|
|
|
9
|
+
| Data | Expose API keys/secrets/passwords, collect PII without consent, log auth tokens |
|
|
10
|
+
| File System | Modify system files (/etc, /usr, /bin), delete outside project, modify .env/.git/config without approval |
|
|
11
|
+
| Commands | `rm -rf /` or broad deletes, shutdown/restart, sudo/su, network config changes |
|
|
12
|
+
| External | Access URLs without approval, send user data externally, download/execute unknown scripts |
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
[PROHIBITED]
|
|
19
|
-
- Modify system files (/etc, /usr, /bin)
|
|
20
|
-
- Delete files outside project
|
|
21
|
-
- Modify hidden configs (.env, .git/config) without approval
|
|
22
|
-
```
|
|
14
|
+
## Required Before Destructive Operations
|
|
23
15
|
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
[PROHIBITED]
|
|
27
|
-
- rm -rf / or broad delete commands
|
|
28
|
-
- System shutdown/restart
|
|
29
|
-
- Privilege escalation (sudo, su)
|
|
30
|
-
- Network configuration changes
|
|
31
|
-
```
|
|
16
|
+
Verify target, assess impact scope, check recoverability, get user approval.
|
|
32
17
|
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
[PROHIBITED]
|
|
36
|
-
- Access external URLs without approval
|
|
37
|
-
- Send user data externally
|
|
38
|
-
- Download and execute unknown scripts
|
|
39
|
-
```
|
|
18
|
+
## On Violation
|
|
40
19
|
|
|
41
|
-
## Required Actions
|
|
42
|
-
|
|
43
|
-
### Before Destructive Operations
|
|
44
|
-
```
|
|
45
|
-
[REQUIRED]
|
|
46
|
-
□ Verify target
|
|
47
|
-
□ Assess impact scope
|
|
48
|
-
□ Check recoverability
|
|
49
|
-
□ Get user approval
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### On Risk Detection
|
|
53
|
-
```
|
|
54
|
-
→ Stop immediately
|
|
55
|
-
→ Report risk
|
|
56
|
-
→ Wait for user instruction
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Violation Response
|
|
60
|
-
|
|
61
|
-
```
|
|
62
20
|
1. Stop all operations
|
|
63
21
|
2. Preserve current state
|
|
64
|
-
3. Report
|
|
65
|
-
- What was detected
|
|
66
|
-
- Why it's risky
|
|
67
|
-
- What action was taken
|
|
22
|
+
3. Report: what was detected, why it's risky, what action was taken
|
|
68
23
|
4. Wait for instructions
|
|
69
|
-
```
|