Browse Source

Merge main into dev: sync subagent invocation improvements and context guide

- Merge improved subagent invocation syntax from main
- Add comprehensive OpenCode context reference cheatsheet
- Resolve conflicts in .gitignore (keep both eval results and tasks)
- Update opencoder.md with correct task() invocation patterns
darrenhinde 8 months ago
parent
commit
c19d8c5480
4 changed files with 1825 additions and 16 deletions
  1. 2 2
      .gitignore
  2. 21 13
      .opencode/agent/opencoder.md
  3. 1801 0
      dev/ai-tools/opencode/cheatsheet-context-symbols.md
  4. 1 1
      registry.json

+ 2 - 2
.gitignore

@@ -202,5 +202,5 @@ temp/
 evals/results/*
 evals/results/*
 !evals/results/.gitkeep
 !evals/results/.gitkeep
 
 
-# Task tracking (temporary)
-tasks/
+# User-generated task files
+tasks/

+ 21 - 13
.opencode/agent/opencoder.md

@@ -1,5 +1,5 @@
 ---
 ---
-description: "Specialized development agent for complex coding, architecture, and multi-file refactoring"
+description: "Multi-language implementation agent for modular and functional development"
 mode: primary
 mode: primary
 temperature: 0.1
 temperature: 0.1
 tools:
 tools:
@@ -29,16 +29,24 @@ permissions:
     ".git/**": "deny"
     ".git/**": "deny"
 ---
 ---
 
 
-# OpenCoder - Specialized Development Agent
+# Development Agent
 Always start with phrase "DIGGING IN..."
 Always start with phrase "DIGGING IN..."
 
 
-**Your expert development partner for complex coding tasks**
+## Available Subagents (invoke via task tool)
 
 
-You have access to the following subagents: 
-- `@task-manager`
-- `@subagents/tester` @tester
-- `@subagents/documentation` @documentation
-- `@subagents/coder-agent` @coder-agent
+- `subagents/core/task-manager` - Feature breakdown (4+ files, >60 min)
+- `subagents/code/coder-agent` - Simple implementations
+- `subagents/code/tester` - Testing after implementation
+- `subagents/core/documentation` - Documentation generation
+
+**Invocation syntax**:
+```javascript
+task(
+  subagent_type="subagents/core/task-manager",
+  description="Brief description",
+  prompt="Detailed instructions for the subagent"
+)
+```
 
 
 Focus:
 Focus:
 You are a coding specialist focused on writing clean, maintainable, and scalable code. Your role is to implement applications following a strict plan-and-approve workflow using modular and functional programming principles.
 You are a coding specialist focused on writing clean, maintainable, and scalable code. Your role is to implement applications following a strict plan-and-approve workflow using modular and functional programming principles.
@@ -67,14 +75,14 @@ Code Standards
 
 
 Subtask Strategy
 Subtask Strategy
 
 
-- When a feature spans multiple modules or is estimated > 60 minutes, delegate planning to `@task-manager` to generate atomic subtasks under `tasks/subtasks/{feature}/` using the `{sequence}-{task-description}.md` pattern and a feature `README.md` index.
+- When a feature spans multiple modules or is estimated > 60 minutes, delegate planning to `subagents/core/task-manager` to generate atomic subtasks under `tasks/subtasks/{feature}/` using the `{sequence}-{task-description}.md` pattern and a feature `README.md` index.
 - After subtask creation, implement strictly one subtask at a time; update the feature index status between tasks.
 - After subtask creation, implement strictly one subtask at a time; update the feature index status between tasks.
 
 
 Mandatory Workflow
 Mandatory Workflow
 Phase 1: Planning (REQUIRED)
 Phase 1: Planning (REQUIRED)
 
 
 Once planning is done, we should make tasks for the plan once plan is approved. 
 Once planning is done, we should make tasks for the plan once plan is approved. 
-So pass it to the `@task-manager` to make tasks for the plan.
+So pass it to the `subagents/core/task-manager` to make tasks for the plan.
 
 
 ALWAYS propose a concise step-by-step implementation plan FIRST
 ALWAYS propose a concise step-by-step implementation plan FIRST
 Ask for user approval before any implementation
 Ask for user approval before any implementation
@@ -90,7 +98,7 @@ After each increment:
 - Run build checks
 - Run build checks
 - Execute relevant tests
 - Execute relevant tests
 
 
-For simple tasks, use the `@subagents/coder-agent` to implement the code to save time.
+For simple tasks, use the `subagents/code/coder-agent` to implement the code to save time.
 
 
 Use Test-Driven Development when tests/ directory is available
 Use Test-Driven Development when tests/ directory is available
 Request approval before executing any risky bash commands
 Request approval before executing any risky bash commands
@@ -98,7 +106,7 @@ Request approval before executing any risky bash commands
 Phase 3: Completion
 Phase 3: Completion
 When implementation is complete and user approves final result:
 When implementation is complete and user approves final result:
 
 
-Emit handoff recommendations for write-test and documentation agents
+Emit handoff recommendations for `subagents/code/tester` and `subagents/core/documentation` agents
 
 
 Response Format
 Response Format
 For planning phase:
 For planning phase:
@@ -115,7 +123,7 @@ Copy## Implementing Step [X]: [Description]
 Remember: Plan first, get approval, then implement one step at a time. Never implement everything at once.
 Remember: Plan first, get approval, then implement one step at a time. Never implement everything at once.
 Handoff:
 Handoff:
 Once completed the plan and user is happy with final result then:
 Once completed the plan and user is happy with final result then:
-- Emit follow-ups for `@tester` to run tests and find any issues. 
+- Emit follow-ups for `subagents/code/tester` to run tests and find any issues. 
 - Update the Task you just completed and mark the completed sections in the task as done with a checkmark.
 - Update the Task you just completed and mark the completed sections in the task as done with a checkmark.
 
 
 
 

+ 1801 - 0
dev/ai-tools/opencode/cheatsheet-context-symbols.md

@@ -0,0 +1,1801 @@
+# OpenCode Context Reference Cheat Sheet
+
+> **Purpose**: Master reference for defining files, agents, and tools in prompts that work seamlessly with OpenCode's automatic tool resolution.
+
+---
+
+## 🎯 Quick Reference Table
+
+| Type | Syntax | Auto-Loaded? | AI Action Required | When to Use |
+|------|--------|--------------|-------------------|-------------|
+| **File (Initial)** | `@file.md` | ✅ Yes | ❌ No | User's initial prompt |
+| **File (Nested)** | `@file.md` | ❌ No | ✅ Yes (read_file) | Inside loaded files |
+| **Directory** | `@src/components/` | ✅ Yes | ❌ No | Folder context |
+| **Sub-Agent (Context)** | `@agent-name` | ✅ Yes* | ❌ No | Reference agent info |
+| **Sub-Agent (Invoke)** | `task(subagent_type="name")` | ❌ No | ✅ Yes (task tool) | Delegate tasks |
+| **Shell Command** | `` !`command` `` | ✅ Yes | ❌ No | Inline command output |
+| **Config File** | `instructions: []` in `opencode.json` | ✅ Yes | ❌ No | Always-needed context |
+| **Agent (Markdown)** | `.opencode/agent/**/*.md` | ✅ Auto-registered | ❌ No | Define agents |
+
+---
+
+
+## 🔑 Key Takeaways
+
+1. **@ in agent markdown** = Just informational text
+2. **@ in user prompt** = OpenCode processes it (loads files/metadata)
+3. **To invoke agents** = Always use `task` tool
+4. **Agent names** = Full path from `.opencode/agent/` directory
+5. **Don't use @ to list agents** in your prompt - it's confusing!
+
+The `@` symbol only has special meaning in **USER PROMPTS**, not in **AGENT SYSTEM PROMPTS**.
+
+------
+
+## 🔧 Shell Commands
+
+### Inline Shell Commands (Automatic Execution)
+
+Use the `` !`command` `` syntax to execute commands and inline their output into prompts:
+
+```markdown
+# Example: Include git information
+Current branch: !`git branch --show-current`
+Recent commits: !`git log --oneline -5`
+
+# Example: Include system information  
+Node version: !`node --version`
+Available memory: !`free -h | grep Mem`
+
+# Example: Include file contents
+Database schema: !`cat schema.sql`
+
+# Example: Include directory structure
+Project structure:
+!`tree -L 2 -I 'node_modules|dist'`
+```
+
+**How it works:**
+- ✅ Commands execute when prompt is processed
+- ✅ Output is inserted into the prompt text
+- ✅ Great for dynamic context (git status, file lists, system info)
+- ⚠️ Commands run in shell with current working directory
+
+### Shell Command Patterns
+
+#### Git Context
+
+```markdown
+## Current Work Context
+
+Branch: !`git branch --show-current`
+Modified files: !`git status --short`
+Last commit: !`git log -1 --pretty=format:'%h - %s'`
+Uncommitted changes:
+!`git diff --stat`
+```
+
+#### Project Structure
+
+```markdown
+## Project Layout
+
+!`find src -type f -name '*.ts' | head -20`
+
+## Component Structure  
+
+!`tree src/components -L 2`
+```
+
+#### Environment Information
+
+```markdown
+## Environment
+
+Node: !`node --version`
+npm: !`npm --version`
+OS: !`uname -a`
+```
+
+#### File Content Snippets
+
+```markdown
+## Configuration
+
+Current eslint rules:
+!`cat .eslintrc.json`
+
+Package scripts:
+!`cat package.json | jq .scripts`
+```
+
+### When to Use Shell Commands vs Tools
+
+| Scenario | Use Shell `!` Syntax | Use `run_terminal_cmd` Tool |
+|----------|---------------------|---------------------------|
+| **Static context in prompt** | ✅ | ❌ |
+| **Git information** | ✅ | ❌ |
+| **File contents** | ✅ | ❌ |
+| **Interactive AI execution** | ❌ | ✅ |
+| **Based on AI decisions** | ❌ | ✅ |
+| **Build/test commands** | ❌ | ✅ |
+| **Requires error handling** | ❌ | ✅ |
+
+---
+
+## 📁 File References
+
+### Initial Prompt (Automatic)
+When **you** type this in your prompt:
+
+```markdown
+Follow guidelines in @GUIDELINES.md
+Use patterns from @src/patterns/
+```
+
+**OpenCode automatically:**
+- ✅ Reads `GUIDELINES.md`
+- ✅ Lists `src/patterns/` directory
+- ✅ Attaches content to AI context
+- ❌ Does NOT read nested @ references inside these files
+
+### Nested References (Requires AI Action)
+
+When `GUIDELINES.md` contains:
+
+```markdown
+Also see @CODE_STYLE.md and @TESTING.md
+```
+
+**OpenCode does:**
+- ❌ Does NOT automatically read these
+- ✅ AI sees them as plain text
+
+**To make AI read them, use explicit instructions:**
+
+```markdown
+# GUIDELINES.md
+
+⚠️ **CRITICAL**: Before proceeding, read these files using read_file:
+
+1. @CODE_STYLE.md - Coding standards (READ FIRST)
+2. @TESTING.md - Testing patterns (READ FIRST)  
+3. @ARCHITECTURE.md - System design (READ FIRST)
+
+[rest of your guidelines...]
+```
+
+**Key phrases that work:**
+- ✅ `READ FIRST`
+- ✅ `use read_file tool`
+- ✅ `CRITICAL: Read these files`
+- ✅ `Load immediately before proceeding`
+
+---
+
+## 🤖 Sub-Agent References
+
+### ⚠️ CRITICAL: Agent Context vs Agent Invocation
+
+**IMPORTANT DISTINCTION: Agent Files vs Agent Names**
+
+#### Understanding the Difference
+
+**Agent File** (Documentation):
+- Path: `.opencode/agents/subagents/core/taskmanager.md`
+- This is a MARKDOWN FILE describing the agent
+- Use `@.opencode/agents/subagents/core/taskmanager.md` to load file content
+- Result: Loads documentation/instructions as text
+
+**Agent Name** (System Registration):
+- Name: `taskmanager` (registered in OpenCode)
+- This is the actual AGENT that can execute tasks
+- Use `task(subagent_type="taskmanager", ...)` to invoke
+- Result: Agent runs and performs work
+
+#### Scenario 1: Using `@agent-name` (USUALLY NOT RECOMMENDED)
+When you use `@agent-name` in **your initial prompt**:
+
+```markdown
+Use @reviewer agent for code review
+```
+
+**What happens:**
+1. ✅ OpenCode checks if it's a file at that path
+2. ❌ File doesn't exist → Checks if it's a registered agent
+3. ✅ If agent exists: Attaches agent **metadata** as context (name, description, tools)
+4. ❌ Does **NOT invoke/run** the agent
+5. ⚠️ This loads agent info but doesn't execute anything
+
+**Result:** AI knows the agent exists but doesn't execute it.
+
+**When to use:** Rarely needed. Only if you want to reference agent capabilities in context.
+
+#### Scenario 2: Agent Invocation (RECOMMENDED)
+To actually **run** an agent and execute tasks:
+
+```javascript
+// AI must explicitly call the task tool
+task(
+  subagent_type="reviewer",
+  description="Review code",
+  prompt="Review the auth implementation for security issues"
+)
+```
+
+**Result:** Agent **executes** and returns results.
+
+**When to use:** Always - this is how you actually invoke agents.
+
+#### Scenario 3: Loading Agent Documentation Files
+If you have agent documentation files:
+
+```markdown
+# Initial prompt
+Follow guidelines in @.opencode/agents/subagents/core/taskmanager.md
+```
+
+**What happens:**
+1. ✅ Loads the **file** content as context
+2. ❌ Does NOT invoke the agent
+3. ✅ Good for loading agent usage instructions
+
+**When to use:** When you want to load documentation about how to use agents.
+
+---
+
+### Best Practice: Clear Agent Instructions
+
+**❌ DON'T write this (confusing - uses @ for agents):**
+```markdown
+Use @reviewer to review code
+Review with @taskmanager agent
+```
+**Problems:**
+- Loads agent metadata, doesn't invoke
+- AI might be confused about how to use it
+- Mixing file syntax with agent invocation
+
+**✅ DO write this (clear and explicit):**
+
+**Option 1: If you have agent documentation files**
+```markdown
+# Load agent documentation (file)
+@.opencode/agents/subagents/core/taskmanager.md
+
+# Then instruct AI how to invoke (not using @)
+**Agent: `taskmanager`**
+- Purpose: Task planning and breakdown
+- Invoke with: task(subagent_type="taskmanager", description="Plan X", prompt="Break down feature Y")
+```
+
+**Option 2: Direct invocation instructions (no @ at all)**
+```markdown
+**Agent: `reviewer`** - Code review agent
+- Purpose: Review code for quality and security
+- When: After implementing features
+- Invoke with: task(subagent_type="reviewer", description="Review X", prompt="Review Y for Z issues")
+
+**DO NOT use @reviewer** - This loads metadata, not invocation
+**ALWAYS use task tool** - This actually runs the agent
+```
+
+---
+
+### Listing Sub-Agents
+
+```markdown
+# Available Sub-Agents
+
+⚠️ **IMPORTANT**: These agents are NOT loaded as context. You MUST invoke them using the `task` tool:
+
+## Code Agents
+
+**Agent: `tester`** (DO NOT use @tester as context reference)
+- **Purpose**: Test generation and execution
+- **When to invoke**: After implementing features, before commits
+- **Tool call**: 
+  ```javascript
+  task(
+    subagent_type="tester",
+    description="Test auth",
+    prompt="Write comprehensive tests for auth module with >80% coverage"
+  )
+  ```
+
+**Agent: `reviewer`** (DO NOT use @reviewer as context reference)
+- **Purpose**: Code review and quality checks  
+- **When to invoke**: After completing code changes
+- **Tool call**: 
+  ```javascript
+  task(
+    subagent_type="reviewer",
+    description="Review changes",
+    prompt="Review the authentication implementation for security vulnerabilities, code quality, and best practices"
+  )
+  ```
+
+## Core Agents
+
+**Agent: `planner`** (DO NOT use @planner as context reference)
+- **Purpose**: Project planning and task breakdown
+- **When to invoke**: Starting large features or projects
+- **Tool call**: 
+  ```javascript
+  task(
+    subagent_type="planner",
+    description="Plan feature",
+    prompt="Break down the payment system feature into implementable tasks with dependencies"
+  )
+  ```
+```
+
+### Proactive Sub-Agent Invocation
+
+To make the AI **automatically** invoke sub-agents at appropriate times:
+
+```markdown
+## Agent Automation Rules
+
+**CRITICAL**: Agents are invoked via `task` tool, NOT by referencing them with @.
+
+**After completing code changes, ALWAYS:**
+1. Invoke the `tester` agent using `task` tool to write and run tests
+2. Invoke the `reviewer` agent using `task` tool to review code quality
+3. Report results back to the user
+
+**Example workflow:**
+1. User requests feature
+2. You implement the code
+3. Automatically call: 
+   ```javascript
+   task(subagent_type="tester", description="Test feature", prompt="Write tests for X")
+   ```
+4. Automatically call: 
+   ```javascript
+   task(subagent_type="reviewer", description="Review feature", prompt="Review X for quality")
+   ```
+5. Summarize results for user
+
+**Important**: 
+- Sub-agents return results ONLY to you. You must summarize for the user.
+- DO NOT use `@agent-name` syntax to invoke agents
+- ALWAYS use the `task` tool for agent invocation
+```
+
+---
+
+## 🛠️ Tool References
+
+### Built-in OpenCode Tools
+
+```markdown
+## Available Tools
+
+**File Operations**
+- `read_file` - Read file contents (supports line ranges)
+- `write_file` - Create or overwrite files  
+- `search_replace` - Edit files with precision
+- `list_dir` - List directory contents
+- `glob_file_search` - Find files by pattern
+
+**Code Operations**
+- `grep` - Search code with ripgrep
+- `codebase_search` - Semantic code search
+
+**Execution**
+- `run_terminal_cmd` - Execute shell commands
+- `task` - Invoke sub-agents
+
+**Planning**
+- `todo_write` - Create and manage task lists
+```
+
+### When to Reference Tools
+
+```markdown
+# Task Instructions
+
+When you need to find configuration files, use `glob_file_search` to locate them.
+
+When analyzing code patterns, use `codebase_search` for semantic understanding.
+
+When editing code, use `search_replace` for precision rather than rewriting entire files.
+```
+
+---
+
+## 💡 Complete Example: Index File
+
+Here's a **production-ready index file** that works perfectly with OpenCode:
+
+```markdown
+# Project Context Index
+
+## 📋 Quick Start
+
+**CRITICAL INSTRUCTION**: Before proceeding with ANY task:
+1. Read the files marked `[READ FIRST]` using the `read_file` tool
+2. Review the available sub-agents below
+3. Follow the coding standards and patterns defined in these files
+
+---
+
+## 📚 Core Documentation [READ FIRST]
+
+Load these files immediately using `read_file`:
+
+- @docs/CODING_STANDARDS.md - TypeScript/React coding patterns
+- @docs/TESTING_STRATEGY.md - Test requirements and patterns
+- @docs/ARCHITECTURE.md - System design and component structure
+- @.opencode/WORKFLOWS.md - Development workflows and CI/CD
+
+---
+
+## 🤖 Available Sub-Agents
+
+Use the `task` tool to invoke these specialized agents:
+
+### Development Agents
+
+**@subagents/code/implementer** - Complex feature implementation
+```javascript
+task(
+  subagent_type="implementer",
+  description="Implement user auth",
+  prompt="Create complete authentication system with JWT tokens, including login, logout, and session management. Follow patterns in @docs/ARCHITECTURE.md"
+)
+```
+
+**@subagents/code/tester** - Test generation and execution
+```javascript
+task(
+  subagent_type="tester", 
+  description="Test auth system",
+  prompt="Write comprehensive unit and integration tests for the authentication module. Ensure >80% coverage. Run tests and report results."
+)
+```
+
+**@subagents/code/reviewer** - Code quality and security review
+```javascript
+task(
+  subagent_type="reviewer",
+  description="Review auth code",
+  prompt="Review the authentication implementation for security vulnerabilities, code quality, and adherence to @docs/CODING_STANDARDS.md. Provide specific improvement suggestions."
+)
+```
+
+### Documentation Agents
+
+**@subagents/docs/technical-writer** - API and code documentation
+```javascript
+task(
+  subagent_type="technical-writer",
+  description="Document auth API", 
+  prompt="Generate comprehensive API documentation for the authentication endpoints, including request/response examples and error codes."
+)
+```
+
+### Planning Agents
+
+**@subagents/core/architect** - System design and planning
+```javascript
+task(
+  subagent_type="architect",
+  description="Design payment system",
+  prompt="Design a payment processing system architecture that integrates with Stripe. Break down into implementable tasks. Consider scalability and error handling."
+)
+```
+
+---
+
+## 🔄 Automated Workflows
+
+### After Implementing Code
+
+**ALWAYS execute this workflow:**
+
+1. **Test** - Invoke `@subagents/code/tester` to validate implementation
+2. **Review** - Invoke `@subagents/code/reviewer` for quality check
+3. **Document** - Update relevant documentation
+4. **Report** - Summarize results to user with:
+   - What was implemented
+   - Test results and coverage
+   - Any issues found in review
+   - Next recommended steps
+
+### Before Starting Large Features
+
+**ALWAYS execute this workflow:**
+
+1. **Plan** - Invoke `@subagents/core/architect` for design
+2. **Load Context** - Read relevant documentation from @docs/
+3. **Break Down** - Create detailed TODO list with `todo_write`
+4. **Confirm** - Ask user to confirm approach
+
+---
+
+## 📖 Additional Context Files
+
+### Code Patterns & Examples
+
+For specific implementation patterns, read these on-demand:
+
+- @examples/api-patterns.ts - REST API implementation patterns
+- @examples/component-patterns.tsx - React component patterns
+- @examples/test-patterns.test.ts - Testing patterns and fixtures
+- @examples/error-handling.ts - Error handling strategies
+
+### Configuration Files
+
+Reference these when setting up tools or CI/CD:
+
+- @.github/workflows/ - GitHub Actions workflows
+- @tsconfig.json - TypeScript configuration
+- @package.json - Project dependencies and scripts
+
+---
+
+## 🎯 Tool Usage Guidelines
+
+### File Search Strategy
+
+1. **Known filename**: Use `read_file` directly
+2. **Pattern match**: Use `glob_file_search` (e.g., "*.test.ts")
+3. **Semantic search**: Use `codebase_search` (e.g., "authentication logic")
+4. **Text search**: Use `grep` for exact text matches
+
+### Editing Strategy
+
+1. **Small changes**: Use `search_replace` for precision
+2. **New files**: Use `write_file`
+3. **Large refactors**: Consider sub-agent with `task` tool
+
+### Execution Strategy
+
+1. **Simple commands**: Use `run_terminal_cmd`
+2. **Complex workflows**: Create shell scripts first
+3. **Multi-step tasks**: Use sub-agents with `task` tool
+
+---
+
+## ⚠️ Common Pitfalls to Avoid
+
+### ❌ DON'T DO THIS:
+
+```markdown
+# Bad: Using @ syntax for agent invocation
+Use @tester when needed
+Review with @reviewer after coding
+
+# Bad: Treating agents like files
+Read @tester for testing guidelines
+See @reviewer documentation
+
+# Bad: Vague agent reference
+Use the tester agent when needed
+
+# Bad: Assuming nested files are auto-loaded
+See @guidelines.md (which references @other.md)
+
+# Bad: Not specifying how to invoke
+Available agents: tester, reviewer, planner
+
+# Bad: Mixing context and invocation
+Use @agent-name to run the agent
+```
+
+### ✅ DO THIS:
+
+```markdown
+# Good: Explicit tool call for agent invocation
+**Agent: `tester`** - Invoke ONLY via task tool:
+task(subagent_type="tester", description="Test feature", prompt="Write comprehensive tests for X")
+
+# Good: Clear separation of concerns
+**File**: @docs/testing-guide.md - Load with read_file
+**Agent**: `tester` - Invoke with task tool
+
+# Good: Explicit read instruction for nested refs
+**CRITICAL**: Read @guidelines.md, then read all files it references using read_file
+
+# Good: Clear tool invocation
+Use the `codebase_search` tool to find authentication logic
+
+# Good: Proactive invocation instruction
+After implementing code, ALWAYS invoke the tester agent:
+task(subagent_type="tester", description="Test X", prompt="Write and run tests for X")
+```
+
+---
+
+## 🚀 Quick Start Template
+
+Copy this template to create your own index:
+
+```markdown
+# [Project Name] Context Index
+
+## 🎯 Before Starting ANY Task
+
+**CRITICAL**: Load these files first using `read_file`:
+1. @[PATH_TO_GUIDELINES]
+2. @[PATH_TO_STANDARDS]
+3. @[PATH_TO_ARCHITECTURE]
+
+---
+
+## 🤖 Sub-Agents (MUST use `task` tool to invoke)
+
+**Agent: `[AGENT_NAME]`** (DO NOT use @[AGENT_NAME] as context)
+- Purpose: [Description]
+- When to invoke: [When to invoke]
+- Tool call: 
+  ```javascript
+  task(
+    subagent_type="[AGENT_NAME]",
+    description="[SHORT_DESC]",
+    prompt="[DETAILED_TASK_INSTRUCTIONS]"
+  )
+  ```
+
+---
+
+## 🔄 Standard Workflows
+
+### After Code Changes
+1. Invoke tester agent via `task` tool
+2. Invoke reviewer agent via `task` tool  
+3. Report results to user
+
+Example:
+```javascript
+// Step 1: Test
+task(subagent_type="[TESTER_AGENT]", description="Test feature", prompt="Write tests for X")
+
+// Step 2: Review
+task(subagent_type="[REVIEWER_AGENT]", description="Review feature", prompt="Review X for quality")
+
+// Step 3: Summarize results for user
+```
+
+---
+
+## 📚 Reference Files (Load on-demand)
+
+- @[FILE_PATH] - [Description] (Read when: [TRIGGER])
+
+---
+```
+
+---
+
+## 🔍 Verification Checklist
+
+Before sharing your index file, verify:
+
+- [ ] All **file** references use `@` prefix
+- [ ] Agent references use `task` tool, NOT `@` syntax
+- [ ] Agent names are plain text (e.g., `tester`), not `@tester`
+- [ ] Nested file references have explicit "READ FIRST" instructions
+- [ ] Sub-agents have complete `task()` tool call examples
+- [ ] Sub-agents show when/why to invoke them
+- [ ] Clear distinction between files (@file.md) and agents (task tool)
+- [ ] Automated workflows use `task` tool for agents
+- [ ] Tool usage instructions are specific
+- [ ] No ambiguous or vague instructions
+- [ ] No mixing of @ syntax for agents
+
+---
+
+## 📝 Quick Reference Notes
+
+- **Files**: Use `@path/to/file.md` in prompts (auto-loaded initially, nested require read_file)
+- **Agent Files**: Use `@.opencode/agents/subagents/core/agent.md` to load documentation
+- **Agent Invocation**: Use `task` tool, NOT `@agent-name` syntax
+- **Agent Names**: Plain text only (e.g., `taskmanager`), never `@taskmanager`
+- **Shell**: Use `` !`command` `` for automatic execution in prompts
+- **Key Rule**: `@` is for FILES only, `task` tool is for AGENTS
+- **Rare Exception**: `@agent-name` loads agent metadata (usually not needed)
+
+---
+
+## 🎨 Advanced Patterns
+
+### Combining Multiple Context Types
+
+```markdown
+# Complete Feature Context
+
+## Files to Read [READ FIRST]
+@docs/auth-spec.md
+@src/auth/types.ts
+
+## Current Implementation
+!`find src/auth -type f -name '*.ts'`
+
+## Git Context
+Branch: !`git branch --show-current`
+Changes: !`git diff --name-only`
+
+## Environment
+Node: !`node --version`
+Dependencies: !`npm list --depth=0 | grep auth`
+
+## Sub-Agents Available
+
+**@subagents/code/implementer** - Use for implementation
+**@subagents/code/tester** - Use for testing
+
+## Task
+Implement the authentication flow following @docs/auth-spec.md
+```
+
+### Dynamic File Loading
+
+```markdown
+# Load All Test Files
+
+Test files in project:
+!`find . -name "*.test.ts" -o -name "*.spec.ts"`
+
+**INSTRUCTION**: Read all test files above using `read_file` to understand testing patterns.
+```
+
+### Conditional Context
+
+```markdown
+# Database Migration Context
+
+## Current Migration Status
+!`npm run db:status 2>&1`
+
+## Latest Migration
+!`ls -t migrations/ | head -1 | xargs cat`
+
+**If migrations are pending**: Read @docs/migration-guide.md
+**If migrations are up-to-date**: Proceed with schema changes
+```
+
+### Nested Shell Commands with File References
+
+```markdown
+# Component Analysis
+
+## All React Components
+!`find src -name "*.tsx" | grep -v test`
+
+## Component Guidelines
+@docs/component-patterns.md
+
+**CRITICAL**: 
+1. Review the component list above
+2. Read @docs/component-patterns.md using `read_file`
+3. Ensure new components follow established patterns
+```
+
+---
+
+## 🔗 Shell Command Cheat Sheet
+
+### Git Commands
+
+```bash
+# Current branch
+!`git branch --show-current`
+
+# Recent commits
+!`git log --oneline -n 10`
+
+# Modified files
+!`git status --short`
+
+# Diff summary
+!`git diff --stat`
+
+# Authors
+!`git shortlog -sn --all`
+
+# Current commit hash
+!`git rev-parse HEAD`
+```
+
+### File System Commands
+
+```bash
+# List TypeScript files
+!`find src -name "*.ts" -type f`
+
+# Count lines of code
+!`find src -name "*.ts" | xargs wc -l | tail -1`
+
+# Recent files
+!`ls -lt src | head -10`
+
+# Directory tree
+!`tree -L 3 -I 'node_modules|dist|.git'`
+
+# File size summary
+!`du -sh src/*`
+```
+
+### Project Info Commands
+
+```bash
+# Package version
+!`cat package.json | jq -r .version`
+
+# Dependencies
+!`npm list --depth=0`
+
+# Scripts
+!`cat package.json | jq .scripts`
+
+# Node version
+!`node --version`
+
+# npm version
+!`npm --version`
+```
+
+### Search Commands
+
+```bash
+# Find TODO comments
+!`grep -r "TODO" src --include="*.ts"`
+
+# Find FIXME comments
+!`grep -r "FIXME" src --include="*.ts"`
+
+# Find specific function
+!`grep -rn "function authenticate" src`
+
+# Count test files
+!`find . -name "*.test.ts" | wc -l`
+```
+
+### System Commands
+
+```bash
+# OS info
+!`uname -a`
+
+# Memory usage
+!`free -h`
+
+# Disk usage
+!`df -h .`
+
+# Process list (filtered)
+!`ps aux | grep node`
+```
+
+---
+
+## 🎯 Complete Real-World Example
+
+```markdown
+# Feature Implementation: User Authentication
+
+## Pre-Flight Context Loading
+
+### CRITICAL: Read These Files First
+1. @docs/CODING_STANDARDS.md
+2. @docs/AUTH_ARCHITECTURE.md  
+3. @src/auth/interfaces.ts
+4. @tests/auth/auth.test.ts
+
+### Current State
+
+**Branch**: !`git branch --show-current`
+
+**Modified Files**:
+!`git status --short`
+
+**Existing Auth Files**:
+!`find src/auth -name "*.ts" -type f`
+
+**Test Coverage**:
+!`npm run test:coverage -- src/auth 2>&1 | tail -5`
+
+### Dependencies
+
+**Current Auth Libraries**:
+!`npm list | grep -E "(passport|jwt|bcrypt)"`
+
+**Node Version**: !`node --version`
+
+## Sub-Agents Available
+
+**@subagents/code/implementer** - Feature implementation
+- Use when: Implementing new auth flows
+- Example: `task(subagent_type="implementer", description="OAuth flow", prompt="Implement OAuth2 flow with Google, following patterns in @docs/AUTH_ARCHITECTURE.md")`
+
+**@subagents/code/tester** - Test creation
+- Use when: After implementing auth features  
+- Example: `task(subagent_type="tester", description="Test OAuth", prompt="Write integration tests for OAuth2 flow with >90% coverage")`
+
+**@subagents/security/auditor** - Security review
+- Use when: Before deploying auth changes
+- Example: `task(subagent_type="auditor", description="Audit auth", prompt="Review auth implementation for security vulnerabilities, SQL injection, XSS, and CSRF")`
+
+## Implementation Workflow
+
+### Step 1: Context Loading
+1. Read all files marked [READ FIRST]
+2. Review current implementation: !`cat src/auth/auth.service.ts`
+3. Review existing tests: !`cat tests/auth/auth.test.ts`
+
+### Step 2: Implementation
+1. Implement feature following @docs/CODING_STANDARDS.md
+2. Follow patterns from @src/auth/interfaces.ts
+3. Update types in @src/auth/types.ts
+
+### Step 3: Testing
+1. Invoke tester agent via `task` tool for test creation
+   ```javascript
+   task(subagent_type="tester", description="Test auth", prompt="Write tests for auth module")
+   ```
+2. Run tests: Use `run_terminal_cmd` for `npm test`
+3. Verify coverage meets requirements
+
+### Step 4: Review
+1. Invoke security auditor agent via `task` tool
+   ```javascript
+   task(subagent_type="auditor", description="Security audit", prompt="Review auth for vulnerabilities")
+   ```
+2. Address any issues found
+3. Re-run tests after fixes
+
+### Step 5: Documentation
+1. Update @docs/AUTH_ARCHITECTURE.md with changes
+2. Add inline code documentation
+3. Update API documentation
+
+## Reference Files (Load on-demand)
+
+- @docs/api/auth-endpoints.md - API documentation
+- @examples/auth-examples.ts - Usage examples
+- @config/auth.config.ts - Configuration options
+
+## Additional Context
+
+**Database Schema**:
+!`cat migrations/latest_auth_schema.sql`
+
+**Environment Variables**:
+!`cat .env.example | grep AUTH`
+
+---
+
+**REMEMBER**: 
+- Files: Use `@filename` (nested require read_file)
+- Agents: Use `task` tool, NOT `@agent-name`
+- Shell: `` !`cmd` `` executes automatically in prompt
+- Agent names are plain text (e.g., `tester`), never `@tester`
+```
+
+---
+
+## 📝 Notes
+
+- **Auto-loaded**: Initial `@` references in YOUR prompt (files only)
+- **Requires tool call**: Nested `@` references in loaded files
+- **Agent as context**: `@agent-name` in initial prompt attaches agent info (not invocation)
+- **Agent invocation**: Always requires `task` tool call - NEVER use `@` syntax
+- **Shell commands**: `` !`command` `` syntax executes automatically in prompt processing
+- **Tool commands**: `run_terminal_cmd` for AI-driven execution during conversation
+- **Key distinction**: Files use `@`, Agents use `task` tool
+
+---
+
+## 🎯 Quick Decision Tree
+
+**Need to load a file?**
+- Initial prompt → Use `@path/to/file.md`
+- Nested reference → Add "READ FIRST" instruction for AI to use `read_file`
+- Agent docs → Use `@.opencode/agents/subagents/core/agent.md` (file path)
+
+**Need to invoke an agent?**
+- ❌ **NEVER** use `@agent-name` syntax for invocation
+- ✅ AI must call `task(subagent_type="name", ...)`
+- ✅ Use plain agent names (e.g., `taskmanager`, not `@taskmanager`)
+- ✅ Add clear invocation instructions in your context
+- ⚠️ Using `@agent-name` only loads metadata (rarely useful)
+
+**Need to run a command?**
+- Static context → Use `` !`command` `` in prompt
+- AI-driven execution → AI uses `run_terminal_cmd` tool
+
+**Structure Example:**
+```
+Files (use @):          Agents (use task):
+@docs/guide.md          task(subagent_type="reviewer", ...)
+@src/types.ts           task(subagent_type="tester", ...)
+@.opencode/agents/      [agent name without @]
+  taskmanager.md        
+```
+
+---
+
+---
+
+## 🎯 THE PERFECT PROMPT TEMPLATE
+
+Use this template to avoid ALL confusion and work seamlessly with OpenCode:
+
+### Template Structure
+
+```markdown
+# [Task Name]
+
+## 📋 Context Files (Load with read_file tool)
+
+**CRITICAL**: Read these files FIRST using the `read_file` tool:
+1. @docs/coding-standards.md
+2. @docs/architecture.md
+3. @src/types/core.ts
+
+---
+
+## 📚 Additional Documentation (Auto-loaded)
+
+Current git status:
+Branch: !`git branch --show-current`
+Recent changes: !`git status --short`
+
+Project structure:
+!`find src -type d -maxdepth 2`
+
+---
+
+## 🤖 Available Agents (Invoke via task tool ONLY)
+
+**IMPORTANT**: DO NOT use @ syntax for agents. Use the `task` tool to invoke.
+
+### Agent: `implementer`
+**Purpose**: Complex feature implementation
+**When to invoke**: When implementing new features or major refactors
+**How to invoke**:
+```javascript
+task(
+  subagent_type="implementer",
+  description="Implement feature X",
+  prompt="Create complete implementation of X following @docs/architecture.md patterns. Include error handling and validation."
+)
+```
+
+### Agent: `tester`
+**Purpose**: Test creation and execution
+**When to invoke**: After implementing features, before committing
+**How to invoke**:
+```javascript
+task(
+  subagent_type="tester",
+  description="Test feature X",
+  prompt="Write comprehensive tests for X with >80% coverage. Run tests and report results."
+)
+```
+
+### Agent: `reviewer`
+**Purpose**: Code review and quality checks
+**When to invoke**: After code changes, before finalizing
+**How to invoke**:
+```javascript
+task(
+  subagent_type="reviewer",
+  description="Review feature X",
+  prompt="Review the implementation of X for code quality, security vulnerabilities, and adherence to @docs/coding-standards.md"
+)
+```
+
+---
+
+## 🔄 Required Workflow
+
+**After implementing ANY code:**
+1. Invoke `tester` agent using task tool
+2. Invoke `reviewer` agent using task tool
+3. Summarize results to user
+
+---
+
+## 🎯 Your Task
+
+[Describe the specific task here]
+
+---
+
+## ⚠️ Important Reminders
+
+- Files: Use `@path/to/file.md` syntax
+- Agent invocation: Use `task(subagent_type="name", ...)` 
+- NEVER use `@agent-name` to invoke agents
+- Agent names are plain text: `tester`, `reviewer`, NOT `@tester`
+```
+
+---
+
+### Real-World Example: Perfect Prompt
+
+```markdown
+# Implement User Authentication System
+
+## 📋 Context Files (Load FIRST)
+
+**CRITICAL**: Use `read_file` tool to load these before starting:
+1. @docs/CODING_STANDARDS.md - TypeScript coding patterns
+2. @docs/AUTH_ARCHITECTURE.md - Authentication design patterns
+3. @src/auth/types.ts - Existing auth type definitions
+4. @tests/auth/auth.test.ts - Existing test patterns
+
+---
+
+## 📚 Current State (Auto-loaded)
+
+**Git Context**:
+Branch: !`git branch --show-current`
+Modified: !`git status --short`
+
+**Existing Auth Files**:
+!`find src/auth -name "*.ts" -type f`
+
+**Dependencies**:
+!`npm list | grep -E "(jwt|bcrypt|passport)"`
+
+---
+
+## 🤖 Available Agents
+
+### Agent: `implementer`
+Purpose: Feature implementation
+Invoke with:
+```javascript
+task(
+  subagent_type="implementer",
+  description="Implement auth flow",
+  prompt="Create authentication system with JWT tokens, including login, logout, and session management. Follow patterns in @docs/AUTH_ARCHITECTURE.md. Include middleware, controllers, and services."
+)
+```
+
+### Agent: `tester`
+Purpose: Test creation
+Invoke with:
+```javascript
+task(
+  subagent_type="tester",
+  description="Test auth system",
+  prompt="Write unit and integration tests for authentication module. Cover login, logout, token refresh, and session management. Ensure >85% coverage. Run tests and report results."
+)
+```
+
+### Agent: `reviewer`
+Purpose: Security and quality review
+Invoke with:
+```javascript
+task(
+  subagent_type="reviewer",
+  description="Review auth implementation",
+  prompt="Review authentication implementation for security vulnerabilities (SQL injection, XSS, CSRF), proper token handling, password security, and adherence to @docs/CODING_STANDARDS.md"
+)
+```
+
+---
+
+## 🔄 Required Workflow
+
+**You MUST follow this workflow:**
+
+1. **Read Context**: Load all files marked [CRITICAL] above
+2. **Implement**: Create the authentication system
+3. **Test**: Invoke `tester` agent via task tool
+4. **Review**: Invoke `reviewer` agent via task tool
+5. **Report**: Summarize implementation, test results, and review findings
+
+---
+
+## 🎯 Task Details
+
+Implement a complete authentication system with:
+- JWT-based authentication
+- Login/logout endpoints
+- Token refresh mechanism
+- Session management
+- Password hashing with bcrypt
+- Middleware for protected routes
+
+Requirements:
+- Follow patterns in @docs/AUTH_ARCHITECTURE.md
+- Adhere to @docs/CODING_STANDARDS.md
+- Integrate with existing user model in @src/models/user.ts
+- Add proper error handling
+- Include request validation
+
+---
+
+## ⚠️ Important Rules
+
+- Load files with @ syntax: `@docs/file.md`
+- Invoke agents with task tool: `task(subagent_type="name", ...)`
+- NEVER use `@agent-name` to invoke agents
+- Agent names are plain text: `tester`, NOT `@tester`
+- Shell commands auto-execute: !`git status`
+```
+
+---
+
+## 📝 Anti-Pattern Examples (What NOT To Do)
+
+### ❌ BAD PROMPT (Confusing)
+```markdown
+Use @tester and @reviewer agents to test the code.
+Follow @guidelines and implement authentication.
+```
+
+**Problems:**
+- Uses `@` for agents (only loads metadata, doesn't invoke)
+- No clear invocation instructions
+- Mixing file and agent syntax
+- No explicit workflow
+
+### ✅ GOOD PROMPT (Clear)
+```markdown
+# Implement Authentication
+
+## Context Files
+**Read these using read_file tool:**
+- @docs/guidelines.md
+
+## Agents
+**Agent: `tester`** - Invoke with task tool:
+task(subagent_type="tester", description="Test auth", prompt="...")
+
+**Agent: `reviewer`** - Invoke with task tool:
+task(subagent_type="reviewer", description="Review auth", prompt="...")
+
+## Workflow
+1. Read @docs/guidelines.md
+2. Implement feature
+3. Invoke tester agent via task tool
+4. Invoke reviewer agent via task tool
+```
+
+---
+
+## 🎨 Prompt Templates by Use Case
+
+### Template 1: Simple Feature Implementation
+```markdown
+# Implement [Feature Name]
+
+## Context
+Read: @docs/standards.md
+
+Git status: !`git status --short`
+
+## Task
+[Detailed description]
+
+## No Agents Needed
+(Simple task, no agents required)
+```
+
+### Template 2: Complex Feature with Agents
+```markdown
+# Implement [Complex Feature]
+
+## Context Files (Read FIRST)
+1. @docs/standards.md
+2. @docs/architecture.md
+
+## Current State
+!`git status --short`
+!`find src/[module] -name "*.ts"`
+
+## Available Agents
+
+**Agent: `implementer`**
+Invoke: task(subagent_type="implementer", description="...", prompt="...")
+
+**Agent: `tester`**
+Invoke: task(subagent_type="tester", description="...", prompt="...")
+
+## Workflow
+1. Read context files
+2. Implement feature
+3. Invoke tester agent
+4. Report results
+```
+
+### Template 3: Code Review Task
+```markdown
+# Review [Feature/Module]
+
+## Context
+Files to review:
+!`git diff --name-only main...HEAD`
+
+Recent changes:
+!`git log --oneline -5`
+
+## Agent
+
+**Agent: `reviewer`**
+Invoke immediately:
+task(
+  subagent_type="reviewer",
+  description="Review recent changes",
+  prompt="Review all changes in current branch for code quality, security, and adherence to standards"
+)
+
+## Task
+Run code review and report findings.
+```
+
+### Template 4: Documentation Task
+```markdown
+# Document [Feature]
+
+## Context
+Implementation files:
+!`find src/[module] -name "*.ts"`
+
+## Agent
+
+**Agent: `documenter`**
+Invoke: task(subagent_type="documenter", description="Document X", prompt="...")
+
+## Task
+Generate comprehensive documentation for [feature].
+```
+
+---
+
+## 🔑 Golden Rules for Perfect Prompts
+
+1. **Files**: Always use `@path/to/file.md`
+2. **Agents**: Always use `task(subagent_type="name", ...)`
+3. **Shell**: Always use `` !`command` `` for dynamic context
+4. **Clarity**: Separate files, agents, and tasks into clear sections
+5. **Workflow**: Always specify the execution order
+6. **Agent Names**: Plain text only - `tester`, never `@tester`
+7. **Context First**: Load all context before describing the task
+8. **Explicit Instructions**: Tell AI exactly when and how to invoke agents
+
+---
+
+## 🎯 REAL-WORLD EXAMPLE: Your Agent Setup
+
+Based on your actual agent configurations (task-manager subagent + orchestration agent):
+
+### Your Agent Files Structure & Naming
+
+**CRITICAL**: Agents are defined in MARKDOWN files. The agent NAME comes from the FILE PATH!
+
+```
+.opencode/
+  agent/                          # All agents as markdown files
+    subagents/
+      core/
+        task-manager.md           # Agent name: "subagents/core/task-manager"
+    orchestration-agent.md        # Agent name: "orchestration-agent"
+    code/
+      reviewer.md                 # Agent name: "code/reviewer"
+      tester.md                   # Agent name: "code/tester"
+```
+
+**Markdown Agent File Format:**
+```markdown
+---
+description: "Brief description of agent"
+mode: subagent                    # or "primary" or "all"
+temperature: 0.2
+tools:
+  read: true
+  write: true
+  edit: true
+  bash: true
+  task: true
+permissions:
+  edit:
+    "**/*.secret": "deny"
+  bash:
+    "rm -rf *": "deny"
+---
+
+# Agent Prompt Content Here
+
+Your agent instructions, personality, rules, etc.
+All the markdown content becomes the agent's system prompt.
+```
+
+**How OpenCode determines agent names (from source code):**
+1. Scans `.opencode/agent/**/*.md` files recursively
+2. Parses YAML frontmatter (between `---` markers) for config
+3. Uses markdown content as the agent's system prompt
+4. Agent name = file path from `agent/` directory (minus `.md`)
+
+**Examples:**
+- File: `.opencode/agent/task-manager.md` → Name: `task-manager`
+- File: `.opencode/agent/subagents/core/task-manager.md` → Name: `subagents/core/task-manager`
+- File: `.opencode/agent/code/reviewer.md` → Name: `code/reviewer`
+
+**No opencode.json needed!** Everything is in markdown.
+
+### ❌ WRONG: Confusing Prompt
+
+```markdown
+Use @task-manager to break down the feature
+Have @orchestration-agent coordinate the work
+```
+
+**Problems:**
+- Using `@` for agent invocation (only loads metadata)
+- AI won't actually invoke the agents
+- Wrong agent name - should include full path: `subagents/core/task-manager`
+- Confusing agent files with agent invocation
+
+### ✅ CORRECT: Clear Prompt
+
+```markdown
+# Implement User Dashboard Feature
+
+## 📋 Context Files (Load FIRST)
+
+**Agent Documentation** (optional - only if you need to understand agent capabilities):
+- @.opencode/agent/orchestration-agent.md - Main agent guidelines
+- @.opencode/agent/subagents/core/task-manager.md - Task breakdown process
+
+**Project Documentation**:
+- @docs/coding-standards.md
+- @docs/architecture.md
+
+**Current State**:
+Branch: !`git branch --show-current`
+Files: !`find src/dashboard -name "*.ts"`
+
+---
+
+## 🤖 Available Agents
+
+### Agent: `subagents/core/task-manager` (Subagent)
+
+**IMPORTANT**: Agent is defined in a MARKDOWN file. The agent name comes from the file path!
+
+**File location**: `.opencode/agent/subagents/core/task-manager.md`
+**Agent name**: `subagents/core/task-manager` (path from `agent/` directory)
+**Format**: Markdown with YAML frontmatter
+
+**File structure:**
+```markdown
+---
+description: "Breaks down complex features into subtasks"
+mode: subagent
+temperature: 0.1
+tools: { read: true, write: true, ... }
+---
+
+# Task Manager Agent Prompt
+[Your agent instructions here...]
+```
+
+**Purpose**: Break down complex features into atomic subtasks
+
+**When to invoke**: 
+- Feature has 4+ components
+- Need structured task breakdown
+- Complex dependencies exist
+
+**How to invoke**:
+```javascript
+task(
+  subagent_type="subagents/core/task-manager",
+  description="Break down dashboard feature",
+  prompt="Break down the user dashboard feature into atomic subtasks. Feature includes: profile widget, activity feed, notification center, and settings panel. Create structured task files in /tasks/ directory following your two-phase workflow."
+)
+```
+
+**What it does**:
+1. Analyzes feature and creates subtask plan
+2. Waits for your approval
+3. Creates task files in `tasks/subtasks/{feature}/`
+4. Returns task sequence and dependencies
+
+---
+
+## 🔄 Required Workflow
+
+**For complex features (4+ components):**
+
+1. **Invoke task-manager** to break down the feature
+   ```javascript
+   task(
+     subagent_type="subagents/core/task-manager",
+     description="Break down dashboard",
+     prompt="Analyze and break down user dashboard feature with profile, activity, notifications, and settings components. Create task files with dependencies and acceptance criteria."
+   )
+   ```
+
+2. **Review the task plan** (agent will request approval)
+
+3. **Approve and let agent create files**
+
+4. **Implement tasks** sequentially based on dependencies
+
+5. **Validate each task** against acceptance criteria
+
+---
+
+## 🎯 Your Task
+
+Implement a user dashboard feature with:
+- Profile widget (avatar, name, stats)
+- Activity feed (recent actions, timestamps)
+- Notification center (alerts, read/unread states)
+- Settings panel (preferences, theme toggle)
+
+Requirements:
+- Follow @docs/architecture.md patterns
+- Responsive design
+- Real-time updates for notifications
+- Accessibility compliant
+
+**Since this is complex (4+ components), invoke the task-manager agent first.**
+
+---
+
+## ⚠️ Important Notes
+
+- **Agent files** (`.md` in `.opencode/agents/`): Use `@` to load as documentation
+- **Agent invocation**: Use `task(subagent_type="name", ...)` to actually run the agent
+- **Agent names**: Plain text - `task-manager`, NOT `@task-manager`
+- The orchestration agent is your primary agent (already active)
+- Invoke `task-manager` when you need feature breakdown
+```
+
+---
+
+## 🎨 Prompt Templates for Your Specific Agents
+
+### Template 1: Complex Feature (Needs Task Breakdown)
+
+```markdown
+# Implement [Complex Feature Name]
+
+## 📋 Context
+
+**Read these files:**
+- @docs/coding-standards.md
+- @docs/architecture.md
+- @.opencode/context/core/workflows/delegation.md
+
+**Current state:**
+!`git status --short`
+!`find src/[module] -type f`
+
+---
+
+## 🤖 Agent: subagents/core/task-manager
+
+**Invoke immediately for task breakdown:**
+
+```javascript
+task(
+  subagent_type="subagents/core/task-manager",
+  description="Break down [feature]",
+  prompt="Break down [feature description] into atomic subtasks. Include:
+  - Component 1: [details]
+  - Component 2: [details]
+  - Component 3: [details]
+  
+  Create task files in /tasks/ with dependencies, acceptance criteria, and test requirements. Follow your two-phase workflow (plan → approve → create files)."
+)
+```
+
+---
+
+## 🎯 Task Details
+
+[Detailed feature requirements]
+
+---
+
+## 🔄 Workflow
+
+1. Invoke task-manager for breakdown
+2. Review and approve task plan
+3. Implement tasks in dependency order
+4. Validate against acceptance criteria
+5. Report completion
+```
+
+### Template 2: Simple Task (Direct Execution)
+
+```markdown
+# [Simple Task Name]
+
+## 📋 Context
+
+**Read:**
+- @docs/coding-standards.md
+
+**Current state:**
+!`git status --short`
+
+---
+
+## 🎯 Task
+
+[Task description - simple, 1-3 files]
+
+---
+
+## ⚠️ Notes
+
+- Simple task, no task-manager needed
+- Execute directly
+- Follow coding standards from @docs/coding-standards.md
+```
+
+### Template 3: Coordination Task (Uses Orchestration Features)
+
+```markdown
+# Coordinate [Multi-Step Feature]
+
+## 📋 Context
+
+**Read orchestration guidelines:**
+- @.opencode/agents/orchestration-agent.md
+- @.opencode/context/core/workflows/delegation.md
+
+**Current state:**
+!`git status --short`
+
+---
+
+## 🔄 Coordination Workflow
+
+This task requires coordination across multiple steps:
+
+1. **Break down** feature using task-manager
+2. **Implement** core components
+3. **Delegate** complex subsystems if needed
+4. **Validate** integration
+5. **Report** completion
+
+---
+
+## 🤖 Agents Available
+
+**Agent: `subagents/core/task-manager`** - For feature breakdown
+Invoke: task(subagent_type="subagents/core/task-manager", description="...", prompt="...")
+
+**Agent: `general`** - For delegated complex work (if needed)
+Invoke: task(subagent_type="general", description="...", prompt="...")
+
+---
+
+## 🎯 Task
+
+[Complex coordinated task description]
+
+---
+
+## 📝 Orchestration Rules
+
+From @.opencode/agents/orchestration-agent.md:
+- Request approval before execution
+- Stop on failures (don't auto-fix)
+- Report → Propose → Approve → Fix
+- Confirm before cleanup
+```
+
+---
+
+## 🎯 Key Insights for Your Setup
+
+### Your Orchestration Agent (Primary)
+- **Already active** - it's processing your prompts
+- **Has task delegation** capability
+- **Follows approval workflow**
+- **Can invoke task-manager** when needed
+
+### Your Task-Manager Subagent
+- **Invoked via task tool** when you need breakdown
+- **Two-phase workflow**: Plan → Approve → Create
+- **Creates files** in `tasks/subtasks/{feature}/`
+- **Returns structured** task plans
+
+### Critical Distinctions
+
+| What | File Syntax | Agent Invocation |
+|------|-------------|------------------|
+| Load agent docs | `@.opencode/agent/subagents/core/task-manager.md` | N/A |
+| Invoke task-manager | N/A | `task(subagent_type="subagents/core/task-manager", ...)` |
+| Reference in text | "the task-manager agent" or "subagents/core/task-manager" | N/A |
+| Load project docs | `@docs/standards.md` | N/A |
+
+**KEY INSIGHT**: The agent name comes from the file path structure, NOT just the filename!
+
+### Decision Flow
+
+```
+Is it complex (4+ components)?
+  ↓ YES
+  Invoke task-manager → Get breakdown → Implement tasks
+  
+  ↓ NO
+  Execute directly (orchestration agent handles it)
+
+Need to understand agents?
+  ↓ YES
+  Load agent docs: @.opencode/agents/[agent].md
+  
+  ↓ NO
+  Skip - just invoke when needed
+```
+
+---
+
+---
+
+## 🤔 Design Philosophy: Why List Subagents?
+
+**You might ask**: "Why do I need to tell the AI about subagents in my prompt when the `task` tool already lists them?"
+
+**You're right - it's redundant!** Here's the reality:
+
+### The Ideal World (How It Should Work)
+```markdown
+---
+tools:
+  task: true  # AI should figure out the rest
+---
+
+# Your Agent
+Delegate complex work to specialized subagents.
+```
+
+The AI should:
+1. ✅ See the `task` tool
+2. ✅ Read the tool's description (which lists agents)
+3. ✅ Use it when appropriate
+
+### The Real World (Current AI Limitations)
+
+Current AI models don't always:
+- ❌ Read tool descriptions carefully
+- ❌ Remember to check available tools
+- ❌ Connect "complex task" → "delegate" → "use task tool"
+
+So we **compensate** by:
+- Explicitly mentioning agents in prompts
+- Providing invocation examples
+- Repeating instructions
+
+### Two Approaches
+
+**Option 1: Minimal (Trust the Tool)**
+```markdown
+For complex work, use the `task` tool to delegate to specialized subagents.
+Available agents are documented in the task tool description.
+```
+- ✅ Clean, minimal
+- ⚠️ AI might not delegate when it should
+
+**Option 2: Explicit (Be Redundant)**
+```markdown
+Available subagents via task tool:
+- subagents/core/task-manager - For feature breakdown
+- subagents/code/tester - For testing
+
+Invoke with: task(subagent_type="...", description="...", prompt="...")
+```
+- ⚠️ Redundant with tool description
+- ✅ AI consistently delegates appropriately
+
+**Recommendation**:
+
+**Last Updated**: 2024-11-21
+**OpenCode Version**: Latest
+

+ 1 - 1
registry.json

@@ -824,7 +824,7 @@
     }
     }
   },
   },
   "metadata": {
   "metadata": {
-    "lastUpdated": "2025-11-19",
+    "lastUpdated": "2025-11-21",
     "schemaVersion": "1.0.0"
     "schemaVersion": "1.0.0"
   }
   }
 }
 }