skills/opencode-agent-creator/SKILL.md
Create specialized OpenCode agents with proper configuration for primary agents and subagents. Use when creating reusable agent profiles.
npx skillsauth add Thomashighbaugh/opencode opencode-agent-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when creating OpenCode agents - specialized AI assistants configured for specific tasks and workflows.
Use this skill when the user wants to:
Main assistants you interact with directly. Users can cycle through them using Tab key or the switch_agent keybind.
Built-in examples:
Specialized assistants invoked by primary agents or manually via @mention. Used for specific tasks.
Built-in examples:
OpenCode agents can be defined in two ways:
Create .md files in:
~/.config/opencode/agents/.opencode/agents/Format:
---
description: Brief description of agent purpose
mode: primary|subagent|all
model: provider/model-id (optional)
temperature: 0.0-1.0 (optional)
maxSteps: number (optional)
tools:
write: true|false
edit: true|false
bash: true|false
permission:
edit: allow|ask|deny
bash:
"*": allow|ask|deny
"specific command": allow|ask|deny
webfetch: allow|ask|deny
task:
"*": allow|ask|deny
"agent-name": allow|ask|deny
hidden: true|false (optional, for subagents)
disable: true|false (optional)
---
System prompt content here.
Define the agent's purpose, behavior, and guidelines.
Filename becomes agent name: code-reviewer.md → code-reviewer agent
Add to opencode.jsonc:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"agent-name": {
"description": "Brief description",
"mode": "primary",
"model": "ollama/glm-5.1:cloud",
"prompt": "{file:./prompts/agent.txt}",
"temperature": 0.3,
"maxSteps": 10,
"tools": {
"write": true,
"edit": true,
"bash": true
},
"permission": {
"edit": "allow",
"bash": {
"*": "ask",
"git status": "allow"
}
}
}
}
}
description: Brief description of agent's purpose and when to use itmode: "primary", "subagent", or "all" (default: "all")
primary: User-facing agent, switchable via Tabsubagent: Invoked by other agents or via @mentionall: Can be used as bothprompt: Custom system prompt (inline or {file:path})model: Override default model (format: provider/model-id)temperature: Control randomness (0.0-1.0)
0.0-0.2: Focused/deterministic (code analysis)0.3-0.5: Balanced (general development)0.6-1.0: Creative (brainstorming)maxSteps: Maximum agentic iterations before text-only responsedisable: Set true to disable agenthidden: Hide subagent from @mention autocomplete (subagents only)Control which tools are available:
tools:
write: true
edit: false
bash: false
mymcp_*: false # Wildcard to disable MCP server tools
Control what actions require approval:
permission:
edit: ask # ask, allow, or deny
bash:
"*": ask # Default for all commands
"git status": allow
"git log*": allow
"git push": ask
webfetch: deny
task: # Which subagents can be invoked
"*": deny
"code-*": allow # Allow code-prefixed subagents
"reviewer": ask
Values: "allow" (no approval), "ask" (prompt user), "deny" (disable)
Any additional options pass through to the provider:
reasoningEffort: high # OpenAI reasoning models
textVerbosity: low # OpenAI reasoning models
---
description: Writes and maintains project documentation
mode: subagent
tools:
bash: false
---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations
- Proper structure
- Code examples
- User-friendly language
---
description: Performs security audits and identifies vulnerabilities
mode: subagent
tools:
write: false
edit: false
permission:
bash:
"*": deny
---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues
---
description: Reviews code for best practices and potential issues
mode: subagent
model: ollama/glm-5.1:cloud
temperature: 0.1
tools:
write: false
edit: false
permission:
bash:
"*": ask
"git diff": allow
"git log*": allow
---
You are a code reviewer. Focus on security, performance, and maintainability.
Review checklist:
1. Code quality and best practices
2. Potential bugs and edge cases
3. Performance implications
4. Security considerations
Provide constructive feedback without making direct changes.
---
description: Focused debugging with investigation tools
mode: primary
temperature: 0.2
tools:
write: false
permission:
bash:
"*": allow
edit: ask
---
You are a debugging specialist. Systematically investigate issues.
Approach:
1. Reproduce the issue
2. Gather relevant logs and context
3. Identify root cause
4. Suggest minimal fix
5. Recommend preventive measures
---
description: High-effort reasoning for complex problems
mode: subagent
model: openai/gpt-5
temperature: 0.1
reasoningEffort: high
textVerbosity: low
maxSteps: 20
---
You solve complex problems with deep reasoning.
For each problem:
1. Break down into components
2. Analyze dependencies
3. Consider edge cases
4. Propose robust solutions
5. Validate approach
primary for main work, subagent for specialized tasksask for risky operations, allow for safe onesWhen creating an agent:
Determine scope:
Choose location:
~/.config/opencode/agents/) for reusable agents.opencode/agents/) for project-specific agentsDefine configuration:
description, modemodel, temperature, maxSteps, tools, permissionWrite system prompt:
Test the agent:
@agent-name or let primary agents use itRefine:
switch_agent keybind@agent-name message to invoke directly<Leader>+Right/Left to switch between parent/child sessionsUse the built-in command:
opencode agent create
This will:
provider/model-id (e.g., ollama/glm-5.1:cloud)hidden: true) don't appear in autocomplete but can still be invoked programmaticallydocumentation
Agentic memory system for writers - track characters, relationships, scenes, and themes
documentation
LLM Wiki — persistent markdown knowledge base that compounds across sessions (Karpathy model)
tools
Use ONLY when the user explicitly says: 'use the skill web-to-markdown ...' (or 'use a skill web-to-markdown ...'). Converts webpage URLs to clean Markdown by calling the local web2md CLI (Puppeteer + Readability), suitable for JS-rendered pages.
testing
Structured visual QA verdict for screenshot-to-reference comparisons