opencode QA Toolkit
A QA-focused skill for smoke-testing opencode's CLI, HTTP server, plugin hooks/events and TUI, plus read-only session DB investigation.
Dev & CodingAdvanced★ 67,531⑂ 5,507AI score 7/10Last updated: Aug 9, 2026
What it does
This skill QAs the opencode coding agent itself. It maps every QA need onto one of four cases, each backed by a tested helper script and a deep reference doc.
- Case A – CLI: assert on
opencode run --format jsonline-delimited events for non-interactive runs. - Case B – Server / hooks / events: open the
/eventSSE stream to prove a specific event (and therefore a plugin hook) fired; smoke-test/global/health,/doc, and 401 auth behavior. - Case C – TUI: boot the TUI under tmux in an isolated sandbox, confirm render and key delivery, plus an xterm.js web-terminal recipe for true-color screenshot evidence.
- Case D – DB investigation: read-only SQLite lookups of sessions by id, title, or message text, and full-session JSON export.
Every script ships a --self-test, and anything that spawns opencode uses an isolated XDG sandbox so the real session DB is never polluted.
Who it's for
- Contributors and fork maintainers who need repeatable regression checks on opencode.
- Plugin authors who must prove a hook actually fires end to end.
- Anyone digging through a multi-GB opencode session database for a specific conversation.
Examples
- "Prove my plugin's
message.part.updatedhook fires" → attach the SSE probe to a real server, fire aprompt_asyncrequest, and capture the event. - "Find sessions from the last 7 days containing 'permission denied'" →
db-session-by-text.sh --since "7 days", then export the matching session as JSON. - "Does the TUI still boot on this build?" →
tui-smoke.sh --self-test, then compare the real DB session count before and after to confirm isolation.
· · · Install guide · · ·
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.
- Install prerequisites:
opencode,sqlite3,curl,jq, andtmux(on macOS:brew install sqlite jq tmux). - Clone the repo:
git clone https://github.com/code-yeongyu/oh-my-openagent.git - Copy the skill folder:
mkdir -p ~/.claude/skills && cp -r oh-my-openagent/.agents/skills/opencode-qa ~/.claude/skills/ - Restart Claude Code and confirm
opencode-qaappears in your skill list. - Verify the harness:
cd ~/.claude/skills/opencode-qa && bash scripts/lib/common.sh --self-check - Check your version with
opencode --version(docs target v1.17.7), then invoke the skill with a prompt like "QA opencode's event stream". - Note: DB reads are safe, but always run opencode-spawning QA through the bundled scripts so it uses the isolated sandbox.
View source on GitHub ↗License: NOASSERTION