chore: install openagent opencode

Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
This commit is contained in:
2026-04-07 11:31:26 -04:00
parent b4c03ff25e
commit c2263602c4
204 changed files with 38010 additions and 0 deletions

View File

@@ -0,0 +1,216 @@
<!-- Context: openagents-repo/examples | Priority: high | Version: 1.0 | Updated: 2026-02-15 -->
# Context Bundle Example: Create Data Analyst Agent
Session: 20250121-143022-a4f2
Created: 2025-01-21T14:30:22Z
For: TaskManager
Status: in_progress
## Task Overview
Create a new data analyst agent for the OpenAgents Control repository. This agent will specialize in data analysis tasks including data visualization, statistical analysis, and data transformation.
## User Request
"Create a new data analyst agent that can help with data analysis, visualization, and statistical tasks"
## Relevant Standards (Load These Before Starting)
**Core Standards**:
- `.opencode/context/core/standards/code-quality.md` → Modular, functional code patterns
- `.opencode/context/core/standards/test-coverage.md` → Testing requirements and TDD
- `.opencode/context/core/standards/documentation.md` → Documentation standards
**Core Workflows**:
- `.opencode/context/core/workflows/feature-breakdown.md` → Task breakdown methodology
## Repository-Specific Context (Load These Before Starting)
**Quick Start** (ALWAYS load first):
- `.opencode/context/openagents-repo/quick-start.md` → Repo orientation and common commands
**Core Concepts** (Load based on task type):
- `.opencode/context/openagents-repo/core-concepts/agents.md` → How agents work
- `.opencode/context/openagents-repo/core-concepts/evals.md` → How testing works
- `.opencode/context/openagents-repo/core-concepts/registry.md` → How registry works
- `.opencode/context/openagents-repo/core-concepts/categories.md` → How organization works
**Guides** (Load for specific workflows):
- `.opencode/context/openagents-repo/guides/adding-agent-basics.md` → Step-by-step agent creation
- `.opencode/context/openagents-repo/guides/testing-agent.md` → Testing workflow
- `.opencode/context/openagents-repo/guides/updating-registry.md` → Registry workflow
## Key Requirements
**From Standards**:
- Agent must follow modular, functional programming patterns
- All code must be testable and maintainable
- Documentation must be concise and high-signal
- Include examples where helpful
**From Repository Context**:
- Agent file must be in `.opencode/agent/data/` directory (category-based organization)
- Must include proper frontmatter metadata (id, name, description, category, type, version, etc.)
- Must follow naming convention: `data-analyst.md` (kebab-case)
- Must include tags for discoverability
- Must specify tools and permissions
- Must be registered in `registry.json`
**Naming Conventions**:
- File name: `data-analyst.md` (kebab-case)
- Agent ID: `data-analyst`
- Category: `data`
- Type: `agent`
**File Structure**:
- Agent file: `.opencode/agent/data/data-analyst.md`
- Eval directory: `evals/agents/data/data-analyst/`
- Eval config: `evals/agents/data/data-analyst/config/eval-config.yaml`
- Eval tests: `evals/agents/data/data-analyst/tests/`
- README: `evals/agents/data/data-analyst/README.md`
## Technical Constraints
- Must use category-based organization (data category)
- Must include proper frontmatter metadata
- Must specify tools needed (read, write, bash, etc.)
- Must define permissions for sensitive operations
- Must include temperature setting (0.1-0.3 for analytical tasks)
- Must follow agent prompt structure (context, role, task, instructions)
- Eval tests must use YAML format
- Registry entry must follow schema
## Files to Create/Modify
**Create**:
- `.opencode/agent/data/data-analyst.md` - Main agent definition with frontmatter and prompt
- `evals/agents/data/data-analyst/config/eval-config.yaml` - Eval configuration
- `evals/agents/data/data-analyst/tests/smoke-test.yaml` - Basic smoke test
- `evals/agents/data/data-analyst/tests/data-analysis-test.yaml` - Data analysis capability test
- `evals/agents/data/data-analyst/README.md` - Agent documentation
**Modify**:
- `registry.json` - Add data-analyst agent entry
- `.opencode/context/navigation.md` - Add data category context if needed
## Success Criteria
- [x] Agent file created with proper frontmatter metadata
- [x] Agent prompt follows established patterns (context, role, task, instructions)
- [x] Eval test structure created with config and tests
- [x] Smoke test passes
- [x] Data analysis test passes
- [x] Registry entry added and validates
- [x] README documentation created
- [x] All validation scripts pass
## Validation Requirements
**Scripts to Run**:
- `./scripts/registry/validate-registry.sh` - Validates registry.json schema and entries
- `./scripts/validation/validate-test-suites.sh` - Validates eval test structure
**Tests to Run**:
- `cd evals/framework && bun --bun run eval:sdk -- --agent=data/data-analyst --pattern="smoke-test.yaml"` - Run smoke test
- `cd evals/framework && bun --bun run eval:sdk -- --agent=data/data-analyst` - Run all tests
**Manual Checks**:
- Verify frontmatter includes all required fields
- Check that tools and permissions are appropriate
- Ensure prompt is clear and follows standards
- Verify eval tests are meaningful
## Expected Output
**Deliverables**:
- Functional data analyst agent
- Complete eval test suite
- Registry entry
- Documentation
**Format**:
- Agent file: Markdown with YAML frontmatter
- Eval config: YAML format
- Eval tests: YAML format with test cases
- README: Markdown documentation
## Progress Tracking
- [ ] Context loaded and understood
- [ ] Agent file created with frontmatter
- [ ] Agent prompt written
- [ ] Eval directory structure created
- [ ] Eval config created
- [ ] Smoke test created
- [ ] Data analysis test created
- [ ] README documentation created
- [ ] Registry entry added
- [ ] Validation scripts run
- [ ] All tests pass
- [ ] Documentation updated
---
## Instructions for Subagent
**IMPORTANT**:
1. Load ALL context files listed in "Relevant Standards" and "Repository-Specific Context" sections BEFORE starting work
2. Follow ALL requirements from the loaded context
3. Apply naming conventions and file structure requirements
4. Validate your work using the validation requirements
5. Update progress tracking as you complete steps
**Your Task**:
Create a complete data analyst agent for the OpenAgents Control repository following all established conventions and standards.
**Approach**:
1. **Load Context**: Read all context files listed above to understand:
- How agents are structured (core-concepts/agents.md)
- How to add an agent (guides/adding-agent-basics.md)
- Code standards (standards/code-quality.md)
- Testing requirements (core-concepts/evals.md)
2. **Create Agent File**:
- Create `.opencode/agent/data/data-analyst.md`
- Add frontmatter with all required metadata
- Write agent prompt with:
- Context section (system, domain, task, execution context)
- Role definition
- Task description
- Instructions and workflow
- Tools and capabilities
- Examples if helpful
3. **Create Eval Structure**:
- Create directory: `evals/agents/data/data-analyst/`
- Create config: `config/eval-config.yaml`
- Create tests directory: `tests/`
- Create smoke test: `tests/smoke-test.yaml`
- Create capability test: `tests/data-analysis-test.yaml`
- Create README: `README.md`
4. **Update Registry**:
- Add entry to `registry.json` following schema
- Include: id, name, description, category, type, path, version, tags
5. **Validate**:
- Run validation scripts
- Run eval tests
- Fix any issues
**Constraints**:
- Agent must be in `data` category
- Must follow functional programming patterns
- Must include proper error handling
- Must specify appropriate tools (read, write, bash for data tasks)
- Temperature should be 0.1-0.3 for analytical precision
- Eval tests must be meaningful and test actual capabilities
**Questions/Clarifications**:
- What specific data analysis capabilities should be emphasized? (visualization, statistics, transformation)
- Should the agent support specific data formats? (CSV, JSON, Parquet)
- Should the agent integrate with specific tools? (pandas, matplotlib, etc.)
- What level of statistical analysis? (descriptive, inferential, predictive)
**Note**: This is an example context bundle. In practice, the subagent would receive this file and follow the instructions to complete the task.

View File

@@ -0,0 +1,48 @@
<!-- Context: openagents-repo/navigation | Priority: critical | Version: 1.0 | Updated: 2026-02-15 -->
# OpenAgents Examples
**Purpose**: Example implementations and use cases for OpenAgents Control
---
## Structure
```
openagents-repo/examples/
├── navigation.md (this file)
├── hooks/
│ └── navigation.md
├── skills/
│ └── navigation.md
└── subagents/
└── navigation.md
```
---
## Quick Routes
| Task | Path |
|------|------|
| **Hook examples** | `hooks/navigation.md` |
| **Skill examples** | `skills/navigation.md` |
| **Subagent examples** | `subagents/navigation.md` |
| **Guides** | `../guides/navigation.md` |
| **Blueprints** | `../blueprints/navigation.md` |
---
## By Type
**Hooks** → Hook implementation examples
**Skills** → Skill implementation examples
**Subagents** → Subagent implementation examples
---
## Related Context
- **OpenAgents Navigation** → `../navigation.md`
- **Guides** → `../guides/navigation.md`
- **Blueprints** → `../blueprints/navigation.md`

View File

@@ -0,0 +1,284 @@
<!-- Context: openagents-repo/examples | Priority: high | Version: 1.0 | Updated: 2026-02-15 -->
# Subagent Prompt Structure (Optimized)
**Purpose**: Template for well-structured subagent prompts with tool usage emphasis
**Last Updated**: 2026-01-07
---
## Core Principle
**Position Sensitivity**: Critical instructions in first 15% of prompt improves adherence.
For subagents, the most critical instruction is: **which tools to use**.
---
## Optimized Structure
```xml
---
# Frontmatter (lines 1-50)
id: subagent-name
name: Subagent Name
category: subagents/core
type: subagent
mode: subagent
tools:
read: true
grep: true
glob: true
list: true
bash: false
edit: false
write: false
permissions:
bash: "*": "deny"
edit: "**/*": "deny"
write: "**/*": "deny"
---
# Agent Name
> **Mission**: One-sentence mission statement
Brief description (1-2 sentences).
---
<!-- CRITICAL: This section must be in first 15% -->
<critical_rules priority="absolute" enforcement="strict">
<rule id="tool_usage">
ONLY use: glob, read, grep, list
NEVER use: bash, write, edit, task
You're read-only—no modifications allowed
</rule>
<rule id="always_use_tools">
ALWAYS use tools to discover/verify
NEVER assume or fabricate information
</rule>
<rule id="output_format">
ALWAYS include: exact paths, specific details, evidence
</rule>
</critical_rules>
---
<context>
<system>What system this agent operates in</system>
<domain>What domain knowledge it needs</domain>
<task>What it does</task>
<constraints>What limits it has</constraints>
</context>
<role>One-sentence role description</role>
<task>One-sentence task description</task>
---
<execution_priority>
<tier level="1" desc="Critical Operations">
- @tool_usage: Use ONLY allowed tools
- @always_use_tools: Verify everything
- @output_format: Precise results
</tier>
<tier level="2" desc="Core Workflow">
- Main workflow steps
</tier>
<tier level="3" desc="Quality">
- Quality checks
- Validation
</tier>
<conflict_resolution>
Tier 1 always overrides Tier 2/3
</conflict_resolution>
</execution_priority>
---
## Workflow
### Stage 1: Discovery
**Action**: Use tools to discover information
**Process**: 1. Use glob/list, 2. Use read, 3. Use grep
**Output**: Discovered items
### Stage 2: Analysis
**Action**: Analyze discovered information
**Process**: Extract key details
**Output**: Analyzed results
### Stage 3: Present
**Action**: Return structured response
**Process**: Format according to @output_format
**Output**: Complete response
---
## What NOT to Do
- ❌ **NEVER use bash/write/edit/task tools** (@tool_usage)
- ❌ Don't assume information—verify with tools
- ❌ Don't fabricate paths or details
- ❌ Don't skip required output fields
---
## Remember
**Your Tools**: glob (discover) | read (extract) | grep (search) | list (structure)
**Your Constraints**: Read-only, verify everything, precise output
**Your Value**: Accurate, verified information using tools
```
---
## Key Optimizations Applied
### 1. Critical Rules Early (Lines 50-80)
**Before** (buried at line 596):
```markdown
## Important Guidelines
...
(400 lines later)
### Tool Usage
- Use glob, read, grep, list
```
**After** (at line 50):
```xml
<critical_rules priority="absolute" enforcement="strict">
<rule id="tool_usage">
ONLY use: glob, read, grep, list
NEVER use: bash, write, edit, task
</rule>
</critical_rules>
```
**Impact**: 47.5% reduction in prompt length, tool usage emphasized early.
---
### 2. Execution Priority (3-Tier System)
```xml
<execution_priority>
<tier level="1" desc="Critical">
- Tool usage rules
- Verification requirements
</tier>
<tier level="2" desc="Core">
- Main workflow
</tier>
<tier level="3" desc="Quality">
- Nice-to-haves
</tier>
<conflict_resolution>Tier 1 always overrides</conflict_resolution>
</execution_priority>
```
**Why**: Resolves conflicts, makes priorities explicit.
---
### 3. Flattened Nesting (≤4 Levels)
**Before** (6-7 levels):
```xml
<instructions>
<workflow>
<stage>
<process>
<step>
<action>
<detail>...</detail>
</action>
</step>
</process>
</stage>
</workflow>
</instructions>
```
**After** (3-4 levels):
```xml
<workflow>
<stage id="1" name="Discovery">
<action>Use tools</action>
<process>1. glob, 2. read, 3. grep</process>
</stage>
</workflow>
```
**Why**: Improves clarity, reduces cognitive load.
---
### 4. Explicit "What NOT to Do"
```markdown
## What NOT to Do
-**NEVER use bash/write/edit/task tools**
- ❌ Don't assume—verify with tools
- ❌ Don't fabricate information
```
**Why**: Negative examples prevent common mistakes.
---
## File Size Targets
| Section | Target Lines | Purpose |
|---------|--------------|---------|
| Frontmatter | 30-50 | Agent metadata |
| Critical Rules | 20-30 | Tool usage, core rules |
| Context/Role/Task | 20-30 | Agent identity |
| Execution Priority | 20-30 | Priority system |
| Workflow | 80-120 | Main instructions |
| Guidelines | 40-60 | Best practices |
| **Total** | **<400 lines** | MVI compliant |
---
## Validation Checklist
Before deploying optimized prompt:
- [ ] Critical rules in first 15% (lines 50-80)?
- [ ] Tool usage explicitly stated?
- [ ] Nesting 4 levels?
- [ ] Execution priority defined?
- [ ] "What NOT to Do" section included?
- [ ] Total lines <400?
- [ ] Semantic meaning preserved?
---
## Real Example
**ContextScout Optimization**:
- **Before**: 750 lines, critical rules at line 596
- **After**: 394 lines (47.5% reduction), critical rules at line 50
- **Result**: Test passed (was failing with 0 tool calls)
**Files**:
- Optimized: `.opencode/agent/subagents/core/contextscout.md`
- Backup: (example: `.opencode/agent/ContextScout-original-backup.md`)
---
## Related
- `concepts/subagent-testing-modes.md` - How to test optimized prompts
- `guides/testing-subagents.md` - Verify tool usage works
- `errors/tool-permission-errors.md` - Fix tool issues
**Reference**: `.opencode/command/prompt-engineering/prompt-optimizer.md` (optimization principles)