opencode/skills/customizing-opencode/SKILL.md
Configure OpenCode via opencode.json, agents, commands, MCP servers, custom tools, plugins, themes, keybinds, and permissions. Use when setting up or modifying OpenCode configuration.
npx skillsauth add third774/dotfiles customizing-opencodeInstall 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.
Configure OpenCode behavior through config files, agents, commands, and extensions.
| Location | Path | Purpose |
|----------|------|---------|
| Global | ~/.config/opencode/opencode.json | User-wide preferences |
| Project | ./opencode.json | Project-specific settings |
| Custom | $OPENCODE_CONFIG env var | Override path |
Precedence (later overrides earlier): Remote .well-known/opencode < Global < Custom < Project
| Task | Where | Reference |
|------|-------|-----------|
| Set theme, model, autoupdate | opencode.json | config-schema.md |
| Define specialized agents | .opencode/agents/*.md or config | agents.md |
| Create slash commands | .opencode/commands/*.md or config | commands.md |
| Add external tools via MCP | opencode.json mcp section | mcp-servers.md |
| Write custom tool functions | .opencode/tools/*.ts | custom-tools.md |
| Extend with plugins/hooks | .opencode/plugins/*.ts or npm | plugins.md |
| Control tool access | opencode.json permission section | permissions.md |
| Customize keyboard shortcuts | opencode.json keybinds section | keybinds.md |
| Change colors/appearance | opencode.json theme or custom JSON | themes.md |
~/.config/opencode/ # Global config
├── opencode.json
├── AGENTS.md # Global rules
├── agents/ # Global agents
├── commands/ # Global commands
├── plugins/ # Global plugins
├── skills/ # Global skills
├── tools/ # Global custom tools
└── themes/ # Global custom themes
.opencode/ # Project config (same structure)
├── agents/
├── commands/
├── plugins/
├── skills/
├── tools/
└── themes/
| Need | Solution |
|------|----------|
| Change model/theme for all projects | Global opencode.json |
| Project-specific agent behavior | Project .opencode/agents/ |
| Reusable prompt templates | Commands (.opencode/commands/) |
| External service integration | MCP servers |
| Custom logic the LLM can call | Custom tools |
| React to OpenCode events | Plugins |
| Restrict dangerous operations | Permissions |
Use in any config value:
{
"model": "{env:OPENCODE_MODEL}", // Environment variable
"instructions": ["{file:./rules.md}"] // File contents
}
Project instructions loaded into LLM context:
| File | Scope |
|------|-------|
| ./AGENTS.md | Project (traverses up to git root) |
| ~/.config/opencode/AGENTS.md | Global |
| instructions array in config | Additional files/globs |
{
"instructions": ["CONTRIBUTING.md", "docs/*.md"]
}
Full documentation: https://opencode.ai/docs/config/
data-ai
Extract captions and transcripts from YouTube videos for agent context. Tries manual subtitles, then auto-generated, then falls back to audio transcription via Whisper. Use when a user provides a YouTube URL and wants to understand, summarize, reference, or search video content.
tools
Official skill for XcodeBuildMCP. Use when doing iOS/macOS/watchOS/tvOS/visionOS work (build, test, run, debug, log, UI automation).
development
Write behavior-focused tests following Testing Trophy model with real dependencies, avoiding common anti-patterns like testing mocks and polluting production code. Use when writing new tests, reviewing test quality, or improving test coverage.
data-ai
Create professional Mermaid diagrams with proper styling and visual hierarchy. Use when creating flowcharts, sequence diagrams, state machines, class diagrams, or architecture visualizations.