Skip to content

Extend OpenCode with skills and plugins ​

OpenCode supports two types of extensions:

  • Skills: Markdown instruction files that teach OpenCode how to handle domain-specific tasks. OpenCode loads them automatically based on context.
  • Plugins: JavaScript or TypeScript modules that add runtime capabilities. They run at startup and can hook into OpenCode's execution pipeline.

Both can be scoped globally or to individual projects.

Learning objectives ​

By the end of this tutorial, you will learn how to:

  • Use the pre-installed system-admin and web-preview skills.
  • List, load, and locate skill files at the global or project scope.
  • Install plugins as npm packages or as local .js / .ts files.
  • Identify popular community plugins that extend OpenCode.

Skills ​

OpenCode loads relevant skills automatically during a conversation, so you rarely need to manage them yourself.

Pre-installed skills ​

OpenCode on Olares ships with two skills:

SkillDescription
system-adminSystem package management via pkg-install
web-previewDev server preview through a built-in reverse proxy

system-admin ​

Ask OpenCode to install or remove a system package in the chat. For example, type "Install ffmpeg" or "Remove the curl package", and the system-admin skill runs the appropriate pkg-install command.

If the skill doesn't activate, load it manually with /skill load system-admin.

For the full command reference, see Manage packages.

web-preview ​

The web-preview skill starts a dev server inside the container and exposes it through a built-in reverse proxy.

Describe what you want in the chat:

text
Start the web project in this folder on port 5544

OpenCode starts the server, confirms it's running, and returns a preview URL:

text
https://<your-OpenCode-domain>/__preview/<port>/

The domain is the same one shown in your browser address bar when you access OpenCode.

If the skill doesn't activate, load it manually with /skill load web-preview.

Manage skills ​

List available skills or load one manually:

text
/skill list
/skill load <skill-name>

Skill files are Markdown files stored in the following locations:

ScopePath in Olares Files
Global (all projects)Application/Data/opencode/.config/opencode/skills/
Project-levelHome/Code/<project>/.opencode/skills/

Plugins ​

Plugins are npm packages or local scripts that extend OpenCode at runtime.

Install as npm packages ​

Declare plugins in the OpenCode config file:

ScopeConfig file in Files
GlobalApplication/Data/opencode/.config/opencode/opencode.json
Project-levelopencode.json at the project root

Example:

json
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": [
    "opencode-helicone-session",
    "opencode-wakatime"
  ]
}

OpenCode resolves and installs declared packages on startup and caches them in ~/.cache/opencode/node_modules/.

Install as local files ​

Place .js or .ts files in a plugin directory. OpenCode loads them automatically on startup.

ScopePath in Olares Files
Global pluginsApplication/Data/opencode/.config/opencode/plugins/
Project-level pluginsHome/Code/<project>/.opencode/plugins/
PluginDescription
opencode-wakatimeTrack OpenCode usage time
opencode-firecrawlWeb crawling and search
oh-my-opencodeBackground Agent, LSP/AST tools, and preset Agents
opencode-supermemoryCross-session persistent memory
opencode-ptyLet AI run and interact with background processes in PTY

Learn more ​