Borrowing it
Nothing to install: this file belongs to littlebearapps/untether. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/littlebearapps/untether/master/.claude/commands/qa.mdgit clone --depth 1 https://github.com/littlebearapps/untetherWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/littlebearapps/untether/qa)<a href="https://agentmods.dev/commands/littlebearapps/untether/qa"><img src="https://agentmods.dev/badge/commands/littlebearapps/untether/qa/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/littlebearapps/untether/qa"><img src="https://agentmods.dev/badge/commands/littlebearapps/untether/qa.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00105 | $0.02886 |
| Opus 5.5 | $0.00042 | $0.01154 |
| Sonnet 5.5 | $0.00021 | $0.00577 |
| Haiku 4.5 | $0.00011 | $0.00289 |
Grade A, and why
qa scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 18d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 188 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are handling /qa. /qa is Untether's validation stage — it answers one
question: "is this target validated enough for its risk?" It classifies the
target, picks the lightest sufficient depth, runs the checks, and — only when
asked — drives the integration-test tiers against the allowlisted dev bot. It
is the VALIDATE boundary between PREPARE (/plan→/implement or /fix) and
RELEASE (/pr-dev / /pr-main).
User input: $ARGUMENTS
Untether adaptations (read first)
Load .claude/rules/workflow-commands.md (routing + the 7 cross-cutting rules).
docs/reference/integration-testing.md is the design-of-record — /qa
implements its tier definitions, chat IDs, and MCP tool list; it never
re-litigates them. Key points for /qa:
- Authority: observe + exercise, never change. Read repo/logs/diffs, run
safe local tests, drive the bounded, allowlisted dev bot, file capped
findings, write the attestation marker. Never fix code, merge, tag,
release, roll the fleet, or mutate a protected file. Repair routes to
/debug→/fix. - Dev/staging separation. Drive
@untether_dev_bot(untether-dev.service) only. Never@hetz_lba1_bot(staging), never a fleet/production target. Neversystemctl restartfrom inside this session. - Confirm-gated + idempotent. Findings are confirm-gated (surface the drafted
gh issue create, de-dupe open and closed first); a re-invoked/qamust not double-file or double-write the marker. - Redaction. Scrub tokens/keys/env/chat-content/fleet identifiers from any
log/response evidence before it lands in a finding (see
.claude/commands/debug/step-evidence.md). - Untether-mode. Don't gate on
AskUserQuestion(buttons only with ask mode on) — the--runconfirmation is stated in text and STOPS for a reply. Keep the report brief.
The live-bot guardrails (non-negotiable)
A slash command cannot enforce capability limits in code, so these are hard rules the command obeys:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 18d ago Changed · +2 lines 7e6c54bc506f
- 1mo ago First seen · 186 lines · 105 tokens per session scan A bd2dd5a1668a
qa is a command published in the GitHub repository littlebearapps/untether (74 stars, last pushed today), licensed MIT. It adds 105 tokens to every session and 2,886 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
test
Design or run focused test validation for a task, bug, or diff.
automated-smoke-test
Run automated smoke test using engine MCP.
prp-implement
Execute an implementation plan with rigorous validation loops.
qa-plan
Generate QA test plan for sprint or feature.
regression-suite
Map test coverage to GDD critical paths.
skill-improve
Improve skill using test-fix-retest loop.