Agent skill · software engineering · code-yeongyu
opencode-qa
QA opencode itself, per case: verify the CLI/terminal (opencode run, db, serve, export), prove a specific plugin hook/action/event fired via the SSE event stream, smoke-test the TUI under tmux, and investigate sessions in opencode's SQLite DB by id, title/name, or message text. Ships tested helper scripts (each with a --self-test) plus per-domain references. Use whenever someone wants to QA, smoke-test, verify, or debug opencode's CLI, HTTP server, plugin hooks/events, or TUI, or to find/inspect opencode sessions in the database. Triggers: opencode qa, qa opencode, test opencode, verify opencode hook, opencode session db, find opencode session by id/name/text, opencode tui test, opencode server health, opencode event stream.
Why this skill is useful
Adds multiple executable scripts for QA testing of opencode, including self-testing capabilities and domain-specific references.
What it needs
Requires curl, jq, opencode, sqlite3, tmux installed locally. About 6k tokens when loaded. Last updated 2026-08-07. 67,387 stars on the source repository.
What this skill does
opencode QA QA the opencode coding agent itself. This skill maps each QA need to a tested helper script and a deep reference. Every script ships a --self-test that asserts its scenario against the live machine, so the scripts are both the QA tools and their own regression checks. Verified against opencode v1.17.7 (bun 1.3.12, macOS). Confirm the installed version with opencode --version; the surface is stable but always sanity check a flag with opencode <cmd> --help. Golden rules (read before running anything) READS of the live DB are safe and intended. Investigating sessions (Case D) only reads ~/.local/share/opencode/opencode.db. Anything that SPAWNS opencode (serve, run, the TUI) must use an isolated XDG sandbox so QA never writes junk sessions into the real DB. The bundled scripts already do this; if you run opencode by hand for QA, set XDGDATAHOME / XDGCONFIGHOME / XDGSTATEHOME / XDGCACHEHOME to temp dirs first. Global text search over the part table is a multi-GB scan. Always scope it (--session, --recent, or --since). The text script refuses an unbounded scan on purpose. The opencode source repo (packages/opencode) tests itself with bun test and CANNOT run tests from the repo root. See references/testing-harness.md. Setup Scripts live next to this file under scripts/. Invoke them from this skill directory (or with their absolute path): Docker is the default QA surface. Run QA inside a disposable container that has the latest opencode and a copy of your config, with the host untouched: script/agent/qa-docker.sh (see references/docker-qa.md). The local scripts below are the fallback for when Docker is unavailable or on Windows. common.sh provides the shared harness (DB path, SQL escaping, isolated XDG sandbox, free port, server start/stop, and an EXIT-trap cleanup). It requires opencode, sqlite3, curl, jq, and tmux on PATH. Router: pick your case You want to... …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills code-yeongyu/opencode-qa