opencode QA Toolkit
Case-by-case QA of opencode itself — CLI, HTTP server, plugin hooks/events over SSE, tmux TUI smoke, and read-only session DB investigation.
What it does
Maps every opencode QA need to a tested helper script and a deep reference:
- Case A – CLI: assert non-interactive runs with
opencode run --format json, plusdb path,session list,models - Case B – Server & hooks: open the
GET /eventSSE stream to prove a specific hook/action/event fired; smoke/global/health,/doc, and auth (401 without password) - Case C – TUI: boot the TUI under tmux in an isolated sandbox, confirm render and key delivery; use the xterm.js web-terminal path when true-color screenshot evidence is needed
- Case D – Session DB: read-only lookups in
opencode.dbby session id, title, or message text, and full-session JSON export
Every script has a --self-test, and anything that spawns opencode runs inside an isolated XDG sandbox so the real database stays clean.
Who it's for
- Contributors and maintainers working on opencode or its plugins
- Plugin authors who need proof that a hook actually fired
- Anyone debugging historical opencode sessions from the DB
- Not useful if you don't run opencode.
Examples
- "Verify my plugin's message.part.updated hook fires" → watch a real server with
sse-hook-probe.sh --attach ... --event message.part.updated, then trigger viaPOST /session/<id>/prompt_async - "Find the recent session that logged 'permission denied'" →
db-session-by-text.sh --recent 50 "permission denied"(scoped, because the part table is multi-GB) - "Smoke-test the TUI" →
tui-smoke.sh --self-testrenders under tmux, tears down, and proves the real DB session count is unchanged
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/HEAD/.agents/skills/opencode-qa/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the .agents/skills/opencode-qa folder from the GitHub repo code-yeongyu/oh-my-openagent into my ~/.claude/skills/opencode-qa/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/code-yeongyu/oh-my-openagent.git && mkdir -p ~/.claude/skills && cp -r oh-my-openagent/.agents/skills/opencode-qa ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Prerequisites:
opencode,sqlite3,curl,jq, andtmuxon PATH (macOS:brew install sqlite jq tmux). - Clone the repo:
git clone https://github.com/code-yeongyu/oh-my-openagent.git - Copy the skill:
mkdir -p ~/.claude/skills && cp -r oh-my-openagent/.agents/skills/opencode-qa ~/.claude/skills/ - Confirm the bundled
scripts/andreferences/folders came along. - Verify the harness:
cd ~/.claude/skills/opencode-qa && bash scripts/lib/common.sh --self-check - Restart Claude Code and ask things like "QA opencode", "verify this opencode hook", or "find an opencode session by id".
- Check your version with
opencode --versionand sanity-check flags withopencode <cmd> --help, since the skill was validated against v1.17.7.