Agent skill · luongnv89
opencode-sandbox
Run OpenCode in a docker-dev sandbox (SSH/gh on by default; --no-ssh/--no-github to isolate). Prints docker exec attach; kept until you confirm rm. Don't use for opencode.ai (opencode-runner), Herdr, or the app.
What it needs
About 8k tokens when loaded.
What this skill does
OpenCode Sandbox Run OpenCode inside a luongnv89/docker-dev container for a local project. A fresh local OpenCode profile is used by default: the host's ~/.config/opencode is not mounted. Pass --with-opencode-config only when the task must reuse the host profile or credentials. SSH and GitHub auth remain on by default (~/.ssh, ~/.config/gh, GHTOKEN from gh auth token) so git commit, git push, gh pr create, and gh pr merge work in the container. Pass --no-ssh --no-github when the task must not reach GitHub. Details: references/mounts-and-credentials.md. Keep-by-default: the container stays running after the task so the user can attach a shell. Do not remove it unless they confirm (or they asked for --rm up front). When to Use Run OpenCode against a project and let it commit, push, open, or merge a PR (gh / SSH available inside the container) OpenCode keeps hitting provider rate limits and the task needs a fresh local profile (a new container with the default mounts, or --fresh-profile) The task must not touch GitHub — pass --no-ssh --no-github and review the host diff; push stays a separate step Repo Sync Before Edits (mandatory) The container only sees whatever is on disk at docker run time — sync the host repo before launching, not after: If the tree is dirty: stash (-u), sync, pop. If origin is missing or the rebase conflicts, stop and ask the user before continuing. Skip this step when the task is read-only inspect (list files, summarize) and will not write the tree. Always sync when the container will edit files. Choose a mode Mode Use when Go to --- --- --- One-shot (default) Single task, no need to watch it work "One-shot mode" below Interactive User wants to watch live or steer mid-task references/interactive-mode.md Default to one-shot — it needs no pane-management skill, has no TUI-timing gotchas, and its completion signal is a plain process exit code. Reach for interactive mode only when the task genuinely needs a human in the loop mid-run. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills luongnv89/opencode-sandbox