This directory contains evaluation tests for all 14 OpenCode subagents. Each subagent has its own test suite with configuration, smoke tests, and placeholder directories for prompt variants.
subagents/
├── code/ # Code-focused subagents (parent: opencoder)
│ ├── build-agent/
│ ├── codebase-pattern-analyst/
│ ├── coder-agent/
│ ├── reviewer/
│ └── tester/
├── core/ # Core orchestration subagents (parent: openagent)
│ ├── contextscout/
│ ├── documentation/
│ └── task-manager/
├── system-builder/ # System builder subagents (parent: system-builder)
│ ├── agent-generator/
│ ├── command-creator/
│ ├── context-organizer/
│ ├── domain-analyzer/
│ └── workflow-designer/
└── utils/ # Utility subagents (parent: openagent)
└── image-specialist/
Each subagent directory contains:
config/config.yaml - Test configurationtests/smoke-test.yaml - Basic sanity checkprompts/ - Placeholder for model-specific prompt variantsREADME.md - Subagent-specific documentation| Subagent | Description | Status |
|---|---|---|
| build-agent | Type checking and build validation | ✅ Smoke test ready |
| codebase-pattern-analyst | Finding similar implementations | ✅ Smoke test ready |
| coder-agent | Focused coding subtasks | ✅ Smoke test ready |
| reviewer | Code review and quality assurance | ✅ Smoke test ready |
| tester | Test authoring and TDD | ✅ Smoke test ready |
| Subagent | Description | Status |
|---|---|---|
| contextscout | Context search and retrieval | ✅ Smoke test ready |
| documentation | Documentation authoring | ✅ Smoke test ready |
| task-manager | Task breakdown with dependency tracking | ✅ Smoke test ready |
| Subagent | Description | Status |
|---|---|---|
| agent-generator | XML-optimized agent generation | ✅ Smoke test ready |
| command-creator | Custom slash command creation | ✅ Smoke test ready |
| context-organizer | Context file organization | ✅ Smoke test ready |
| domain-analyzer | Domain concept analysis | ✅ Smoke test ready |
| workflow-designer | Workflow definition design | ✅ Smoke test ready |
| Subagent | Description | Status |
|---|---|---|
| image-specialist | Image editing and analysis | ✅ Smoke test ready |
# Test a specific subagent (standalone mode)
npm run eval:sdk -- --subagent=coder-agent
# Test via parent agent (delegation mode)
npm run eval:sdk -- --subagent=coder-agent --delegate
# Using Makefile shortcuts
make test-subagent SUBAGENT=coder-agent
make test-subagent-delegate SUBAGENT=coder-agent
# Run smoke tests for all code subagents
for agent in build-agent codebase-pattern-analyst coder-agent reviewer tester; do
npm run eval:sdk -- --subagent=$agent --pattern="**/smoke-test.yaml"
done
# Run smoke tests for all core subagents
for agent in contextscout documentation task-manager; do
npm run eval:sdk -- --subagent=$agent --pattern="**/smoke-test.yaml"
done
# Run smoke tests for all system-builder subagents
for agent in agent-generator command-creator context-organizer domain-analyzer workflow-designer; do
npm run eval:sdk -- --subagent=$agent --pattern="**/smoke-test.yaml"
done
# Run smoke test for utils subagent
npm run eval:sdk -- --subagent=image-specialist --pattern="**/smoke-test.yaml"
# See full conversation and tool calls
npm run eval:sdk -- --subagent=coder-agent --verbose
mode: primary in the subagent fileEach subagent supports three test suites:
tests/ directoryid: subagent-name-test-id
name: "Test Name"
description: |
Test description
category: developer
prompts:
- text: |
Your test prompt here
approvalStrategy:
type: auto-approve # or manual-approve
behavior:
mustUseTools:
- tool-name
minToolCalls: 1
maxToolCalls: 5
expectedViolations:
- rule: approval-gate
shouldViolate: false
severity: error
timeout: 60000
tags:
- subagent
- subagent-name
- test-suite-name
The prompts/ directory in each subagent is reserved for model-specific prompt variants:
prompts/
├── gpt.md # GPT-optimized prompts
├── gemini.md # Gemini-optimized prompts
├── llama.md # Llama-optimized prompts
├── grok.md # Grok-optimized prompts
└── README.md # Variant documentation
Status: 🚧 Not yet implemented (directories created with .gitkeep)
Run Smoke Tests - Verify all 14 smoke tests pass
# Test each subagent
npm run eval:sdk -- --subagent=coder-agent
npm run eval:sdk -- --subagent=task-manager
# ... etc
Create Standalone Test Suite - Add comprehensive standalone tests
Create Delegation Test Suite - Add parent delegation tests
Add Prompt Variants - Create model-specific prompts
When adding tests for subagents:
For issues or questions: