opencode-cli
This skill should be used when configuring or using the OpenCode CLI for headless LLM automation. Use when the user asks to "configure opencode", "use opencode cli", "set up opencode", "opencode run command", "opencode model selection", "opencode providers", "opencode vertex ai", "opencode mcp servers", "opencode ollama", "opencode local models", "opencode deepseek", "opencode kimi", "opencode mistral", "fallback cli tool", or "headless llm cli". Covers command syntax, provider configuration, Vertex AI setup, MCP servers, local models, cloud providers, and subprocess integration patterns.
Install
mkdir -p .claude/skills/opencode-cli && curl -L -o skill.zip "https://mcp.directory/api/skills/download/482" && unzip -o skill.zip -d .claude/skills/opencode-cli && rm skill.zipInstalls to .claude/skills/opencode-cli
About this skill
OpenCode CLI Skill
Use OpenCode CLI for headless LLM automation via subprocess invocation.
Table of Contents
- Quick Start
- Overview
- Basic Usage
- Model Format
- Configuration
- Reference Guides
- Subprocess Invocation
- Limitations vs Claude CLI
- Environment Variables
- Verify Setup
- Best Practices
Quick Start
- Install OpenCode CLI (see OpenCode documentation)
- Set environment variables for the provider:
export ANTHROPIC_API_KEY="sk-..." # For Anthropic # OR export GOOGLE_CLOUD_PROJECT="project-id" # For Vertex AI - Verify installation:
opencode --version - Test with a simple prompt:
opencode run --model google/gemini-2.5-pro "Hello, world"
Overview
OpenCode is a Go-based CLI that provides access to 75+ LLM providers through a unified interface. This skill focuses on the headless run command for automation and subprocess integration.
Basic Usage
Command Format
opencode run --model <provider/model> "<prompt>"
Key points:
- Use
runsubcommand for headless (non-interactive) mode - Model format is always
provider/model - Prompt is a positional argument at the end
- No stdin support (unlike Claude CLI's
-pflag)
Examples
# Using Anthropic Claude
opencode run --model anthropic/claude-sonnet-4-20250514 "Explain this code"
# Using Google Gemini
opencode run --model google/gemini-2.5-pro "Review this architecture"
# Using free Grok tier
opencode run --model opencode/grok-code "Generate tests for this function"
Model Format
Models use the pattern provider/model-name:
| Provider | Example Model |
|---|---|
anthropic | anthropic/claude-sonnet-4-20250514 |
google | google/gemini-2.5-pro |
opencode | opencode/grok-code (free tier) |
openai | openai/gpt-4o |
google-vertex | google-vertex/gemini-2.5-pro |
Configuration
Config File Locations
- Environment variable:
OPENCODE_CONFIGpath - Project-level:
opencode.jsonin project root - Global:
~/.config/opencode/opencode.json
Configs are merged (project overrides global).
Basic Configuration
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-5",
"small_model": "anthropic/claude-haiku-4-5"
}
Authentication
Credentials stored in ~/.local/share/opencode/auth.json after running /connect in TUI mode, or configure via environment variables.
Reference Guides
Load the appropriate reference for detailed configuration:
| Task | Reference File |
|---|---|
| Setting up Google Vertex AI | vertex-ai-setup.md |
| Configuring providers (Anthropic, OpenAI, etc.) | provider-config.md |
| Cloud providers (Deepseek, Kimi, Mistral, etc.) | cloud-providers.md |
| Local models (Ollama, LM Studio) | local-models.md |
| MCP server configuration | mcp-servers.md |
| Subprocess integration patterns | integration-patterns.md |
Vertex AI Setup
See vertex-ai-setup.md for Vertex AI configuration including environment variables and service account setup.
Subprocess Invocation
Basic Pattern
import subprocess
result = subprocess.run(
["opencode", "run", "--model", "google/gemini-2.5-pro", prompt],
capture_output=True,
text=True,
timeout=600
)
output = result.stdout
Key Considerations
- Stagger parallel calls - Add 5-10 second delays between parallel invocations to avoid cache race conditions
- Implement fallback - Consider Claude CLI as fallback if OpenCode fails
- Health check - Use
opencode --versionto verify availability - Timeout handling - Set appropriate timeouts (default 600s for long generations)
See integration-patterns.md for complete patterns.
Limitations vs Claude CLI
| Feature | OpenCode | Claude CLI |
|---|---|---|
| Headless mode | run subcommand | -p flag with stdin |
| Hooks/settings | Not supported | --settings flag |
| Directory access | Not supported | --add-dir flag |
| Tool pre-approval | Not supported | --allowedTools flag |
| Prompt input | Positional argument | Stdin or -p |
Environment Variables
| Variable | Purpose |
|---|---|
OPENCODE_CONFIG | Custom config file path |
GOOGLE_CLOUD_PROJECT | GCP project for Vertex AI |
GOOGLE_APPLICATION_CREDENTIALS | Service account JSON path |
VERTEX_LOCATION | Vertex AI region |
Verify Setup
Complete this checklist to verify a working installation:
- Check version - Confirm CLI is installed:
opencode --version - Test default model - Verify basic connectivity:
opencode run --model google/gemini-2.5-pro "Say hello" - Check configuration - Review active config:
cat ~/.config/opencode/opencode.json - Verify MCP servers (if configured) - Test MCP connectivity by running a command that uses MCP tools
Best Practices
- Use project-level config - Create
opencode.jsonfor project-specific settings - Prefer environment variables - Use
{env:VAR_NAME}syntax in config for secrets - Implement retries - Network failures are common; implement retry logic
- Log output - Capture both stdout and stderr for debugging
- Stagger parallel calls - Prevent cache race conditions with delays
You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
rust-coding-skill
UtakataKyosui
Guides Claude in writing idiomatic, efficient, well-structured Rust code using proper data modeling, traits, impl organization, macros, and build-speed best practices.
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.