opencode
Skill2 starsChanged 4 months agoMITView on GitHub
Delegate coding to OpenCode CLI (features, PR review).
- Reads credentials
- Installs packages
We split this skill into the rules it gives an agent
14 rules. 0 are common, 9 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 26 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Use OpenCode as an autonomous coding worker orchestrated by Hermes terminal/process tools.
- Very specific: line 29
Verify: opencode auth list should show at least one provider
- Distinctive: line 42
If needed, pin an explicit binary path:
- Very specific: line 50
Use opencode run for bounded, non-interactive tasks:
- Very specific: line 98
Important: Do NOT use /exit — it is not a valid OpenCode command and will open an agent selector dialog instead.
- Distinctive: line 115
After exiting, OpenCode prints a session ID.
- Very specific: line 146
If OpenCode asks for input, respond via process(action="submit", ...).
- Distinctive: line 166
Use separate workdirs/worktrees to avoid collisions:
- Distinctive: line 182
Check token usage and costs:
- Distinctive: line 194
If OpenCode appears stuck, inspect logs before killing:
- Distinctive: line 196
Avoid sharing one working directory across parallel OpenCode sessions.
- Very specific: line 214
Prefer opencode run for one-shot automation — it's simpler and doesn't need pty.
- Distinctive: line 215
Use interactive background mode only when iteration is needed.
- Distinctive: line 216
Always scope OpenCode sessions to a single repo/workdir.
“Common” is measured: kept by at least 6 in 10 of the 26 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
OpenCode CLI
Use OpenCode as an autonomous coding worker orchestrated by Hermes terminal/process tools. OpenCode is a provider-agnostic, open-source AI coding agent with a TUI and CLI.
When to Use
- User explicitly asks to use OpenCode
- You want an external coding agent to implement/refactor/review code
- You need long-running coding sessions with progress checks
- You want parallel task execution in isolated workdirs/worktrees
Prerequisites
- OpenCode installed:
npm i -g opencode-ai@latestorbrew install anomalyco/tap/opencode - Auth configured:
opencode auth loginor set provider env vars (OPENROUTER_API_KEY, etc.) - Verify:
opencode auth listshould show at least one provider - Git repository for code tasks (recommended)
pty=truefor interactive TUI sessions
Binary Resolution (Important)
Shell environments may resolve different OpenCode binaries. If behavior differs between your terminal and Hermes, check:
terminal(command="which -a opencode")
terminal(command="opencode --version")If needed, pin an explicit binary path:
terminal(command="$HOME/.opencode/bin/opencode run '...'", workdir="~/project", pty=true)One-Shot Tasks
Use opencode run for bounded, non-interactive tasks:
terminal(command="opencode run 'Add retry logic to API calls and update tests'", workdir="~/project")Attach context files with -f:
terminal(command="opencode run 'Review this config for security issues' -f config.yaml -f .env.example", workdir="~/project")Show model thinking with --thinking:
terminal(command="opencode run 'Debug why tests fail in CI' --thinking", workdir="~/project")Force a specific model:
terminal(command="opencode run 'Refactor auth module' --model openrouter/anthropic/claude-sonnet-4", workdir="~/project")Interactive Sessions (Background)
For iterative work requiring multiple exchanges, start the TUI in background:
terminal(command="opencode", workdir="~/project", background=true, pty=true)
# Returns session_id
# Send a prompt
process(action="submit", session_id="<id>", data="Implement OAuth refresh flow and add tests")
# Monitor progress
process(action="poll", session_id="<id>")
process(action="log", session_id="<id>")
# Send follow-up input
process(action="submit", session_id="<id>", data="Now add error handling for token expiry")
# Exit cleanly — Ctrl+C
process(action="write", session_id="<id>", data="\x03")
# Or just kill the process
process(action="kill", session_id="<id>")Important: Do NOT use /exit — it is not a valid OpenCode command and will open an agent selector dialog instead. Use Ctrl+C (\x03) or process(action="kill") to exit.
TUI Keybindings
| Key | Action |
Enter | Submit message (press twice if needed) |
Tab | Switch between agents (build/plan) |
Ctrl+P | Open command palette |
Ctrl+X L | Switch session |
Ctrl+X M | Switch model |
Ctrl+X N | New session |
Ctrl+X E | Open editor |
Ctrl+C | Exit OpenCode |
Resuming Sessions
After exiting, OpenCode prints a session ID. Resume with:
terminal(command="opencode -c", workdir="~/project", background=true, pty=true) # Continue last session
terminal(command="opencode -s ses_abc123", workdir="~/project", background=true, pty=true) # Specific sessionCommon Flags
| Flag | Use |
run 'prompt' | One-shot execution and exit |
--continue / -c | Continue the last OpenCode session |
--session <id> / -s | Continue a specific session |
--agent <name> | Choose OpenCode agent (build or plan) |
--model provider/model | Force specific model |
--format json | Machine-readable output/events |
--file <path> / -f | Attach file(s) to the message |
--thinking | Show model thinking blocks |
--variant <level> | Reasoning effort (high, max, minimal) |
--title <name> | Name the session |
--attach <url> | Connect to a running opencode server |
Procedure
- Verify tool readiness:
terminal(command="opencode --version")terminal(command="opencode auth list")
- For bounded tasks, use
opencode run '...'(no pty needed). - For iterative tasks, start
opencodewithbackground=true, pty=true. - Monitor long tasks with
process(action="poll"|"log"). - If OpenCode asks for input, respond via
process(action="submit", ...). - Exit with
process(action="write", data="\x03")orprocess(action="kill"). - Summarize file changes, test results, and next steps back to user.
PR Review Workflow
OpenCode has a built-in PR command:
terminal(command="opencode pr 42", workdir="~/project", pty=true)Or review in a temporary clone for isolation:
terminal(command="REVIEW=$(mktemp -d) && git clone https://github.com/user/repo.git $REVIEW && cd $REVIEW && opencode run 'Review this PR vs main. Report bugs, security risks, test gaps, and style issues.' -f $(git diff origin/main --name-only | head -20 | tr '\n' ' ')", pty=true)Parallel Work Pattern
Use separate workdirs/worktrees to avoid collisions:
terminal(command="opencode run 'Fix issue #101 and commit'", workdir="/tmp/issue-101", background=true, pty=true)
terminal(command="opencode run 'Add parser regression tests and commit'", workdir="/tmp/issue-102", background=true, pty=true)
process(action="list")Session & Cost Management
List past sessions:
terminal(command="opencode session list")Check token usage and costs:
terminal(command="opencode stats")
terminal(command="opencode stats --days 7 --models anthropic/claude-sonnet-4")Pitfalls
- Interactive
opencode(TUI) sessions requirepty=true. Theopencode runcommand does NOT need pty. /exitis NOT a valid command — it opens an agent selector. Use Ctrl+C to exit the TUI.- PATH mismatch can select the wrong OpenCode binary/model config.
- If OpenCode appears stuck, inspect logs before killing:
process(action="log", session_id="<id>")
- Avoid sharing one working directory across parallel OpenCode sessions.
- Enter may need to be pressed twice to submit in the TUI (once to finalize text, once to send).
Verification
Smoke test:
terminal(command="opencode run 'Respond with exactly: OPENCODE_SMOKE_OK'")Success criteria:
- Output includes
OPENCODE_SMOKE_OK - Command exits without provider/model errors
- For code tasks: expected files changed and tests pass
Rules
- Prefer
opencode runfor one-shot automation — it's simpler and doesn't need pty. - Use interactive background mode only when iteration is needed.
- Always scope OpenCode sessions to a single repo/workdir.
- For long tasks, provide progress updates from
processlogs. - Report concrete outcomes (files changed, tests, remaining risks).
- Exit interactive sessions with Ctrl+C or kill, never
/exit.
Other versions36 projects use a version of this.
Word for word · 8
- aivrar/portable-hermes-agent★ 239100% same
- delorenj/skills★ 16100% same
- barzzly/BarzzLyp_Agent_Skills★ 1100% same
- pedroiff0/awesome-skills★ 1100% same
- ishanbhosale08/Daedalus★ 0100% same
- lucas-albers-lz4/hermes-agent-skills★ 0100% same
- nobodyohm-web/Thot★ 0100% same
- wm2313/my-skills★ 0100% same
Edited · 11
- NousResearch/hermes-agent★ 257k99% same
- math-inc/OpenGauss★ 1.3k95% same
- Tommy-yw/RunbookHermes★ 54697% same
- RedWoodOG/Hermes-Desktop★ 17797% same
- AtlasOmnia/donna-starter★ 11596% same
- AtlasOmnia/hermes-custom-pack★ 6596% same
- wundercorp/loki★ 2597% same
- Samin12/skills★ 898% same
- Fahrnetic/engineering-agent-skill-workflow★ 292% same
- Stuko0/alice-agent★ 197% same
1 more not listed
Wrote their own version · 17
- ethosagent/ethos★ 22same name
- maystudios/claude-skills★ 21same name
- pcx-wave/opencode-skill★ 17same name
- cukas/claudes-ai-buddies★ 9same name
- phuongduyphan/cc-tmux-agents★ 8same name
- Cogni-AI-OU/cogni-ai-agent-skills★ 4same name
- dzianisv/skills★ 4same name
- darshitpp/x-agent★ 2same name
- NazmusSayad/skills★ 2same name
- pepebot-space/skills★ 2same name
7 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use minecraft-modpack-server, pokemon-player and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
math-incSkillminecraft-modpack-server
Set up a modded Minecraft server from a CurseForge/Modrinth server pack zip. Covers NeoForge/Forge install, Java version, JVM tuning, firewall, LAN config, backups, and launch scripts.
Also in 5 projects that use this
math-incSkillpokemon-player
Play Pokemon games autonomously via headless emulation. Starts a game server, reads structured game state from RAM, makes strategic decisions, and sends button inputs — all from the terminal.
Also in 5 projects that use this
aivrarSkillsdlc-review
Review Kanban handoffs and route verified outcomes.
Also in 6 projects that use this
In this repository74 other files it gives its agents.
- apple-notesSkill
- apple-remindersSkill
- findmySkill
- imessageSkill
- claude-codeSkill
- codexSkill
- hermes-agentSkill
- cavecrewSkill
- caveman-commitSkill
- caveman-compressSkill
- caveman-helpSkill
- caveman-reviewSkill
- cavemanSkill
- caveman-statsSkill
- computer-useSkill
- architecture-diagramSkill
- ascii-artSkill
- ascii-videoSkill
- baoyu-infographicSkill
- claude-designSkill
- comfyuiSkill
- design-mdSkill
- excalidrawSkill
- humanizerSkill
- manim-videoSkill
- p5jsSkill
- popular-web-designsSkill
- pretextSkill
- sketchSkill
- songwriting-and-ai-musicSkill
- touchdesigner-mcpSkill
- jupyter-live-kernelSkill
- hermes-config-backupSkill
- package-upgradeSkill
- dogfoodSkill
- himalayaSkill
- codebase-inspectionSkill
- github-authSkill
- github-code-reviewSkill
- github-issuesSkill
- github-pr-workflowSkill
- github-repo-managementSkill
- gif-searchSkill
- heartmulaSkill
- songseeSkill
- youtube-contentSkill
- huggingface-hubSkill
- obsidianSkill
- airtableSkill
- google-workspaceSkill
- mapsSkill
- nano-pdfSkill
- notionSkill
- ocr-and-documentsSkill
- petdexSkill
- powerpointSkill
- teams-meeting-pipelineSkill
- arxivSkill
- blogwatcherSkill
- llm-wikiSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

