creating-opencode-agents
About
This Claude Skill provides developers with structured templates and configuration guidance for creating specialized OpenCode AI agents. It covers YAML frontmatter formatting, mode/tool/permission setup, and best practices for domain-focused development assistants. The skill helps ensure agents are properly configured in the correct file locations with appropriate system prompts.
Quick Install
Claude Code
Recommended/plugin add https://github.com/majiayu000/claude-skill-registrygit clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/creating-opencode-agentsCopy and paste this command in Claude Code to install this skill
Documentation
Creating OpenCode Agents
Expert guidance for creating OpenCode AI agents with proper configuration, tools, and permissions.
When to Use
Use when:
- User asks to create an OpenCode agent
- Need specialized AI assistant for specific tasks
- Building domain-focused development tools
- Configuring agent tools and permissions
Don't use for:
- OpenCode plugins (use creating-opencode-plugins skill)
- OpenCode slash commands (different format)
- Generic AI prompts (not OpenCode-specific)
Quick Reference
File Location
- Project:
.opencode/agent/<name>.md - Global:
~/.config/opencode/agent/<name>.md
Minimal Agent Structure
---
description: Brief explanation of the agent's purpose
mode: all
---
System prompt content here...
Required Fields
description(string): Brief explanation of the agent's purpose (REQUIRED)
Optional Fields
| Field | Type | Description |
|---|---|---|
mode | primary | subagent | all | How agent can be used (default: all) |
model | string | Override model (e.g., anthropic/claude-sonnet-4-20250514) |
temperature | number | Response randomness 0.0-1.0 |
prompt | string | Path to prompt file: {file:./path/to/prompt.txt} |
maxSteps | number | Maximum iterations (unlimited if unset) |
tools | object | Enable/disable tools with boolean values |
permission | object | Tool access: ask, allow, or deny |
disable | boolean | Deactivate the agent |
Agent Modes
primary: Main assistant for direct interaction, switchable via Tab keysubagent: Specialized assistant invoked by primary agents or@mentionsall: Default; usable in both contexts
Common Patterns
Code Reviewer (Read-Only)
---
description: Reviews code for best practices and security
mode: subagent
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
bash: false
read: true
grep: true
glob: true
permission:
edit: deny
bash: deny
---
# Code Review Agent
You are an expert code reviewer with deep knowledge of software engineering principles.
## Instructions
- Check for code smells and anti-patterns
- Verify test coverage
- Ensure documentation exists
- Review error handling and security
- Suggest improvements with examples
## Review Checklist
- [ ] Code follows project conventions
- [ ] Tests are comprehensive
- [ ] No security vulnerabilities
- [ ] Documentation is clear
Backend Developer
---
description: Node.js/Express API development with database optimization
mode: all
temperature: 0.3
tools:
read: true
write: true
edit: true
bash: true
grep: true
glob: true
permission:
bash:
"npm test": allow
"npm run *": allow
"git *": ask
"*": deny
---
# Backend Development Agent
You are a backend development expert specializing in Node.js, Express, and database optimization.
## Focus Areas
- RESTful API design
- Input validation and error handling
- Database query optimization
- Security best practices
## Standards
- Always use async/await
- Implement proper logging
- Validate all inputs
- Use TypeScript interfaces
Test Writer
---
description: Writes comprehensive test suites with high coverage
mode: subagent
temperature: 0.2
maxSteps: 50
tools:
read: true
write: true
bash: true
permission:
bash:
"npm test*": allow
"*": deny
---
# Test Writer Agent
You are a testing expert focused on comprehensive test coverage.
## Test Requirements
- Unit tests for all functions
- Edge case coverage
- Proper mocking
- AAA pattern (Arrange, Act, Assert)
- Descriptive test names
## Frameworks
- Vitest for unit tests
- Playwright for E2E
- MSW for API mocking
Documentation Writer (Limited Tools)
---
description: Technical documentation and API reference writer
mode: subagent
temperature: 0.5
tools:
read: true
write: true
edit: true
bash: false
---
# Documentation Agent
You write clear, comprehensive technical documentation.
## Focus
- API reference documentation
- README files
- Architecture docs
- Code comments and JSDoc
## Style
- Clear and concise
- Include examples
- Use proper markdown formatting
- Follow project documentation standards
Tools Configuration
Available Tools
| Tool | Description |
|---|---|
read | Read file contents |
write | Create new files |
edit | Modify existing files |
bash | Execute shell commands |
grep | Search file contents |
glob | Find files by pattern |
webfetch | Fetch web content |
websearch | Search the web |
Wildcard Patterns
Disable groups of tools with wildcards:
tools:
mymcp_*: false # Disable all MCP tools starting with mymcp_
Permission Configuration
Simple Permissions
permission:
edit: ask # Prompt before editing
bash: deny # Block all bash commands
webfetch: allow # Allow web fetching
Per-Command Bash Permissions
permission:
bash:
"git push": ask # Ask before pushing
"git *": allow # Allow other git commands
"npm test": allow # Allow testing
"*": deny # Deny everything else
Temperature Guidelines
| Temperature | Use Case |
|---|---|
| 0.0-0.2 | Code review, debugging, analysis |
| 0.3-0.5 | General development, refactoring |
| 0.6-1.0 | Documentation, brainstorming, creative work |
Common Mistakes
| Mistake | Problem | Fix |
|---|---|---|
| Missing description | Required field | Add description in frontmatter |
| Granting all tools | Security risk | Only grant necessary tools |
| Vague prompt | Ineffective agent | Be specific about domain and tasks |
| Wrong mode | Agent not accessible | Use all for flexibility |
| No tool restrictions | Agent can do anything | Use tools/permission to limit scope |
Best Practices
Naming
- Use kebab-case:
code-reviewer, notCodeReviewer - Be specific:
react-testing-expert, nothelper - Indicate domain:
aws-infrastructure,mobile-ui-designer
Prompts
- Define expertise area clearly
- List specific focus areas
- Specify standards/conventions
- Provide examples when helpful
- Set clear expectations
Security
- Grant minimum necessary tools
- Use permissions to restrict dangerous operations
- Disable bash for read-only agents
- Use glob patterns for bash permissions
- Consider maxSteps for long-running agents
PRPM Integration
Package Manifest (prpm.json)
{
"name": "@username/my-agent",
"version": "1.0.0",
"description": "My OpenCode agent",
"format": "opencode",
"subtype": "agent",
"files": [".opencode/agent/my-agent.md"],
"tags": ["opencode", "agent", "development"]
}
Installation
# Install from registry
prpm install @username/agent-name --format opencode
# Installs to: .opencode/agent/<agent-name>.md
Publishing
prpm publish
Navigation & Usage
- Tab key: Switch between primary agents
- @ mention: Invoke subagents (e.g.,
@code-reviewer check this function) - <Leader>+Right/Left: Navigate parent/child sessions
Troubleshooting
Agent Not Found
- Check file is in
.opencode/agent/ - Verify
.mdextension - Validate YAML frontmatter syntax
Tools Not Working
- Verify tool names (lowercase in OpenCode)
- Check permission settings
- Ensure mode allows tool access
Agent Ineffective
- Be more specific in prompt
- Add concrete examples
- Reference team standards
- Structure with markdown headers
Schema Reference: packages/converters/schemas/opencode.schema.json
Documentation: https://opencode.ai/docs/agents/
GitHub Repository
Related Skills
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
evaluating-llms-harness
TestingThis Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.
langchain
MetaLangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.
llamaguard
OtherLlamaGuard is Meta's 7-8B parameter model for moderating LLM inputs and outputs across six safety categories like violence and hate speech. It offers 94-95% accuracy and can be deployed using vLLM, Hugging Face, or Amazon SageMaker. Use this skill to easily integrate content filtering and safety guardrails into your AI applications.
