agentleFS
letya999letya999/opencode-delegate/SKILL.md

opencode-delegate

Skill0 starsChanged 31 days agoMITView on GitHub

Run OpenCode CLI as a headless delegate. Use when the user names OpenCode or opencode, says "ask OpenCode", wants `opencode run`, wants a provider-agnostic second opinion, or compares coding agents. Do NOT use for interactive sessions, other CLIs, or tasks not meant for delegation.

  • Reads credentials

5 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions5 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 5

    1. amElnagdy/delegate-skills★ 2.6ksame name
    2. aashahin/claude-opencode-delegate★ 2same name
    3. sssemil/SKILLS★ 2same name
    4. digital8150/claude-delegate-skills★ 0same name
    5. EldinBegano/opencode-delegate★ 0same name

    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.

  • In this repositoryOne other file it gives its agents.

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 4 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run OpenCode as a bounded headless subprocess (opencode run) and hand its final response back to the user.

    line 8
  2. Very specific:

    Read runtime-setup.md before invoking the wrapper.

    line 18
  3. Distinctive:

    Run the bundled wrapper with the Python command discovered by runtime-setup.md.

    line 24
  4. Distinctive:

    Read headless-reference.md when flags, sessions, output parsing, or authentication details are needed.

    line 25
  5. Distinctive:

    If the task is long-running, use a generous explicit timeout.

    line 28
  6. Very specific:

    Prefer a one-shot invocation.

    line 38
  7. Very specific:

    Do not read or print provider API keys, OAuth tokens, ~/.local/share/opencode or ~/.config/opencode credentials, .env*, private keys, or …

    line 42
  8. Very specific:

    Do not add MCP servers, disable repository protections, publish or share sessions, push commits, or delete data unless the user explicitly …

    line 43
  9. Very specific:

    Default to no auto-approval.

    line 44
  10. Distinctive:

    Treat OpenCode's report as unverified.

    line 45
  11. Very specific:

    If opencode is not found, tell the user to verify the official installation and PATH.

    line 46
  12. Very specific:

    Use references/runtime-setup.md for Python and CLI pre-flight, scripts/delegate_opencode.py for deterministic invocation, and …

    line 50

“Common” is measured: kept by at least 6 in 10 of the 5 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

OpenCode Delegate

Run OpenCode as a bounded headless subprocess (opencode run) and hand its final response back to the user. Keep the current project as the working directory unless the user specifies another directory.

Anti-Rationalization

Trigger this skill when the user explicitly asks for OpenCode, opencode run, a provider-agnostic second opinion, or a comparison that needs OpenCode evidence. Do not skip it because another installed CLI is available; the requested value is OpenCode's configured provider and runtime.

Pause instead when OpenCode is missing or unauthenticated, the user wants an interactive TUI, the task requires exposing secrets, or the requested auto-approval/sharing behavior exceeds the user's authorization.

Runtime Pre-Flight

Read runtime-setup.md before invoking the wrapper. Verify Python 3.10+ and opencode or OPENCODE_BIN; stop and report the missing prerequisite instead of inventing an installer or assuming a specific shell.

Workflow

  1. Clarify the delegated objective, scope, and whether OpenCode may edit files or run commands. Do not delegate secrets or expose protected files in the prompt.
  2. Resolve the project directory to an absolute path. Prefer the current working directory. Verify it exists before starting.
  3. Run the bundled wrapper with the Python command discovered by runtime-setup.md.
  4. Read headless-reference.md when flags, sessions, output parsing, or authentication details are needed.
  5. Report the wrapper's result, output-file path, exit status, and any stderr warning. A successful process is not proof that the requested change is correct: inspect the diff and run relevant tests independently when the delegated task changed files.
  6. If the task is long-running, use a generous explicit timeout. Never create a hidden daemon, polling loop, or unbounded background process.

Wrapper behavior

  • delegate_opencode.py invokes opencode directly, never through a shell, and supports OPENCODE_BIN for an explicit executable path.
  • It uses headless mode with opencode run, --dir <cwd>, and the delegated task as the message; it adds --auto (auto-approve non-denied permissions) only when --always-approve is requested.
  • OpenCode has no final-message file. By default the wrapper captures OpenCode's formatted text output as response. Pass --json to switch to --format json; the raw JSON event stream is then stored and surfaced under events, and the last text event is used as response when one can be identified.
  • Model selection uses --model provider/model when --model is passed. The active provider is whichever the user configured with opencode auth.
  • It writes stdout, stderr, and a small result manifest to a temporary output directory, then prints the manifest as JSON.
  • It returns nonzero for missing OpenCode, an invalid project directory, timeout, or a failed process. Do not hide these failures.
  • Prefer a one-shot invocation. Use --session or --continue only when the user explicitly asks for a resumable OpenCode session.

Safety and verification

  • Do not read or print provider API keys, OAuth tokens, ~/.local/share/opencode or ~/.config/opencode credentials, .env*, private keys, or browser profiles.
  • Do not add MCP servers, disable repository protections, publish or share sessions, push commits, or delete data unless the user explicitly asks for that exact action. In particular, never pass --share unless requested.
  • Default to no auto-approval. Only escalate to --always-approve when the user authorizes autonomous edits and the directory is trusted.
  • Treat OpenCode's report as unverified. Inspect changed files, git diff, and tests from the controlling agent.
  • If opencode is not found, tell the user to verify the official installation and PATH; do not install packages or run an installer automatically.

Resources

Use references/runtime-setup.md for Python and CLI pre-flight, scripts/delegate_opencode.py for deterministic invocation, and references/headless-reference.md for the documented OpenCode interface.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.