Routing skill of last resort. An agent skill from petrkindlmann/qa-skills.

MITAuto-check passedTesting & QA

Install QA Do

skills CLI
$ npx skills add petrkindlmann/qa-skills --skill qa-do -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install petrkindlmann/qa-skills qa-do --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/petrkindlmann/qa-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qa-do .claude/skills/qa-do && rm -rf skills-src

Use ~/.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/

Facts

Skill name
qa-do
GitHub stars
168
Token cost
~2.9k tokens
SKILL.md length
1,246 words
Files
1
Skills in repo
45
Repo updated
First seen
Licence
MIT

At a glance

Routing skill of last resort. An agent skill from petrkindlmann/qa-skills.

  • Works in 3 steps: Route to the most precise skill, not the… → One or two skills, in order — never a… → The routing table is the source of…
  • : which skill should I use
  • SKILL.md covers Core Principles, How to Use, Common Situations and Their… and When the Situation is Ambiguous, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

QA Do is an agent skill from petrkindlmann/qa-skills. Routing skill of last resort. Takes a plain-language QA situation and names the right 1-2 skills to use and in what order. Use ONLY when the request does not match any other skill's trigger phrases. Use when: "which skill should I use," "where do I start," "I'm not sure what to test," "/qa-do," or any vague QA situation that doesn't map to one skill. Not for: bootstrapping a brand-new project with no QA — use qa-start. Not for: capturing project setup/context — use qa-project-context. If the request clearly…

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Cross-tool. Tested with Claude Code, Codex, Cursor, Gemini CLI. Reads the project root; no network access required.

It sits in Testing & QA, covering Plain language and style rules and Test strategy. The repository describes itself as: 50 QA and test-automation skills for Claude Code, Codex, Cursor, and any Agent Skills Standard runtime. The licence is MIT.

When your agent uses it

  • : which skill should I use
  • Where do I start
  • Im not sure what to test
  • Any vague QA situation that doesnt map to one skill

Example prompts

  • “s trigger phrases. Use when:”
  • “where do I start,”
  • “m not sure what to test,”
  • “/qa-do”

Requirements

  • Compatibility (from SKILL.md): Cross-tool. Tested with Claude Code, Codex, Cursor, Gemini CLI. Reads the project root; no network access required.

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Route to the most precise skill, not the nearest neighbor. A vague match to a
  2. One or two skills, in order — never a pile. Output at most two skills. A second
  3. The routing table is the source of truth, and it goes stale. This router is uniquely

What it can do on your machine

Read from SKILL.md and the folder at commit b3bb61b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Cross-tool. Tested with Claude Code, Codex, Cursor, Gemini CLI. Reads the project root; no network access required.

    From compatibility in the SKILL.md frontmatter.

Context cost

QA Do loads about 2.9k tokens when it runs. Until then it costs about 164 tokens; SKILL.md has 1,246 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~164
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from petrkindlmann/qa-skills at commit b3bb61b, republished under its MIT licence (© petrkindlmann). 1,246 words, ~2,868 tokens.

Download SKILL.mdSave it as .claude/skills/qa-do/SKILL.md (or your agent's skills folder).
name
qa-do
description
Routing skill of last resort. Takes a plain-language QA situation and names the right 1-2 skills to use and in what order. Use ONLY when the request does not match any other skill's trigger phrases. Use when: "which skill should I use," "where do I start," "I'm not sure what to test," "/qa-do," or any vague QA situation that doesn't map to one skill. Not for: bootstrapping a brand-new project with no QA — use qa-start. Not for: capturing project setup/context — use qa-project-context. If the request clearly matches another skill, invoke that skill directly instead of routing through here. Related: qa-start, qa-project-context, test-strategy.
compatibility
Cross-tool. Tested with Claude Code, Codex, Cursor, Gemini CLI. Reads the project root; no network access required.
license
MIT
metadata.author
kindlmann
metadata.version
2.0
metadata.category
foundation
metadata.argument-hint
plain-language QA situation (e.g. 'our checkout flow is slow and tests are flaky')
<objective>
Most QA situations fit a recognizable pattern. This skill takes a plain-language
description of what you're trying to do or what problem you're facing, matches it to a
pattern, and names the 1-2 skills to use and in what order. It diagnoses and routes — it
does not duplicate content from the skills it points to. If invoked with arguments, the
situation is `$ARGUMENTS`; otherwise ask the user for a sentence or two describing it.
</objective>

Core Principles

  1. Route to the most precise skill, not the nearest neighbor. A vague match to a broad skill is worse than a direct hit on a narrow one. "Reproduce this bug" goes to bug-reproduction, not the broader ai-bug-triage; "test our Stripe checkout" goes to payment-testing, not generic api-testing. When in doubt, prefer the skill whose trigger phrases name the exact artifact in the request.

  2. One or two skills, in order — never a pile. Output at most two skills. A second skill earns its place only when the first leaves a clear gap (diagnose → measure, risk → checklist). If one skill covers the request, say "Direct" and stop. Routing to three skills means the situation is ambiguous — ask a clarifying question instead.

  3. The routing table is the source of truth, and it goes stale. This router is uniquely prone to drift: every skill added to skills/ is a row that may be missing here. Regenerate the table and the Skill Categories reference against skills/ whenever a skill is added or removed. If a request has no row, fall back to the closest category in the Quick Reference rather than forcing a wrong direct match.

How to Use

Describe what you're trying to do or what problem you're facing — a sentence or two is enough. The router outputs the recommended skill(s) (1-2, in order) and one line per skill explaining the role it plays. Example: "Our E2E tests keep failing in CI but pass locally." → test-reliability (diagnose flaky/environment-sensitive tests), then ci-cd-integration (align the pipeline environment with local behavior).

Common Situations and Their Skills

SituationRecommended SkillsOrder
New project, no tests at allqa-start (or qa-project-context → test-strategy)Bootstrap the whole QA setup
Onboard a QA engineer to an existing codebaseqa-project-bootstrapDirect — 30-day ramp + architecture audit
"Tests keep breaking in CI"test-reliability → ci-cd-integrationReliability first, then pipeline
"A UI refactor/redesign broke many selectors"selector-drift-recoveryDirect — bulk regen, not per-test healing
"What should we test before this release?"risk-based-testing → release-readinessRisk first, then checklist
"We need Playwright tests"playwright-automationDirect
"We need Cypress tests"cypress-automationDirect
"Let an agent explore the app and assert outcomes"agentic-browser-testingDirect — goal-driven, no script
"Write tests from this PRD/spec/story"ai-test-generationDirect
"Reproduce this vague bug / turn this report into a failing test"bug-reproductionDirect — verified minimal repro + regression test
"Review my tests / find test smells"ai-qa-reviewDirect
"Our test suite is slow and flaky"test-reliability → qa-metricsDiagnose first, measure second
"Our suite is bloated / too many redundant tests"test-suite-curationDirect — audit + prune with evidence
"Manage / author manual test cases (TestRail, Xray, Zephyr, Qase)"test-case-managementDirect
"Set up test reporting"qa-dashboard → ci-cd-integrationDashboard design, then CI wiring
"Test our API"api-testingDirect
"Write unit tests / add a mock / coverage threshold"unit-testingDirect
"Test our database / migration / data integrity"database-testingDirect
"Set up consumer-driven contract tests (Pact)"contract-testingDirect
"Where are our coverage gaps?"coverage-analysisDirect
"Do a structured exploratory / charter-based testing session"exploratory-testingDirect
"Check accessibility compliance"accessibility-testingDirect
"Test our payment / Stripe checkout / 3DS / subscription billing"payment-testingDirect
"Test the signup confirmation / password reset / OTP email flow"email-testingDirect
"Verify analytics / GA4 / pixel / dataLayer events fire correctly"analytics-tracking-testingDirect
"We got a bug in prod, understand why"bug-reproduction → quality-postmortemReproduce first, then retro
"Classify / triage a batch of CI failures"ai-bug-triageDirect — batch failure clustering
"We're migrating from Selenium/Cypress"test-migrationDirect
"Performance is degrading"performance-testing → observability-driven-testingMeasure first, then trace
"Set up test data"test-data-managementDirect
"Set up / containerize a test environment or staging"test-environmentsDirect
"Add tests to CI"ci-cd-integrationDirect
"Visual changes breaking tests"visual-testing → test-reliabilityBaseline first, then stabilize
"We have no idea what quality looks like"qa-metrics → qa-dashboardDefine KPIs, then surface them
"Third-party API is unreliable in tests"service-virtualizationDirect
"Need to test on multiple browsers"cross-browser-testingDirect
"Need to test on real iOS/Android devices (Appium/Detox/Maestro)"mobile-testingDirect
"Security audit coming up"security-testingDirect
"Tests depend on each other and break in random order"test-data-management → test-reliabilityFix data isolation first
"Roll out a feature safely (flags, canary) during release"testing-in-productionDirect
"Schedule probes / SLA checks that run after release"synthetic-monitoringDirect
"Our QA is only catching bugs after dev, too late"shift-left-testing → test-planningProcess change first, then plan
"We're building an AI/LLM feature and need to test it"ai-system-testingDirect
"Make this test report sound human / less AI-y"qa-report-humanizerDirect
"Make sure this is GDPR/EAA/AI Act compliant"compliance-testingDirect
"Run chaos / failure injection on staging"chaos-engineeringDirect
Show full SKILL.md (432 more words)Show less

When the Situation is Ambiguous

If a description maps to three or more skills with equal weight, one clarifying question narrows it down. Answer it and the router reduces to 1-2 skills.

  • "Are you fixing something broken, or building new coverage from scratch?"
  • "Is this a process problem (how the team works) or a tooling problem (what's running)?"
  • "Is the priority speed of delivery, or confidence in correctness?"
  • "Are you the only QA, or is this a team-wide change?"
Disambiguation pairs (the four overlaps to resolve, not guess)
  • test-reliability vs selector-drift-recovery — one flaky test healed at runtime → test-reliability; many selectors broken by a planned UI refactor → selector-drift-recovery.
  • cross-browser-testing vs mobile-testing — browsers/CSS engines → cross-browser-testing; real devices, Appium/Detox/Maestro, gestures/deep links → mobile-testing.
  • ai-bug-triage vs bug-reproduction — classify/dedupe a batch of CI failures → ai-bug-triage; reproduce and understand one specific bug → bug-reproduction.
  • qa-start vs qa-project-bootstrap — brand-new project, no QA yet → qa-start; onboarding a QA engineer to an existing codebase → qa-project-bootstrap.

Skill Categories Quick Reference

Regenerate this from the category: field of every skills/*/SKILL.md whenever skills change.

CategorySkills
Foundationqa-project-context, qa-start, qa-do
Strategytest-strategy, test-planning, risk-based-testing, exploratory-testing
Automationplaywright-automation, cypress-automation, api-testing, unit-testing, mobile-testing, visual-testing, performance-testing, cross-browser-testing, database-testing, security-testing, selector-drift-recovery
Specializedaccessibility-testing, payment-testing, email-testing, analytics-tracking-testing
AI-QAai-test-generation, ai-bug-triage, bug-reproduction, test-reliability, ai-qa-review, agentic-browser-testing
Infrastructureci-cd-integration, test-environments, test-data-management, contract-testing, service-virtualization
Metricsqa-metrics, qa-dashboard, coverage-analysis
Processshift-left-testing, qa-project-bootstrap, release-readiness, quality-postmortem, compliance-testing, qa-report-humanizer, test-case-management, test-suite-curation
Productiontesting-in-production, synthetic-monitoring, observability-driven-testing
Knowledgeai-system-testing, chaos-engineering, test-migration

Anti-Patterns

  • Routing to a broad skill when a precise one exists. "Reproduce this bug" → routing to ai-bug-triage (batch classification) instead of bug-reproduction (single verified repro). Fix: match the exact artifact in the request to the skill that names it.
  • Stacking three or more skills on one situation. That signals ambiguity, not thoroughness. Fix: ask one clarifying question and reduce to 1-2.
  • Trusting a stale table. If a recently added skill has no row, the router silently mis-routes to a weaker neighbor. Fix: regenerate the table from skills/ (Core Principle 3) and fall back to the closest Quick Reference category rather than forcing a wrong match.
  • Grabbing a request that belongs to a named sibling. "Set up QA on a new project" is qa-start; "capture project context" is qa-project-context. qa-do is last resort only.
  • qa-start — the sibling most confused with this one. Use it (not qa-do) when starting QA on a brand-new project with no QA in place; it chains context → strategy → planning.
  • qa-project-context — capture project setup before using most skills; every skill checks for it first. Route here, don't reimplement it.
  • test-strategy — when the situation is "we need a QA strategy" rather than a specific problem to route.

© petrkindlmann, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/qa-do of petrkindlmann/qa-skills.

Open the folder on GitHubat commit b3bb61b

Compare with similar skills

QA Do 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.

QA Do compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
QA Do this skillpetrkindlmann/qa-skills168—~2.9kAutomated safety check: PassMIT
Automated Test Planningtestdouble/han279—~6.7kAutomated safety check: PassMIT
Manual Test Planningtestdouble/han279—~2.9kAutomated safety check: PassMIT
Dx Devops Test Failures Analyzeforcedotcom/sf-skills1.1k—~1.4kAutomated safety check: PassApache-2.0
Geb Identification Strategyfranklee16/academic-research-skills2231 repos~1kAutomated safety check: PassNone
Regex Buildermohitagw15856/pm-claude-skills1.4k—~704Automated safety check: PassMIT

Similar skills

  • Produce a standalone test plan by analyzing code for test coverage gaps and edge cases.

    279 GitHub stars~6.7k tokensUpdated 8 days ago
    Testing & QAAuto-check passed
  • Manual Test Planning

    testdouble/han

    Produce a plain-language manual test plan from the context supplied to it — an executive summary, a high-level list of named tests, and a detail section per test with the steps a person follows by…

    279 GitHub stars~2.9k tokensUpdated 8 days ago
    Testing & QAAuto-check passed
  • Dx Devops Test Failures Analyze

    forcedotcom/sf-skills

    Analyzes DevOps Center test failures and Code Analyzer violations in plain language — failure category, offending file/class/method/line, rule violated, fix direction, and prioritized improvement…

    1.1k GitHub stars~1.4k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • Geb Identification Strategy

    franklee16/academic-research-skills

    A skill your agent uses when the analytical core of a Games and Economic Behavior (GEB) manuscript is the bottleneck — assumptions, theorem statements, proof exposition, and generality for a…

    223 GitHub starsUsed in 1 repo~1k tokens
    Testing & QAAuto-check passed
  • Regex Builder

    mohitagw15856/pm-claude-skills

    Build a regular expression from a plain-English description, or explain an existing one.

    1.4k GitHub stars~704 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Regex Debugger

    OneWave-AI/claude-skills

    Debug regex patterns with visual breakdowns, plain English explanations, test case generation, and flavor conversion.

    328 GitHub stars~1.3k tokensUpdated 7 days ago
    Testing & QAAuto-check passed

More from petrkindlmann/qa-skills

All 45 skills in this repo
  • Accessibility Testing

    petrkindlmann/qa-skills

    Test for WCAG 2.2 AA compliance with axe-core + Playwright, keyboard navigation audits, screen reader testing, ARIA pattern validation, and legal compliance mapping (ADA, EAA, Section 508).

    168 GitHub stars~4.5k tokensUpdated 4 mo ago
    Auto-check passed
  • Agentic Browser Testing

    petrkindlmann/qa-skills

    Goal-driven E2E testing where a browser agent (Playwright MCP / computer-use) reads a natural-language goal and explores the app via the accessibility tree to assert outcomes — no pre-written script.

    168 GitHub stars~4.5k tokensUpdated 4 mo ago
    Auto-check passed
  • AI Test Generation

    petrkindlmann/qa-skills

    Use AI to write NEW test code from specs, PRDs, user stories, code diffs, bug reports, or OpenAPI specs.

    168 GitHub stars~4.8k tokensUpdated 4 mo ago
    Auto-check passed
  • API Testing

    petrkindlmann/qa-skills

    Test REST and GraphQL APIs with Playwright APIRequestContext, Supertest, or standalone HTTP clients.

    168 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • CI CD Integration

    petrkindlmann/qa-skills

    Design CI/CD pipelines that run test suites. An agent skill from petrkindlmann/qa-skills.

    168 GitHub stars~4.8k tokensUpdated 4 mo ago
    Auto-check passed
  • Compliance Testing

    petrkindlmann/qa-skills

    Test for regulatory compliance: GDPR/CMP consent verification, Google Consent Mode v2, Global Privacy Control (GPC), CCPA/US state opt-out, EU AI Act Article 50 transparency, Better Ads Standards…

    168 GitHub stars~4.6k tokensUpdated 4 mo ago
    Auto-check passed

Questions about QA Do

What does QA Do do?

Routing skill of last resort. An agent skill from petrkindlmann/qa-skills. QA Do is an agent skill from petrkindlmann/qa-skills. Routing skill of last resort.

When should I use QA Do?

QA Do fits situations like: : which skill should I use; where do I start; im not sure what to test; any vague QA situation that doesnt map to one skill.

How do I install QA Do in Claude Code?

Run `npx skills add petrkindlmann/qa-skills --skill qa-do -a claude-code`. Or copy the skill folder (skills/qa-do in petrkindlmann/qa-skills) into .claude/skills/qa-do in your project. Claude Code loads it when a task matches its description.

How do I install QA Do in Codex?

Run `npx skills add petrkindlmann/qa-skills --skill qa-do -a codex`. Or copy the skill folder (skills/qa-do in petrkindlmann/qa-skills) into .agents/skills/qa-do in your project. Codex loads it when a task matches its description.

Can I use QA Do in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add petrkindlmann/qa-skills --skill qa-do -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qa-do, .gemini/skills/qa-do, .github/skills/qa-do and .opencode/skills/qa-do in your project.

What does QA Do need to run?

SKILL.md names no scripts, command-line tools or credentials: QA Do is instructions for the agent only. Compatibility (from SKILL.md): Cross-tool. Tested with Claude Code, Codex, Cursor, Gemini CLI. Reads the project root; no network access required..

Does QA Do access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is QA Do safe to install?

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. Review the folder before installing.

What licence does QA Do use?

QA Do is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does QA Do use?

About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to QA Do?

Skills that share tags, products or a category with QA Do: Automated Test Planning (testdouble/han, 279 stars), Manual Test Planning (testdouble/han, 279 stars), Dx Devops Test Failures Analyze (forcedotcom/sf-skills, 1.1k stars) and Geb Identification Strategy (franklee16/academic-research-skills, 223 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains QA Do?

petrkindlmann (a GitHub user) maintains it in petrkindlmann/qa-skills, which has 168 GitHub stars. The repository holds 45 skills in this directory. The repository was last updated on June 10, 2026.

Source: petrkindlmann/qa-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.