Codex Plugin QA
code-yeongyu/oh-my-openagent
Tests the omo Codex plugin in an isolated CODEX_HOME with a local mock model, proving hooks fired through app-server notifications without touching ~/.codex.
Auto-routes a user request to the matching codexqa skill, then ensures that skill is on disk and follows its SKILL.md.
$ npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openqa-cn/codexqa codexqa-skill-router --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/openqa-cn/codexqa.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/codexqa-skill-router .claude/skills/codexqa-skill-router && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "codexqa-skill-router" agent skill from https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router into .claude/skills/codexqa-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codexqa-skill-router", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-routerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openqa-cn/codexqa codexqa-skill-router --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openqa-cn/codexqa.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/codexqa-skill-router .agents/skills/codexqa-skill-router && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "codexqa-skill-router" agent skill from https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router into .agents/skills/codexqa-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codexqa-skill-router", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openqa-cn/codexqa codexqa-skill-router --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openqa-cn/codexqa.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/codexqa-skill-router .cursor/skills/codexqa-skill-router && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "codexqa-skill-router" agent skill from https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router into .cursor/skills/codexqa-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codexqa-skill-router", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/openqa-cn/codexqa.git --path skills/codexqa-skill-router--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openqa-cn/codexqa codexqa-skill-router --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openqa-cn/codexqa.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/codexqa-skill-router .gemini/skills/codexqa-skill-router && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "codexqa-skill-router" agent skill from https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router into .gemini/skills/codexqa-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codexqa-skill-router", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install openqa-cn/codexqa codexqa-skill-routerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openqa-cn/codexqa.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/codexqa-skill-router .github/skills/codexqa-skill-router && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "codexqa-skill-router" agent skill from https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router into .github/skills/codexqa-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codexqa-skill-router", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openqa-cn/codexqa codexqa-skill-router --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openqa-cn/codexqa.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/codexqa-skill-router .opencode/skills/codexqa-skill-router && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "codexqa-skill-router" agent skill from https://github.com/openqa-cn/codexqa/tree/main/skills/codexqa-skill-router into .opencode/skills/codexqa-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codexqa-skill-router", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
codexqa-skill-routerAuto-routes a user request to the matching codexqa skill, then ensures that skill is on disk and follows its SKILL.md.
Codexqa Skill Router is an agent skill from openqa-cn/codexqa. Auto-routes a user request to the matching codexqa skill, then ensures that skill is on disk and follows its SKILL.md. Use whenever the user is unsure which skill to run, says 帮我选 skill、自动路由、选哪个 skill、不知道用哪个、 route this request、pick the right skill、codexqa 该用哪个, installs only codexqa-skill-router and still needs a worker skill, or describes a verification / QA / testing / review / RCA / requirements / cases / testdata task without naming a skill. Former skill name: skill-router. Matches against live siblings plus…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts and reference files (for example `.meta.json`, `HOW_IT_WORKS.md` and `HOW_IT_WORKS.zh-CN.md`). Compatibility notes: Requires Python 3.10+ on PATH for discover/ensure scripts (auto re-execs from older system python3). On-demand install needs network (GitHub tarball) or a…
It sits in Testing & QA, covering QA and bug reports. The repository describes itself as: codexqa: 11 local-first Agent Skills for Cursor, Claude Code, Codex & OpenClaw — change impact analysis, AI code review, defect scan, testcase generation, browser replay & RCA. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7839542. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 4 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Python 3.10+ on PATH for discover/ensure scripts (auto re-execs from older system python3). On-demand install needs network (GitHub tarball) or a local --from-repo checkout; optional npx skills add fallback. Target skills may need their own runtimes (Node, Python 3.10+, codexqa CLI, etc.).
From compatibility in the SKILL.md frontmatter.
Codexqa Skill Router loads about 2k tokens when it runs, and up to ~6.8k if it reads all its reference files. Until then it costs about 199 tokens; SKILL.md has 929 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from openqa-cn/codexqa at commit 7839542, republished under its Apache-2.0 licence (© openqa-cn). 929 words, ~2,027 tokens.
.claude/skills/codexqa-skill-router/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.Agent entry map for discover → match → ensure installed → hand off. Human
docs (README.md, HOW_IT_WORKS.md, KNOWN_LIMITATIONS.md and .zh-CN twins)
are not loaded at runtime.
This skill does not implement defect scans, case writing, RCA, or data build. It selects a pack skill, makes sure its files exist next to this router, then executes that skill's contract.
Refresh the match catalog:
python3 <this_skill_dir>/scripts/discover_skills.py --with-catalogSKILL.md appear as source: "live", installed: true.source: "bundled", installed: false (for matching only).needsInstall lists names that must be fetched before hand-off.--skills-root <abs-path> when the pack is not this skill's parent.python3 …/discover_skills.py --self-check.Do not hard-code the worker list in your reasoning — use the JSON. New
skills become matchable after catalog.json is refreshed (maintainers:
scripts/refresh_catalog.py in a full checkout). codexqa-skill-router is excluded.
If discovery fails entirely (script error), stop and report it. An empty live count is OK when the bundled catalog is non-empty.
Detailed match rules: references/routing-rules.md.
Read the user's latest message (and only this-turn attachments they named). Discover still supplies the catalog. Routing does not score by overlapping words in descriptions. Run the decider:
python3 <this_skill_dir>/scripts/suggest_route.py --text "<user message>"Use --text-file when the message is long. If the script fails, stop and
report the error — do not fall back to keyword overlap.
outcome | Action |
|---|---|
clear or explicit | Ensure + hand off to winner (sections 3–4) |
explicit_conflict | Do not start the named skill. Show reason and alternatives. Wait |
ambiguous | Ask once with at most three alternatives and one-line why. Wait |
chain | Propose steps in order. Ensure/start the first only after confirm |
none | Say no catalog skill claimed it; list catalog names; do not invent one |
A clear / explicit winner is authoritative. Description text must not
override it. In particular, codexqa-defect-analyzer's phrase "review a
diff/MR/PR" is an incremental scan scenario. It does not claim 代码评审,
code review, PR review, or "review this PR".
Task shape, not the shared verb:
codexqa-code-reviewerreport_scan / "review this diff for vulnerabilities" → codexqa-defect-analyzer. 格式化、自动改风格不归这里ambiguous (ask). 先评审再扫描 → chain, reviewer then defectcodexqa-code-analyzer. Those words inside a 代码评审 stay with the reviewer. 补测试缺口 stays here; 补测试 / 写用例 does notcodexqa-change-analysis. 只要影响面, a report with no diff, or a named analyzer stays with the analyzer; inside a 代码评审 it stays with the reviewer; PRD or 提测 cases stay with the testcase generator; 先…再… stays a chainwiki inputs → codexqa-code-wiki. Bare 知识图谱 → ask (wiki vs analyzer)codexqa-rootcause-analyzer. A call chain or "报错在哪" used to explain that failure stays root-causecodexqa-requirement-analyzer, not a code reviewcodexqa-testcase-generator. 写单元测试不归这里codexqa-testdata-generatorWhen the user names a catalog skill whose own boundary rejects that task
shape, outcome is explicit_conflict: warn and offer alternatives. Do
not install the rejected fit. Detail: references/routing-rules.md.
If the chosen entry has installed: false (or no skillMd on disk):
<name> beside
codexqa-skill-router so you can follow its contract (network fetch from the
codexqa pack, unless a local checkout is available).npx skills add openqa-cn/codexqa --skill <name>.python3 <this_skill_dir>/scripts/ensure_skill.py <name> --yesDev / offline: add --from-repo /path/to/codexqa to copy from a local clone
instead of the network. Dry-run: omit --yes or pass --dry-run.
discover_skills.py --with-catalog and confirm the skill is
installed: true with a real skillMd path. If ensure failed, show the
JSON error and stop — do not invent the worker workflow.Why ask once: installing copies third-party skill files onto disk. Why still automate: a router that only prints a name does not complete the user's task.
skillMd (and only the references that skill says to
load next). Prefer the path returned by discover/ensure — do not rely on
the host having re-indexed its skill list yet.Routing is done when either:
codexqa, jq, …); the target skill's
compatibility section still applies after hand-off.catalog.json may lag a brand-new unpublished skill until refreshed;
live siblings still win when present.© openqa-cn, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 15 other files (scripts, references) in skills/codexqa-skill-router of openqa-cn/codexqa.
Open the folder on GitHubat commit 7839542
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in openqa-cn/codexqa, which our catalogue first saw on October 7, 2026.
Codexqa Skill Router next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Codexqa Skill Router this skillopenqa-cn/codexqa | 152 | 1 repos | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Codex Plugin QAcode-yeongyu/oh-my-openagent | 70k | 1 repos | ~1.9k | Automated safety check: Pass | Custom licence | |
| Acceptance Evidence for Deliverieslobehub/lobehub | 83k | — | ~9.7k | Automated safety check: Pass | Apache-2.0 | |
| OpenWork Desktop CDP Driverdifferent-ai/openwork | 24k | — | ~465 | Automated safety check: Pass | Custom licence | |
| Triage IssuesClickHouse/clickhouse-java | 1.6k | — | ~904 | Automated safety check: Pass | Apache-2.0 | |
| Ironrdp Activex Mstsc TestingDevolutions/IronRDP | 3.2k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
code-yeongyu/oh-my-openagent
Tests the omo Codex plugin in an isolated CODEX_HOME with a local mock model, proving hooks fired through app-server notifications without touching ~/.codex.
lobehub/lobehub
Verifies a delivery end to end by driving the real product on a CLI, web, desktop or iOS Simulator surface, capturing evidence and publishing a round with the lh CLI.
different-ai/openwork
Drives a running OpenWork desktop window over CDP from the shell to evaluate JS, take screenshots, start sessions and send prompts for hand checks.
ClickHouse/clickhouse-java
Analyzes a single GitHub issue at a time. An agent skill from ClickHouse/clickhouse-java.
Devolutions/IronRDP
Test IronRDP ActiveX in the real mstsc.exe child launched by MsRdpEx, including the native credential bridge, shell behavior, resize handling, clipboard startup, and bounded UI stress.
code-yeongyu/senpi
Checks changes to the senpi coding agent by driving the real CLI from source in an isolated sandbox, over RPC, terminal UI, mock model and CLI smoke channels.
openqa-cn/codexqa
Builds a local architecture wiki for a repository from the CodexQA symbol graph (no model needed): modules, who calls whom and how often, reading paths, and one self-contained HTML page.
openqa-cn/codexqa
Diagnoses exception root causes from stack traces, logs, call-chain dumps, and debug output using the CodexQA CLI for structured repo analysis.
openqa-cn/codexqa
Constructs test data against real backends and writes it back into test cases as executable preconditions.
openqa-cn/codexqa
Generates test plans and test cases from local requirements for APP, Web, and server.
openqa-cn/codexqa
Graph-evidence AI code review (codexqa-code-reviewer) for ANY language repo using ONLY the CodexQA CLI symbol graph (call chains, classes, methods, configs, blast radius, test edges), then an…
openqa-cn/codexqa
Constructs catalog products (standard or limited), catalog orders, and account-credit enrollment, including product-then-credit scenes.
Categories
Auto-routes a user request to the matching codexqa skill, then ensures that skill is on disk and follows its SKILL.md. Codexqa Skill Router is an agent skill from openqa-cn/codexqa.md.
Codexqa Skill Router fits situations like: the user is unsure which skill to run; says 帮我选 skill、自动路由、选哪个 skill、不知道用哪个、 route this request、pick the right skill、codexqa 该用哪个; installs only codexqa-skill-router and still needs a worker skill; describes a verification / QA / testing / review / RCA / requirements / cases / testdata task without naming a skill.
Run `npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a claude-code`. Or copy the skill folder (skills/codexqa-skill-router in openqa-cn/codexqa) into .claude/skills/codexqa-skill-router in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a codex`. Or copy the skill folder (skills/codexqa-skill-router in openqa-cn/codexqa) into .agents/skills/codexqa-skill-router in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openqa-cn/codexqa --skill codexqa-skill-router -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/codexqa-skill-router, .gemini/skills/codexqa-skill-router, .github/skills/codexqa-skill-router and .opencode/skills/codexqa-skill-router in your project.
Going by SKILL.md and its folder, Codexqa Skill Router needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and npx). Our summary lists: Python 3; Node.js. Compatibility (from SKILL.md): Requires Python 3.10+ on PATH for discover/ensure scripts (auto re-execs from older system python3). On-demand install needs network (GitHub tarball) or a local --from-repo checkout; optional npx skills add fallback. Target skills may need their own runtimes (Node, Python 3.10+, codexqa CLI, etc.). .
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Codexqa Skill Router is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Codexqa Skill Router: Codex Plugin QA (code-yeongyu/oh-my-openagent, 70k stars), Acceptance Evidence for Deliveries (lobehub/lobehub, 83k stars), OpenWork Desktop CDP Driver (different-ai/openwork, 24k stars) and Triage Issues (ClickHouse/clickhouse-java, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openqa-cn (a GitHub organization) maintains it in openqa-cn/codexqa, which has 152 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 3, 2026.
Source: openqa-cn/codexqa on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.