Skip to content
Back to skills

Qa Plan

ASecurity

Risk-based test plan — what a senior QA team writes BEFORE testing. Recon the app, score each area by RISK (impact × likelihood), rank into P0/P1/P2 deterministically, define the acceptance ("done") per area, and emit a test charter (Markdown) that also seeds qa-explore's areas in priority order so the expensive exploration attacks the riskiest surface first. Use when asked to "write a test plan", "what should we test", "risk assessment", "test strategy", "prioritize testing", or "QA plan for...

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 6, 2026
testingtestingsecurity

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add victoraguilarsantamariadev/qa-explore --skill qa-plan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Qa Plan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Qa Plan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/victoraguilarsantamariadev-qa-plan/badge)](https://www.skillsdirectory.com/skills/victoraguilarsantamariadev-qa-plan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: qa-plan
description: Risk-based test plan — what a senior QA team writes BEFORE testing. Recon the app, score each area by RISK (impact × likelihood), rank into P0/P1/P2 deterministically, define the acceptance ("done") per area, and emit a test charter (Markdown) that also seeds qa-explore's areas in priority order so the expensive exploration attacks the riskiest surface first. Use when asked to "write a test plan", "what should we test", "risk assessment", "test strategy", "prioritize testing", or "QA plan for this release".
---

# qa-plan

Top QA teams don't test everything equally — they test by **risk**. `qa-plan` is the upfront half of the process: it decides *what to test and in what order* before a single expensive explore agent runs, so effort lands on the surface where a bug would hurt most and is most likely.

```
recon the app → per area: IMPACT (blast radius if it breaks) × LIKELIHOOD (how fragile / how changed)
             → risk score (deterministic) → rank P0 / P1 / P2
             → acceptance ("done") per area
charter OUT  → test-plan.md (the plan a lead reviews)  [GATE: you approve/re-rank]
             → seeds qa-explore `areas` in PRIORITY ORDER (riskiest first)
```

## 🔒 The priority is deterministic
An agent judges **impact** and **likelihood** (1–5 each, with a written rationale) — but the **risk score and P0/P1/P2 band are computed by rules** (`impact × likelihood`), so the ranking is consistent and defensible, not a vibe. Same judgements → same plan. (Same principle as qa-gate: the model assesses, the rules rank.)

## The default risk rubric (configurable in `plan`)
- **impact** 1–5: blast radius if this area is broken — money/data/security/legal at the top, cosmetic at the bottom.
- **likelihood** 1–5: how likely it *is* broken — new/changed code, complex flows, past-bug hotspots, many integrations rank high.
- **risk = impact × likelihood** (1–25). Bands (defaults): **P0 ≥ 15**, **P1 8–14**, **P2 < 8**.
- Each area gets an **acceptance line** ("done" = the concrete happy path + the key negative/edge case that must hold) so the explore pass and the gate share one definition of success.

## Engine (invoke via the Workflow tool; do not inline)
- `${CLAUDE_PLUGIN_ROOT}/skills/qa-plan/engine/qa-plan.workflow.js`

(If `$CLAUDE_PLUGIN_ROOT` is unset, the skill is at `~/.claude/skills/qa-plan` — resolve the engine path relative to this SKILL.md.)

## Prerequisites
- The same `qa.config.json` qa-explore uses (`baseUrl`, `login`, etc.). Optional `plan` block: `bands` (P0/P1 thresholds), `outFile` (default `test-plan.md`), `changed` (a list/paths of what changed this release, to raise likelihood on touched areas), `release` label.

## How to run

1. **Resolve config.** Load `qa.config.json`. If the user named what changed this release (files/areas/PR), pass it as `args.plan.changed` so touched areas score higher on likelihood.
2. **Run the engine.** `Workflow({ scriptPath: "<engine>/qa-plan.workflow.js", args: { ...config, plan: {...} } })`. It recons (or uses supplied `areas`), an agent scores impact×likelihood per area with rationale, the engine **computes** risk + P0/P1/P2, and writes `test-plan.md`.
3. **Review the plan (GATE).** Show the ranked charter; let the user re-rank / add / drop before it drives anything. A test plan the lead didn't approve isn't a plan.
4. **Feed it to execution.** Run `qa-explore` with the approved `plan.areas` (already priority-ordered missions) so the riskiest surface is explored first — and, if budget is capped, the P2 tail is what gets dropped, on purpose and logged.
5. **Close the loop with the gate.** The acceptance lines defined here are the same bar `qa-gate` signs off against at the end.

## Where it fits
**`qa-plan` (what/риск, before) → `qa-explore` (find) → `qa-heal` (keep honest) → `qa-fix` (fix) → `qa-gate` (ship?, after).** The two bookends — plan and gate — are the QA-lead process around the execution engine.

## Notes
- **Model assesses, rules rank.** Impact/likelihood are judged; the score and priority band are computed.
- **Change-aware.** Point `plan.changed` at the diff/areas of the release and touched areas rise in likelihood — risk-based testing for *this* release, not in the abstract.
- **Honest tail.** If a budget/`maxAreas` cap means P2 areas won't be explored, the plan says so explicitly — "not planned this run" is not "safe".
- Cadence: at the start of a release / on the PR that cuts it, then hand the ranked areas to qa-explore.

Files in this skill

  • SKILL.md4.5 KB
  • engine/qa-plan.workflow.js7.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.