Radar is a single-binary graphical interface for Kubernetes, the system used to run and manage containerized applications across clusters. It helps developers and operators inspect resources, topology, events, Helm deployments, GitOps, traffic, audits, and upgrade impact, while its built-in MCP server lets AI agents inspect and operate clusters through Radar.
Borrowing it
Nothing to install: this file belongs to skyhook-io/radar. 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/skyhook-io/radar/main/.claude/commands/qa.mdgit clone --depth 1 https://github.com/skyhook-io/radarWrote 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/skyhook-io/radar/qa)<a href="https://agentmods.dev/commands/skyhook-io/radar/qa"><img src="https://agentmods.dev/badge/commands/skyhook-io/radar/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/skyhook-io/radar/qa"><img src="https://agentmods.dev/badge/commands/skyhook-io/radar/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.00018 | $0.01143 |
| Opus 5.5 | $0.00007 | $0.00457 |
| Sonnet 5.5 | $0.00004 | $0.00229 |
| Haiku 4.5 | $0.00002 | $0.00114 |
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 2d 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 — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
QA — radar
What "verify this change" means in radar. Run the checks that fit the delta; skip the rest. Don't run everything reflexively.
Fast dev loop first — the full suite runs once
Verification has two tiers. Use the fast one while iterating; run the full one once, at the end. A fast loop is the priority: never wait on a full suite to check a small fix.
Iteration (every round): make test-changed (scripts/test-changed.sh).
It vets and tests only the changed Go packages (root and pkg/ modules), runs
tsc for web/ and packages/k8s-ui, and vitest related on the changed
frontend files. Typically minutes rather than the ~20 a full run takes.
Go results come from the test cache when nothing a package depends on changed;
GO_TEST_FRESH=1 forces a real run (e.g. to recheck a flaky test).
GO_TEST_RUN=<regexp> narrows a big package (internal/server alone takes
~4.5 min); use it when the change only touches one area there. Never
npm run lint (broken).
Completion (once, after the final batch): CI on the pushed head is the full
run: push and let it go; don't repeat it locally. Run the full local suite
(make test plus npm run test in web/ and packages/k8s-ui) only for a
branch CI won't run (e.g. a PR stacked on another PR's branch), and then only
once. make build is for running the binary (visual or live checks), not for
verification rounds.
Keep it fast in practice:
- Batch fixes, then run the fast tier once for the batch, not after each edit.
- Don't run suites while other heavy work (builds, other test runs, agents) runs on the machine: it slows everything and creates false failures.
- A failure in a file the change doesn't touch, under load, is load until shown
otherwise: rerun that file alone (
npx vitest run <file>/go test -run) before investigating. Several UI suites (e.g.ResourcesView.kind-view) andTestUpgradeReadinessEndpointLargeMetricsare timing-sensitive. - Vitest keeps transformed modules in
.vitest-cache/in each project (one per worktree, gitignored), so a second run skips most transforms. - Both frontend projects run most test files without isolation: a worker reuses
its modules across files. Files that call
vi.mock,vi.doMockorvi.resetModulesrun isolated, picked automatically from their source (scripts/vitest-isolated-tests.ts). A test that passes alone but fails in the suite is probably leaking or reading module state from another file: reset that state in the tests (seetouch-intent.test.ts). Shuffling the file order finds such pairs:npx vitest run --project shared --sequence.shuffle.files --sequence.seed=<n>. - Node 25: run vitest with
NODE_OPTIONS=--no-experimental-webstorage(the script sets it).
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.
- 2d ago Changed · +38 lines 74ec6c8a0be0
- 2mo ago First seen · 38 lines · 18 tokens per session scan A 582899de313b
qa is a command published in the GitHub repository skyhook-io/radar (3,969 stars, last pushed today), licensed Apache-2.0. It adds 18 tokens to every session and 1,143 once invoked, about $0.0001 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
prototype
You are building a proof-of-concept for the current Grainulator sprint. Read CLAUDE.md for sprint context and claims.json for existing research claims.
debate-replay
Deterministically replay a past debate from a session snapshot — regression tests the deliberation engine.
test-coverage
Analyze test coverage and identify the highest-value gaps to fill.
tdd
A command that follows test-driven development (TDD), a method where you write tests before the code they check. It moves through writing a failing test, adding the smallest implementation, and then improving the code.
test
Verify the requested repository surface without unnecessary rebuilds.
arckit.traceability
Generate requirements traceability matrix from requirements to design to tests.