@petrkindlmann/qa-do

>-

View in AI SkillSafe app
Scanned · no findings
0 downloads
0 stars
0 demos
SKILL.md
nameqa-do
description>-
licenseMIT
compatibilityCross-tool. Tested with Claude Code, Codex, Cursor, Gemini CLI. Reads the project root; no network access required.
<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

Situation Recommended Skills Order
New project, no tests at all qa-start (or qa-project-contexttest-strategy) Bootstrap the whole QA setup
Onboard a QA engineer to an existing codebase qa-project-bootstrap Direct — 30-day ramp + architecture audit
"Tests keep breaking in CI" test-reliabilityci-cd-integration Reliability first, then pipeline
"A UI refactor/redesign broke many selectors" selector-drift-recovery Direct — bulk regen, not per-test healing
"What should we test before this release?" risk-based-testingrelease-readiness Risk first, then checklist
"We need Playwright tests" playwright-automation Direct
"We need Cypress tests" cypress-automation Direct
"Let an agent explore the app and assert outcomes" agentic-browser-testing Direct — goal-driven, no script
"Write tests from this PRD/spec/story" ai-test-generation Direct
"Reproduce this vague bug / turn this report into a failing test" bug-reproduction Direct — verified minimal repro + regression test
"Review my tests / find test smells" ai-qa-review Direct
"Our test suite is slow and flaky" test-reliabilityqa-metrics Diagnose first, measure second
"Our suite is bloated / too many redundant tests" test-suite-curation Direct — audit + prune with evidence
"Manage / author manual test cases (TestRail, Xray, Zephyr, Qase)" test-case-management Direct
"Set up test reporting" qa-dashboardci-cd-integration Dashboard design, then CI wiring
"Test our API" api-testing Direct
"Write unit tests / add a mock / coverage threshold" unit-testing Direct
"Test our database / migration / data integrity" database-testing Direct
"Set up consumer-driven contract tests (Pact)" contract-testing Direct
"Where are our coverage gaps?" coverage-analysis Direct
"Do a structured exploratory / charter-based testing session" exploratory-testing Direct
"Check accessibility compliance" accessibility-testing Direct
"Test our payment / Stripe checkout / 3DS / subscription billing" payment-testing Direct
"Test the signup confirmation / password reset / OTP email flow" email-testing Direct
"Verify analytics / GA4 / pixel / dataLayer events fire correctly" analytics-tracking-testing Direct
"We got a bug in prod, understand why" bug-reproductionquality-postmortem Reproduce first, then retro
"Classify / triage a batch of CI failures" ai-bug-triage Direct — batch failure clustering
"We're migrating from Selenium/Cypress" test-migration Direct
"Performance is degrading" performance-testingobservability-driven-testing Measure first, then trace
"Set up test data" test-data-management Direct
"Set up / containerize a test environment or staging" test-environments Direct
"Add tests to CI" ci-cd-integration Direct
"Visual changes breaking tests" visual-testingtest-reliability Baseline first, then stabilize
"We have no idea what quality looks like" qa-metricsqa-dashboard Define KPIs, then surface them
"Third-party API is unreliable in tests" service-virtualization Direct
"Need to test on multiple browsers" cross-browser-testing Direct
"Need to test on real iOS/Android devices (Appium/Detox/Maestro)" mobile-testing Direct
"Security audit coming up" security-testing Direct
"Tests depend on each other and break in random order" test-data-managementtest-reliability Fix data isolation first
"Roll out a feature safely (flags, canary) during release" testing-in-production Direct
"Schedule probes / SLA checks that run after release" synthetic-monitoring Direct
"Our QA is only catching bugs after dev, too late" shift-left-testingtest-planning Process change first, then plan
"We're building an AI/LLM feature and need to test it" ai-system-testing Direct
"Make this test report sound human / less AI-y" qa-report-humanizer Direct
"Make sure this is GDPR/EAA/AI Act compliant" compliance-testing Direct
"Run chaos / failure injection on staging" chaos-engineering Direct

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.

Category Skills
Foundation qa-project-context, qa-start, qa-do
Strategy test-strategy, test-planning, risk-based-testing, exploratory-testing
Automation playwright-automation, cypress-automation, api-testing, unit-testing, mobile-testing, visual-testing, performance-testing, cross-browser-testing, database-testing, security-testing, selector-drift-recovery
Specialized accessibility-testing, payment-testing, email-testing, analytics-tracking-testing
AI-QA ai-test-generation, ai-bug-triage, bug-reproduction, test-reliability, ai-qa-review, agentic-browser-testing
Infrastructure ci-cd-integration, test-environments, test-data-management, contract-testing, service-virtualization
Metrics qa-metrics, qa-dashboard, coverage-analysis
Process shift-left-testing, qa-project-bootstrap, release-readiness, quality-postmortem, compliance-testing, qa-report-humanizer, test-case-management, test-suite-curation
Production testing-in-production, synthetic-monitoring, observability-driven-testing
Knowledge ai-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.

Related Skills

  • 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.

Embed badges

Add these to your README to show the skill's verification status.

SkillSafe verified badge
Verified badge
[![SkillSafe verified badge](https://api.skillsafe.ai/v1/badge/@petrkindlmann/qa-do/verified)](https://skillsafe.ai/skill/@petrkindlmann/qa-do/)
Installs badge
Installs badge
[![Installs badge](https://api.skillsafe.ai/v1/badge/@petrkindlmann/qa-do/installs)](https://skillsafe.ai/skill/@petrkindlmann/qa-do/)
Scan badge
Scan badge
[![Scan badge](https://api.skillsafe.ai/v1/badge/@petrkindlmann/qa-do/scan)](https://skillsafe.ai/skill/@petrkindlmann/qa-do/)
Eval pass rate badge
Eval pass rate
[![Eval pass rate badge](https://api.skillsafe.ai/v1/badge/@petrkindlmann/qa-do/eval)](https://skillsafe.ai/skill/@petrkindlmann/qa-do/)