skills/qa/SKILL.md
Conversational QA mode — user reports bugs in plain language, agent clarifies minimally, files GitHub issues that survive refactors. Trigger on "QA", "QA session", or ad-hoc bug reporting without a fixed deliverable shape. Distinct from branch-scoped and PR-scoped review.
npx skillsauth add outlinedriven/odin-codex-plugin qaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run an interactive QA session. The user describes problems. You clarify lightly, explore the codebase in the background for domain language, and file issues that are durable and user-focused. Each issue is independent — never batch.
Let the user describe the problem in their own words. Ask at most 2-3 short questions, only on:
Do NOT over-interview.
Dispatch an Explore agent in parallel while the user talks. Goal is NOT to find a fix — it is to:
UBIQUITOUS_LANGUAGE.md if present)Context informs the issue body; the issue body itself does NOT cite files, line numbers, or internal module names.
Single issue or breakdown? Break down when fix spans multiple independent areas, separable concerns parallelize across people, or user describes multiple distinct failure modes.
gh issue createDo NOT ask the user to review the body first — file it, share URLs.
Issue body rules:
## What happened
Plain-language actual behavior.
## What I expected
Plain-language expected behavior.
## Steps to reproduce
1. Concrete step using domain terms
2. Concrete step
3. Concrete step (include relevant inputs/flags)
## Additional context
Observations from the user or background exploration.
Web app:
CLI tool:
mycli migrate --target=v3 --dry-run--dry-run.Keep going until the user signals done. One issue per round-trip. Never batch.
| Skill | Scope | Trigger | Artifact |
| ---------------- | ---------------------------------- | --------------------------------------------- | --------------------------------------------- |
| qa | Ad-hoc conversational exploration | User-driven, free-form bug reports | Multiple GitHub issues per session |
| branch review | Active branch diff vs base | Explicit invocation on current work | Single structured review report |
| PR review | A specific GitHub PR vs its base | PR URL or number, runs gh pr view | PR comments + summary report |
Use qa when the user is exploring; use branch review when finishing branch work; use PR review when reviewing someone else's PR.
testing
ODIN's compress-operations dispatcher under the Compressor/Extender role. Invoke on "tidy", "clean up", "tidy this file/memory/workspace/git/docs", or when active context (current file, diff, stack, memory directory) has structural rot to resolve before touching behavior. Detects target domain from context and routes to the sibling skill. Requires explicit target or clear active-context signal — do not invoke speculatively.
development
Cross-domain taste skill — apply distinctive judgment to any artifact (prose, code, design, decisions) instead of converging to AI defaults. Two modes — `audit` (judge work against the two-sided charter and portable anchors) and `anchor` (load register before producing). Auto-detects by phrasing; override via `/taste audit | anchor`. Trigger on "is this slop?", "overkill?", "elegant?", "taste-test this".
tools
One-shot bootstrap of strict-mode tooling per ecosystem plus per-task GOALS.md scaffolding so an agentic loop can self-verify. Writes typechecker/linter/schema-validator config for TS (strict + noUncheckedIndexedAccess + exactOptionalPropertyTypes), Python (Pyright strict, Ruff strict), Rust (Clippy deny-correctness), Go (golangci-lint with staticcheck), OCaml (dune --release); establishes `.agent-tasks/<id>/GOALS.md` per-task convention distinct from project-stable AGENTS.md. C++/Java/Kotlin and framework specifics (Spring Boot, Nest, React-strict) are out of scope. Trigger on new project bootstrap, agentic-task setup, "make this self-verifying", "set the loop's goal", "scaffold goals for this issue". Pairs with `llm-self-loop` runtime.
tools
Install git pre-commit hooks via the project's hook tool — Husky+lint-staged (JS), pre-commit (Python/OCaml), lefthook (Go), cargo-husky (Rust). Use when the user wants commit-time formatting, linting, type-checking, or test gates. Detects ecosystem first.