3
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill third774/dotfiles --skill customizing-opencode- SKILL.md3.4 KB
Overview
This skill configures OpenCode behavior via opencode.json, agents, commands, MCP servers, custom tools, plugins, themes, keybinds, and permission rules. It centralizes where settings live (global, project, or custom path) and explains precedence and directory layout. Use it to set defaults, add integrations, define reusable prompts, and lock down risky operations.
How this skill works
The skill inspects configuration files in three main places: global (~/.config/opencode/opencode.json), project (.opencode/ or ./opencode.json), and an override set by $OPENCODE_CONFIG. Later sources override earlier ones. It also recognizes ancillary folders (.opencode/agents, commands, plugins, tools, themes) and supports variable substitution from environment variables and file contents.
When to use it
- Set a default model, theme, or autoupdate behavior across all projects
- Define project-specific agents, prompts, or command templates
- Integrate external services and tools through MCP servers
- Add custom tool functions that the LLM can call during runs
- Enforce permissions to restrict potentially dangerous operations
Best practices
- Keep global defaults in ~/.config/opencode/opencode.json and override per-project only when necessary
- Store reusable prompts and workflows as commands in .opencode/commands/ to enable sharing
- Place executable custom tools in .opencode/tools/*.ts and keep them small and tested
- Use variable substitution ({env:VAR} and {file:path}) for secrets and shared content instead of hardcoding
- Define a clear permission policy in opencode.json to limit access to powerful tools and MCP endpoints
Example use cases
- Set a company-wide theme, model preference, and auto-update schedule in the global config
- Create a project agent in .opencode/agents/ that loads CONTRIBUTING.md and enforces code style in PRs
- Add an MCP server entry in opencode.json to call an external analysis service from within OpenCode
- Write a custom tool that runs tests and returns structured results for the LLM to act on
- Create keyboard shortcuts in opencode.json keybinds to trigger common slash commands
FAQ
Precedence is: remote .well-known/opencode < Global (~/.config/opencode) < Custom ($OPENCODE_CONFIG) < Project (./opencode.json or .opencode/). Later entries override earlier ones.
How do I inject file contents or environment variables into config?
Use variable substitution syntax, e.g. "model": "{env:OPENCODE_MODEL}" or "instructions": ["{file:./rules.md}"] to embed values at runtime.