creating-opencode-agents
π―Skillfrom pr-pm/prpm
Generates OpenCode agent configurations with markdown, YAML frontmatter, and precise tool/permission settings for specialized AI assistants.
Installation
npx skills add https://github.com/pr-pm/prpm --skill creating-opencode-agentsSkill Details
Use when creating OpenCode agents - provides markdown format with YAML frontmatter, mode/tools/permission configuration, and best practices for specialized AI assistants
Overview
# 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/.md - Global:
~/.config/opencode/agent/.md
Minimal Agent Structure
```markdown
---
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)
```markdown
---
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
```markdown
---
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
```markdown
---
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)
```markdown
---
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:
```yaml
tools:
mymcp_*: false # Disable all MCP tools starting with mymcp_
```
Permission Configuration
Simple Permissions
```yaml
permission:
edit: ask # Prompt before editing
bash: deny # Block all bash commands
webfetch: allow # Allow web fetching
```
Per-Command Bash Permissions
```yaml
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)
```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
```bash
# Install from registry
prpm install @username/agent-name --format opencode
# Installs to: .opencode/agent/
```
Publishing
```bash
prpm publish
```
Navigation & Usage
- Tab key: Switch between primary agents
- @ mention: Invoke subagents (e.g.,
@code-reviewer check this function) +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/
More from this repository10
Deploys and manages AWS Elastic Beanstalk applications with robust infrastructure health checks, error handling, and GitHub Actions integration.
I'll search for relevant PRPM packages to help with Pulumi and Beanstalk infrastructure. Suggested Packages: 1. @prpm/pulumi-beanstalk (Official, 5,000+ downloads) 2. pulumi-aws-extensions (Commun...
Writes content with authentic human voice, avoiding AI-generated patterns and corporate jargon for genuine, conversational communication.
Develops event-driven OpenCode plugins to intercept and customize interactions across command, file, LSP, permission, session, and tool events.
Develops a universal package manager for AI prompts, enabling seamless discovery, installation, sharing, and management of development artifacts across AI platforms.
thoroughness skill from pr-pm/prpm
Generates Continue rules with required naming, context-aware matching using globs/regex, and markdown formatting for package configurations.
I'm ready to assist you!".to_string(), sections: vec![], }) } _ => Err(format!("Unknown command: {}", command.name)), } } } ...
Guides developers in creating high-quality, well-structured PRPM package manifests with comprehensive best practices and multi-package management strategies.
Deploys and troubleshoots Node.js applications on AWS Elastic Beanstalk by managing dependency installation, handling monorepo complexities, and ensuring reliable deployments.