Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sumithr/sumo-qa --skill sumo-qa-preparing-for-workgit clone --depth 1 https://github.com/sumithr/sumo-qaWrote 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/skills/sumithr/sumo-qa/sumo-qa-preparing-for-work)<a href="https://agentmods.dev/skills/sumithr/sumo-qa/sumo-qa-preparing-for-work"><img src="https://agentmods.dev/badge/skills/sumithr/sumo-qa/sumo-qa-preparing-for-work/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/skills/sumithr/sumo-qa/sumo-qa-preparing-for-work"><img src="https://agentmods.dev/badge/skills/sumithr/sumo-qa/sumo-qa-preparing-for-work.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.00064 | $0.03524 |
| Opus 5.5 | $0.00026 | $0.01410 |
| Sonnet 5.5 | $0.00013 | $0.00705 |
| Haiku 4.5 | $0.00006 | $0.00352 |
Grade A, and why
sumo-qa-preparing-for-work 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 21d 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Preparing for QA work
Output discipline (mandatory)
Inherits the global discipline from using-sumo-qa: output discipline (never surface internal taxonomy labels — say "behaviour change in pricing", not "Classification: business_logic_change"), output economy (spend output on findings not framing; no preamble or self-narration; one question per turn; no closing pleasantries), knowledge authority hierarchy, internal scaffolding stays internal, and specialty-tool fit.
The Iron Law
NO TEST IDEA WITHOUT A NAMED RISK. Every test you propose ties to a specific risk you identified.
When to Use
User intents that trigger this skill:
- "plan QA for this story"
- "I'm starting work on X — what should I test?"
- "what could break with this change?"
- "QA prep for ticket ABC-123"
Distinct from sumo-qa-creating-test-plan (formal entry/exit criteria, phases, deliverables) and from sumo-qa-deciding-approach (which only picks the approach). This skill produces a risk-shaped prep brief: named risks + smallest useful test set + named techniques + specialty fits if relevant.
Checklist
Track these as an ordered work list (use the host's task primitive if available, otherwise a numbered inline tracker) and complete in order:
-
Read the user's intent and target paths.
-
Call
sumo_qa_load_standards(classification=...)andsumo_qa_load_rules(classification=...)using the classification the previoussumo-qa-deciding-approachstep settled on. -
Read the actual files in scope using the host's file tools. Do NOT ask the user for file content the host can read directly. When
.sumo-qa/repo-map.jsonis present,sumo_qa_query_repo_maplocates candidate tests and files for the area by path / tag / type (e.g.test_file) — a fast way to find what already exists, sharpening the named risks (step 4) and test set (step 7). Absent or stale → read the files directly; it's an accelerator, never a substitute for reading the code.Context bundle (optional input). If the host supplies a context bundle — a compact, host-neutral record of the issue/PR summary, changed files, any test/CI evidence (each with a source + freshness marker), and user constraints — PREFER it to seed scope and the user-constraint list: validate and read it via
sumo_qa_format_context_bundle. When NO bundle is present, fall back to reading the files and the ticket directly — it is an accelerator, never a requirement, with no GitHub or network dependency. Treat anystale/unknown/absenttest/CI fact in the bundle as stale: it informs which risks remain unproven, it never lets you claim a risk is already covered. The bundle sharpens the named risks (step 4); it does not replace reading the code. -
Identify the 3-4 risks this change most plausibly breaks (never fewer than 3; a 5th only when the security-relevance pass below fires or the change spans several files and the 5th is a distinct failure the first four miss). Each extra risk dilutes the ones that matter. Cut rule (pinned): ask "does this change create or move this failure?" Cut what it doesn't (a field's rendering, label or layout when no new state, formatting or interaction sits behind them); where the classification's own risk column names a failure this change does create (a
frontend_change's interaction or a11y regression), that is a risk, not padding. Where the change meets existing logic or state (a new amount against the tax base, a threshold, rounding, an empty-cart disabled state), that interaction IS a risk even if no rule for it is stated. On a change that looks too narrow for 3, the third risk comes from such an interaction, never from splitting one concern into valid/invalid halves or from padding. Each risk MUST be specific (not "input validation breaks" but "currency conversion at the GBP→USD boundary rounds incorrectly when the rate is supplied with >6 decimal places"). Anchor each in a file path or domain term from the user's words, and do not invent thresholds, rules, states, or edge cases that are not present in the supplied change or code. When the intent is refactor/move/extract without behaviour change, name preservation risks: rendered values, exact formatting, thresholds, rounding, disabled states, and public contract must remain unchanged. Do not merely restate the production formulae as generic calculation risks.
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.
- 21d ago Changed · -2 lines bdf5993456fa
- 24d ago Changed · -9 tokens per session c6a262f31e7d
- 1mo ago Changed 9aa8ed974c9d
- 1mo ago First seen · 102 lines · 73 tokens per session scan A 753c1965c909
sumo-qa-preparing-for-work is a skill published in the GitHub repository sumithr/sumo-qa (7 stars, last pushed 2d ago), licensed Apache-2.0. It adds 64 tokens to every session and 3,524 once invoked, about $0.0003 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-31.
Other skills, from other repositories
live-audit
Audit steam-games-mcp — build/test/lint gate, live MCP tool edge-case sweep (input validation, SteamID64/vanity/appid edge cases, key-gating), and source-level code review. Use when asked to test/audit the published or just-fixed steam-games-mcp package, hunt for bugs/edge cases, or repeat "the same kind of testing as…
pr-quality-cycle
Combined PR quality workflow: address inline review comments AND fix Codecov patch coverage gaps in one end-to-end cycle. Use when a PR has both review feedback and coverage regression, or when you want a single checklist that covers triage, code fixes, test additions, verification, and push-gate validation before…
sugar-quality-guardian
Guides an agent to review code for quality, testing, security, and performance before completion. Use when reviewing a pull request, diff, or code change for quality; enforcing test coverage and standards; validating security (injection, auth, hardcoded secrets); assessing code smells and anti-patterns; or producing a…
adk-go-self-review
Review an ADK Go change the way a maintainer will — a fresh-context pass over the whole diff, five lenses (correctness and tests, scope, simplicity, style, adk-python parity), and the mutation check that proves your tests pin the change. Use before opening a PR, before any later push that changes code, and when asked…
adversarial-reviewer
Stress-test a code change for concrete correctness defects, unsafe assumptions, and failure modes. Use when the user explicitly asks for an adversarial review, a deep bug hunt, or to tear a change apart, or to check your own change before submitting it. Do not use for ordinary review, style feedback, or general…
brooks-sweep
Full-sweep mode: runs a unified analysis across all quality dimensions — code decay, architecture, tech debt, and test quality — then applies fixes directly to the codebase. Safe changes are auto-applied; risky changes are confirmed before execution. Drawing on twelve classic engineering books. Triggers when: user…