codingbuddy-rules 4.2.0 → 4.4.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.
@@ -37,7 +37,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
37
37
  "plan-mode": {
38
38
  "description": "PLAN mode - Analysis and planning without changes",
39
39
  "mode": "primary",
40
- "prompt": "{file:packages/rules/.ai-rules/agents/plan-mode.json}\n\n[OpenCode Override]\nMode: PLAN only. Always respond in Korean. Do NOT make any file changes. Focus on analysis and planning.",
40
+ "prompt": "{file:packages/rules/.ai-rules/agents/plan-mode.json}\n\n[OpenCode Override]\nMode: PLAN only. Do NOT make any file changes. Focus on analysis and planning. Follow languageInstruction from parse_mode response.",
41
41
  "permission": {
42
42
  "edit": "deny",
43
43
  "bash": {
@@ -51,7 +51,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
51
51
  "act-mode": {
52
52
  "description": "ACT mode - Full development with all tools",
53
53
  "mode": "primary",
54
- "prompt": "{file:packages/rules/.ai-rules/agents/act-mode.json}\n\n[OpenCode Override]\nMode: ACT. Always respond in Korean. Follow TDD workflow and code quality standards.",
54
+ "prompt": "{file:packages/rules/.ai-rules/agents/act-mode.json}\n\n[OpenCode Override]\nMode: ACT. Follow TDD workflow and code quality standards. Follow languageInstruction from parse_mode response.",
55
55
  "permission": {
56
56
  "edit": "allow",
57
57
  "bash": "allow"
@@ -60,7 +60,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
60
60
  "eval-mode": {
61
61
  "description": "EVAL mode - Code quality evaluation",
62
62
  "mode": "primary",
63
- "prompt": "{file:packages/rules/.ai-rules/agents/eval-mode.json}\n\n[OpenCode Override]\nMode: EVAL. Always respond in Korean. Provide evidence-based evaluation.",
63
+ "prompt": "{file:packages/rules/.ai-rules/agents/eval-mode.json}\n\n[OpenCode Override]\nMode: EVAL. Provide evidence-based evaluation. Follow languageInstruction from parse_mode response.",
64
64
  "permission": {
65
65
  "edit": "deny",
66
66
  "bash": {
@@ -74,7 +74,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
74
74
  "backend": {
75
75
  "description": "Backend development - Node.js, Python, Go, Java, Rust",
76
76
  "mode": "subagent",
77
- "prompt": "{file:packages/rules/.ai-rules/agents/backend-developer.json}\n\n[OpenCode Override]\nAlways respond in Korean. Follow TDD workflow and clean architecture.",
77
+ "prompt": "{file:packages/rules/.ai-rules/agents/backend-developer.json}\n\n[OpenCode Override]\nFollow TDD workflow and clean architecture. Follow languageInstruction from parse_mode response.",
78
78
  "permission": {
79
79
  "edit": "allow",
80
80
  "bash": "allow"
@@ -83,7 +83,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
83
83
  "architect": {
84
84
  "description": "Architecture and design patterns specialist",
85
85
  "mode": "subagent",
86
- "prompt": "{file:packages/rules/.ai-rules/agents/architecture-specialist.json}\n\n[OpenCode Override]\nAlways respond in Korean. Focus on layer boundaries and dependency direction.",
86
+ "prompt": "{file:packages/rules/.ai-rules/agents/architecture-specialist.json}\n\n[OpenCode Override]\nFocus on layer boundaries and dependency direction. Follow languageInstruction from parse_mode response.",
87
87
  "permission": {
88
88
  "edit": "deny",
89
89
  "bash": "ask"
@@ -92,7 +92,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
92
92
  "tester": {
93
93
  "description": "Test strategy and TDD specialist",
94
94
  "mode": "subagent",
95
- "prompt": "{file:packages/rules/.ai-rules/agents/test-strategy-specialist.json}\n\n[OpenCode Override]\nAlways respond in Korean. Enforce 90%+ coverage and no-mocking principle.",
95
+ "prompt": "{file:packages/rules/.ai-rules/agents/test-strategy-specialist.json}\n\n[OpenCode Override]\nEnforce 90%+ coverage and no-mocking principle. Follow languageInstruction from parse_mode response.",
96
96
  "permission": {
97
97
  "edit": "allow",
98
98
  "bash": "allow"
@@ -101,7 +101,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
101
101
  "security": {
102
102
  "description": "Security audit - OAuth, JWT, XSS/CSRF protection",
103
103
  "mode": "subagent",
104
- "prompt": "{file:packages/rules/.ai-rules/agents/security-specialist.json}\n\n[OpenCode Override]\nAlways respond in Korean. Follow OWASP guidelines.",
104
+ "prompt": "{file:packages/rules/.ai-rules/agents/security-specialist.json}\n\n[OpenCode Override]\nFollow OWASP guidelines. Follow languageInstruction from parse_mode response.",
105
105
  "permission": {
106
106
  "edit": "deny",
107
107
  "bash": "ask"
@@ -110,7 +110,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
110
110
  "a11y": {
111
111
  "description": "Accessibility - WCAG 2.1 AA compliance",
112
112
  "mode": "subagent",
113
- "prompt": "{file:packages/rules/.ai-rules/agents/accessibility-specialist.json}\n\n[OpenCode Override]\nAlways respond in Korean. Verify ARIA and keyboard navigation.",
113
+ "prompt": "{file:packages/rules/.ai-rules/agents/accessibility-specialist.json}\n\n[OpenCode Override]\nVerify ARIA and keyboard navigation. Follow languageInstruction from parse_mode response.",
114
114
  "permission": {
115
115
  "edit": "deny",
116
116
  "bash": "ask"
@@ -119,7 +119,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
119
119
  "performance": {
120
120
  "description": "Performance optimization specialist",
121
121
  "mode": "subagent",
122
- "prompt": "{file:packages/rules/.ai-rules/agents/performance-specialist.json}\n\n[OpenCode Override]\nAlways respond in Korean. Focus on bundle size and runtime optimization.",
122
+ "prompt": "{file:packages/rules/.ai-rules/agents/performance-specialist.json}\n\n[OpenCode Override]\nFocus on bundle size and runtime optimization. Follow languageInstruction from parse_mode response.",
123
123
  "permission": {
124
124
  "edit": "deny",
125
125
  "bash": "ask"
@@ -130,12 +130,17 @@ Update your configuration file (`.opencode.json` or `crush.json`):
130
130
  "mcp": {
131
131
  "codingbuddy": {
132
132
  "type": "local",
133
- "command": ["npx", "codingbuddy@latest", "mcp"]
133
+ "command": ["npx", "codingbuddy@latest", "mcp"],
134
+ "env": {
135
+ "CODINGBUDDY_PROJECT_ROOT": "/absolute/path/to/your/project"
136
+ }
134
137
  }
135
138
  }
136
139
  }
137
140
  ```
138
141
 
142
+ > **Note:** `auto-mode` does not require a separate agent entry. AUTO mode is triggered by prefixing any message with the `AUTO` keyword while using the `plan-mode` agent (see [AUTO Mode](#auto-mode) section below).
143
+
139
144
  ### 2. Agent System Mapping
140
145
 
141
146
  | Codingbuddy Agent | OpenCode Agent | Purpose |
@@ -143,6 +148,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
143
148
  | **plan-mode.json** | `plan-mode` | PLAN mode workflow (delegates to frontend-developer) |
144
149
  | **act-mode.json** | `act-mode` | ACT mode workflow (delegates to frontend-developer) |
145
150
  | **eval-mode.json** | `eval-mode` | EVAL mode workflow (delegates to code-reviewer) |
151
+ | **auto-mode.json** | N/A (keyword-triggered) | AUTO mode workflow (autonomous PLAN→ACT→EVAL cycle) |
146
152
  | **frontend-developer.json** | N/A (delegate) | Primary development implementation |
147
153
  | **backend-developer.json** | `backend` | Backend development (Node.js, Python, Go, Java, Rust) |
148
154
  | **code-reviewer.json** | N/A (delegate) | Code quality evaluation implementation |
@@ -154,7 +160,7 @@ Update your configuration file (`.opencode.json` or `crush.json`):
154
160
 
155
161
  #### Mode Agent vs Specialist Agent
156
162
 
157
- - **Mode Agents** (`plan-mode`, `act-mode`, `eval-mode`): Workflow orchestrators that delegate to appropriate implementation agents
163
+ - **Mode Agents** (`plan-mode`, `act-mode`, `eval-mode`, `auto-mode`): Workflow orchestrators that delegate to appropriate implementation agents
158
164
  - **Specialist Agents** (`architect`, `security`, etc.): Domain-specific expertise for specialized tasks
159
165
  - **Delegate Agents** (`frontend-developer`, `code-reviewer`): Implementation agents that Mode Agents delegate to
160
166
 
@@ -170,19 +176,79 @@ Add to your MCP configuration:
170
176
  "codingbuddy": {
171
177
  "type": "local",
172
178
  "command": ["npx", "codingbuddy@latest", "mcp"],
173
- "env": ["NODE_ENV=production"]
179
+ "env": {
180
+ "CODINGBUDDY_PROJECT_ROOT": "/absolute/path/to/your/project"
181
+ }
174
182
  }
175
183
  }
176
184
  }
177
185
  ```
178
186
 
187
+ > **Important:** OpenCode/Crush의 `roots/list` MCP capability 지원 여부는 미확인입니다.
188
+ > `CODINGBUDDY_PROJECT_ROOT` 없이는 서버가 프로젝트의 `codingbuddy.config.json`을 찾지 못하여
189
+ > `language` 등 설정이 기본값으로 동작합니다. 항상 이 환경변수를 프로젝트의 절대 경로로 설정하세요.
190
+
179
191
  #### Available MCP Tools
180
192
 
181
- Once connected, you can use:
193
+ Once connected, you can use the following tools (17 tools total):
194
+
195
+ **Core Workflow:**
196
+ - `parse_mode`: Parse PLAN/ACT/EVAL/AUTO workflow mode (includes dynamic language instructions)
197
+ - `update_context`: Persist decisions and notes to `docs/codingbuddy/context.md` (**mandatory** at mode completion)
198
+ - `read_context`: Read current context document
199
+ - `cleanup_context`: Manually trigger context document cleanup (auto-triggered when size exceeds threshold)
200
+
201
+ **Analysis & Planning:**
182
202
  - `search_rules`: Query AI rules and guidelines
203
+ - `analyze_task`: Pre-planning task analysis with risk assessment and specialist recommendations
204
+ - `generate_checklist`: Contextual checklists (security, accessibility, performance, testing)
205
+
206
+ **Agent Dispatch:**
183
207
  - `get_agent_details`: Get specialist agent information
208
+ - `get_agent_system_prompt`: Get complete system prompt for a specialist agent
209
+ - `dispatch_agents`: Get Task tool-ready dispatch parameters for agents
210
+ - `prepare_parallel_agents`: Ready-to-use prompts for parallel specialist agents
211
+
212
+ **Skills:**
184
213
  - `recommend_skills`: Get skill recommendations based on prompt
185
- - `parse_mode`: Parse PLAN/ACT/EVAL workflow mode (includes dynamic language instructions)
214
+ - `get_skill`: Load full skill content by name
215
+ - `list_skills`: List all available skills with optional filtering
216
+
217
+ **Configuration:**
218
+ - `get_project_config`: Get project configuration (tech stack, architecture, language)
219
+ - `get_code_conventions`: Get project code conventions
220
+ - `suggest_config_updates`: Analyze project and suggest config updates based on detected changes
221
+
222
+ #### Context Persistence Workflow
223
+
224
+ The `update_context` tool persists PLAN/ACT/EVAL decisions to `docs/codingbuddy/context.md`. This is **mandatory** — without it, context is lost between mode switches and context compaction.
225
+
226
+ **Workflow:**
227
+
228
+ ```
229
+ PLAN mode:
230
+ parse_mode → (automatically resets context document)
231
+ ... do planning work ...
232
+ update_context({ mode: "PLAN", task: "...", decisions: [...], notes: [...] })
233
+
234
+ ACT mode:
235
+ parse_mode → (reads existing context, appends new section)
236
+ ... review previous PLAN decisions from contextDocument ...
237
+ ... implement changes ...
238
+ update_context({ mode: "ACT", progress: [...], notes: [...] })
239
+
240
+ EVAL mode:
241
+ parse_mode → (reads existing context, appends new section)
242
+ ... review PLAN decisions + ACT progress from contextDocument ...
243
+ ... evaluate quality ...
244
+ update_context({ mode: "EVAL", findings: [...], recommendations: [...] })
245
+ ```
246
+
247
+ **Key Rules:**
248
+ - `parse_mode` automatically manages the context file (reset in PLAN, append in ACT/EVAL)
249
+ - You **must** call `update_context` before completing each mode
250
+ - The context file survives context compaction — it is the only persistent memory across modes
251
+ - Use `read_context` to check current context state at any time
186
252
 
187
253
  #### Dynamic Language Configuration
188
254
 
@@ -238,7 +304,7 @@ The `parse_mode` tool now returns additional Mode Agent information and dynamic
238
304
  **New Fields:**
239
305
  - `language`: Language code from codingbuddy.config.json
240
306
  - `languageInstruction`: Formatted instruction text for AI assistants (🆕)
241
- - `agent`: Mode Agent name (plan-mode, act-mode, eval-mode)
307
+ - `agent`: Mode Agent name (plan-mode, act-mode, eval-mode, auto-mode)
242
308
  - `delegates_to`: Which specialist agent the Mode Agent delegates to
243
309
  - `delegate_agent_info`: Detailed information about the delegate agent (optional)
244
310
 
@@ -388,18 +454,30 @@ For Crush users, additional features available:
388
454
  }
389
455
  ```
390
456
 
391
- ### Skills System
457
+ ### Skills Integration
458
+
459
+ Crush supports skills through two mechanisms:
460
+
461
+ 1. **Native Discovery**: Place skills in `~/.config/crush/skills/` or configure additional paths via `options.skills_paths`. Crush automatically injects available skills into the system prompt.
462
+
463
+ 2. **MCP Tools (Recommended)**: Use codingbuddy MCP server's skill tools for cross-platform, programmatic skill access:
464
+ - `recommend_skills` — prompt-based skill recommendations
465
+ - `get_skill` — load full skill content by name
466
+ - `list_skills` — list all available skills
467
+
468
+ **Configuration:**
392
469
  ```json
393
470
  {
394
471
  "options": {
395
472
  "skills_paths": [
396
- "packages/rules/.ai-rules/skills",
397
- "~/.config/crush/skills"
473
+ "packages/rules/.ai-rules/skills"
398
474
  ]
399
475
  }
400
476
  }
401
477
  ```
402
478
 
479
+ > **Note:** There is no `/skill` slash command. Skills are activated through natural language or via MCP tools. See [opencode-skills.md](opencode-skills.md) for detailed usage patterns.
480
+
403
481
  ## Benefits
404
482
 
405
483
  ### ✅ Advantages
@@ -409,14 +487,14 @@ For Crush users, additional features available:
409
487
  - **Agent-based Workflow**: Clear separation of concerns
410
488
  - **Consistent Standards**: Same rules across all AI tools
411
489
  - **MCP Integration**: Access to specialized tools and knowledge
412
- - **Korean Language Support**: Full Korean responses configured
490
+ - **Dynamic Language Support**: Configurable language via codingbuddy.config.json (ko, en, ja, zh, es, etc.)
413
491
 
414
492
  ### ✅ Key Features
415
493
 
416
494
  - **Dynamic Model Switching**: Change AI models during session
417
495
  - **Advanced Permissions**: Fine-grained tool access control
418
496
  - **Auto-initialization**: Project-specific context loading
419
- - **File Reference System**: `{file:path}` syntax for instructions
497
+ - **File Reference System**: `{file:path}` syntax for instructions — *unverified in Crush*
420
498
 
421
499
  ## Troubleshooting
422
500
 
@@ -441,9 +519,20 @@ npx codingbuddy@latest --version
441
519
  npx codingbuddy@latest mcp
442
520
  ```
443
521
 
444
- **3. Agent Not Responding in Korean**
445
- - Verify `[OpenCode Override]` includes Korean language setting
446
- - Check agent prompt includes language instruction
522
+ **3. Agent Not Responding in Configured Language**
523
+ - Verify `codingbuddy.config.json` has the correct `language` setting
524
+ - Call `parse_mode` to receive dynamic `languageInstruction`
525
+ - Ensure agent prompts do NOT hardcode a language — use `languageInstruction` from `parse_mode`
526
+
527
+ **4. Project Config Not Detected**
528
+ ```bash
529
+ # CODINGBUDDY_PROJECT_ROOT가 MCP env에 설정되어 있는지 확인
530
+ # 이 환경변수 없이는 codingbuddy.config.json을 찾지 못합니다
531
+ # .opencode.json 또는 crush.json의 mcp 섹션에 추가:
532
+ "env": {
533
+ "CODINGBUDDY_PROJECT_ROOT": "/absolute/path/to/your/project"
534
+ }
535
+ ```
447
536
 
448
537
  ### Migration from OpenCode to Crush
449
538
 
@@ -452,6 +541,21 @@ npx codingbuddy@latest mcp
452
541
  3. **Install Crush**: `brew install charmbracelet/tap/crush`
453
542
  4. **Migrate sessions**: Export/import session data
454
543
 
544
+ ## Verification Status
545
+
546
+ | Feature | Status | Notes |
547
+ |---------|--------|-------|
548
+ | Agent configuration (plan/act/eval-mode) | ✅ Verified | Agent JSON files exist at expected paths |
549
+ | MCP server connection | ✅ Verified | `npx codingbuddy@latest mcp` works |
550
+ | `parse_mode` with dynamic language | ✅ Verified | Returns `languageInstruction` field |
551
+ | `update_context` persistence | ✅ Verified | Writes to `docs/codingbuddy/context.md` |
552
+ | `{file:path}` syntax in prompts | ⚠️ Unverified | Not tested in live OpenCode/Crush environment |
553
+ | Custom Commands (`~/.config/opencode/commands/`) | ⚠️ Unverified | Command syntax may differ in Crush |
554
+ | AUTO mode single-agent execution | ⚠️ Unverified | Requires manual agent switching for permissions |
555
+ | Crush `skills_paths` configuration | ⚠️ Unverified | Based on Crush documentation, not tested |
556
+ | LSP integration | ⚠️ Unverified | Configuration format based on Crush docs |
557
+ | Multi-model support | ⚠️ Unverified | Configuration format based on Crush docs |
558
+
455
559
  ## Maintenance
456
560
 
457
561
  ### Updating Rules
@@ -472,20 +576,112 @@ npx codingbuddy@latest mcp
472
576
 
473
577
  ## Advanced Usage
474
578
 
475
- ### Parallel Agent Workflows
579
+ ### Specialist Agents Execution
476
580
 
477
- ```bash
478
- # Terminal 1: Planning
479
- opencode --agent plan-mode
480
- Create a plan for me
581
+ OpenCode/Crush does not have a `Task` tool for spawning background subagents like Claude Code. When `parse_mode` returns `parallelAgentsRecommendation`, execute specialists **sequentially** using the `/agent <name>` command.
481
582
 
482
- # Terminal 2: Implementation
483
- opencode --agent act-mode
484
- ACT
583
+ #### Auto-Detection
485
584
 
486
- # Terminal 3: Review
487
- opencode --agent eval-mode
488
- EVAL
585
+ The MCP server automatically detects OpenCode/Crush as the client and returns a sequential execution hint in `parallelAgentsRecommendation.hint`. No manual configuration is needed.
586
+
587
+ #### Sequential Workflow
588
+
589
+ ```
590
+ parse_mode returns parallelAgentsRecommendation
591
+
592
+ For each recommended specialist (sequentially):
593
+ /agent <specialist-name>
594
+ Perform specialist analysis
595
+ Record findings
596
+
597
+ /agent <current-mode-agent> (e.g., /agent eval-mode — return to mode agent)
598
+ Consolidate all findings
599
+ ```
600
+
601
+ #### Example (EVAL mode)
602
+
603
+ ```
604
+ parse_mode({ prompt: "EVAL review auth implementation" })
605
+ → parallelAgentsRecommendation:
606
+ specialists: ["security-specialist", "accessibility-specialist", "performance-specialist"]
607
+
608
+ Sequential analysis:
609
+ 1. /agent security → security-specialist: 🔒 Analyze from security perspective, record findings
610
+ 2. /agent a11y → accessibility-specialist: ♿ Analyze from accessibility perspective, record findings
611
+ 3. /agent performance → performance-specialist: ⚡ Analyze from performance perspective, record findings
612
+ 4. /agent eval-mode → Return to EVAL mode
613
+
614
+ Present: Consolidated findings from all 3 specialists
615
+ ```
616
+
617
+ #### Consuming dispatchReady from parse_mode
618
+
619
+ When `parse_mode` returns `dispatchReady`, the specialist system prompts are pre-built. In OpenCode, use the `dispatchParams.prompt` field as analysis context (ignore `subagent_type` — it is Claude Code specific):
620
+
621
+ ```
622
+ parse_mode returns dispatchReady
623
+
624
+ dispatchReady.primaryAgent
625
+ → Use as the main analysis context
626
+
627
+ dispatchReady.parallelAgents[] (if present)
628
+ → For each: the dispatchParams.prompt field contains the specialist's system prompt.
629
+ Switch via /agent, apply the prompt as analysis context, record findings
630
+
631
+ Consolidate all findings
632
+ ```
633
+
634
+ #### Specialist Agent Mapping
635
+
636
+ | parallelAgentsRecommendation | OpenCode Agent | Icon |
637
+ |------------------------------|----------------|------|
638
+ | security-specialist | `security` | 🔒 |
639
+ | accessibility-specialist | `a11y` | ♿ |
640
+ | performance-specialist | `performance` | ⚡ |
641
+ | architecture-specialist | `architect` | 🏛️ |
642
+ | test-strategy-specialist | `tester` | 🧪 |
643
+ | code-quality-specialist | N/A (inline) | 📏 |
644
+ | event-architecture-specialist | N/A (inline) | 📨 |
645
+ | integration-specialist | N/A (inline) | 🔗 |
646
+ | observability-specialist | N/A (inline) | 📊 |
647
+ | migration-specialist | N/A (inline) | 🔄 |
648
+ | documentation-specialist | N/A (inline) | 📚 |
649
+ | seo-specialist | N/A (inline) | 🔍 |
650
+ | i18n-specialist | N/A (inline) | 🌐 |
651
+
652
+ > **Note:** Specialists without a dedicated OpenCode agent (e.g., `code-quality-specialist`) should be analyzed inline within the current agent context using the specialist's system prompt from `prepare_parallel_agents`.
653
+ >
654
+ > **Fallback:** If `dispatchReady` is not present in the `parse_mode` response, call `prepare_parallel_agents` MCP tool to retrieve specialist system prompts.
655
+
656
+ #### Visibility Pattern
657
+
658
+ When executing sequential specialists, display clear status messages:
659
+
660
+ **Start:**
661
+ ```
662
+ 🔄 Executing N specialist analyses sequentially...
663
+ → 🔒 security
664
+ → ♿ a11y
665
+ → ⚡ performance
666
+ ```
667
+
668
+ **During:**
669
+ ```
670
+ 🔍 Analyzing from 🔒 security perspective... (1/3)
671
+ ```
672
+
673
+ **Completion:**
674
+ ```
675
+ 📊 Specialist Analysis Complete:
676
+
677
+ 🔒 Security:
678
+ [findings summary]
679
+
680
+ ♿ Accessibility:
681
+ [findings summary]
682
+
683
+ ⚡ Performance:
684
+ [findings summary]
489
685
  ```
490
686
 
491
687
  ### Custom Agent Creation
@@ -559,7 +755,7 @@ Use the `AUTO` keyword (or localized versions) at the start of your message:
559
755
  | Korean | `자동` |
560
756
  | Japanese | `自動` |
561
757
  | Chinese | `自动` |
562
- | Spanish | `AUTOMATICO` |
758
+ | Spanish | `AUTOMÁTICO` |
563
759
 
564
760
  ### Example Usage
565
761
 
@@ -580,21 +776,29 @@ AUTO Build a new user authentication feature
580
776
 
581
777
  ### OpenCode Agent Integration
582
778
 
583
- AUTO mode automatically switches between agents:
779
+ AUTO mode describes an autonomous PLAN→ACT→EVAL cycle. However, agent switching behavior differs by platform:
780
+
781
+ **⚠️ Limitation:** OpenCode/Crush does not support automatic agent switching. The `/agent <name>` command requires manual user input. Therefore, AUTO mode in OpenCode works in one of two ways:
584
782
 
783
+ **1. Single-Agent AUTO (Recommended):** Stay in the `plan-mode` agent and prefix your message with `AUTO`. The AI handles all phases within a single agent context, using `parse_mode` for mode-specific rules at each phase.
784
+
785
+ ```
786
+ /agent plan-mode
787
+ AUTO Build a new user authentication feature
788
+ → AI internally cycles: PLAN → ACT → EVAL using parse_mode
789
+ → Note: File edits require the user to approve permission prompts
585
790
  ```
586
- AUTO detected
587
-
588
- plan-mode agent (PLAN phase)
589
-
590
- act-mode agent (ACT phase)
591
-
592
- eval-mode agent (EVAL phase)
593
-
594
- [Check quality criteria]
595
-
596
- Loop or Exit
791
+
792
+ **2. Manual Agent Switching:** The user manually switches agents between phases:
793
+
597
794
  ```
795
+ /agent plan-mode → AUTO Build auth feature (PLAN phase starts)
796
+ /agent act-mode → Continue (ACT phase — full edit/bash permissions)
797
+ /agent eval-mode → Continue (EVAL phase — read-only evaluation)
798
+ → Repeat if quality criteria not met
799
+ ```
800
+
801
+ **Recommended approach:** Use Single-Agent AUTO for simplicity. For strict permission control, use Manual Agent Switching.
598
802
 
599
803
  ### Configuration
600
804