skills/requirements-test-coverage-mapper/SKILL.md
Maps requirements (PRD, user stories, acceptance criteria) to planned test coverage via a Requirements Traceability Matrix, exposing coverage gaps, risks, test levels, prioritization, and automation candidates. Use when designing coverage from a specification, checking coverage completeness for a PRD or user story, finding missing acceptance criteria, or building a risk-based regression strategy. When the tests already exist and the matrix has to be extracted from them, verified, and kept accurate, use the tracing-requirements-to-code skill instead.
npx skillsauth add jaktestowac/awesome-copilot-for-testers requirements-test-coverage-mapperInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill turns a PRD, user stories, acceptance criteria, and constraints into a traceability-driven test coverage plan:
The output is designed to be used as a living artifact and single source of truth for coverage, readiness, and auditability.
Use this skill when you need to:
Classify the work to adjust rigor and output depth:
If unknown, mark as TBD and proceed with safe defaults.
Ask targeted questions where the answer would change the coverage plan. Cover these areas:
If the user cannot answer (or wants to move fast), capture the gaps as explicit assumptions in the output and proceed.
Normalize input into atomic, testable requirements:
REQ-001… (requirements), US-001… (user stories), AC-001… (acceptance criteria)NEEDS_CLARIFICATIONFor each requirement, propose coverage across:
Use risk-based thinking: assign impact (H/M/L) and likelihood (H/M/L), and derive priority and test depth from risk.
The RTM table has one row per requirement, so it can only ever show requirements with no test. When tests already exist, also run the other direction: which existing tests map to no requirement?
An orphan test is one of three things, and they need different actions:
unslop-tests rather than mapping it.Report orphans classified, not counted. For a full bidirectional pass over an existing codebase, including annotation, link verification, and drift detection, use tracing-requirements-to-code.
Follow the strict output schema in ./resources/coverage-map-template.md - document metadata, executive coverage summary, RTM table, scenario catalog, gap report, risk-based prioritization, automation/CI recommendations, and assumptions/change-impact notes, in that order.
Before final output:
Exists was confirmed against the actual test, not assumed from its title./resources/coverage-map-template.md - the strict output schema (RTM table, scenario catalog, gap report, prioritization tiers) with a worked exampletracing-requirements-to-code - when the tests already exist and the matrix must be extracted from them, verified, and kept accurate. Use this skill to plan coverage from a spec, that one to trace what was actually built.prd-generator - when requirements themselves still need to be written before mappingverifying-acceptance-criteria - when a specific build must be checked against the acceptance criteriaanalyzing-regression-scope - when the question is tactical retest scope after a change rather than full traceabilitydesigning-functional-tests - when RTM scenarios should expand into detailed test casesassessing-release-readiness - when the coverage gaps found here feed a go/no-go decisionThis skill is complete when:
MISSING_TEST flagtesting
Tests the customization assets themselves - skills, prompts, custom agents, instructions - the way a product is tested: activation cases that check an asset fires when it should and stays quiet when it should not, output-contract cases, safety cases, collision cases between assets competing for the same trigger, a weighted rubric scored blind, and a baseline-versus-candidate gate before an edit ships. Use when a skill is edited and nobody knows whether behaviour changed, when two skills fight over the same request, when a description is being tuned for discoverability, when a collection has grown past manual spot-checking, or when the request mentions skill evals, prompt regression, or "does this skill actually work".
development
Shapes QA output for the person who has to act on it: result and blocker in the first two lines, one decision per report, findings ordered by what they cost, the long artifact in a file and the decisions in the message, and magnitude stated in units the reader can count. Use when a report is accurate but nobody acts on it, when a finding set is too long to read under time pressure, when the same findings must be retold for a developer, a release manager, and an on-call engineer, or when the request mentions "too long", "make this readable", "just tell me what to do", "so what", or "summarize this for stakeholders". Pairs with unslop-answers, which makes the same report honest.
testing
Verifies that the lines and branches a change actually touched are executed by tests, using LCOV or Cobertura diff coverage instead of whole-repo percentages, and escalates uncovered high-risk changes into a blocking finding. Use when a pull request needs a coverage gate that unrelated tests cannot satisfy, when total coverage looks healthy but the diff is untested, when wiring diff coverage into CI, or when someone claims a change is covered because the suite is green.
development
Cuts AI tells from test code: tests that pass without proving anything, tautological assertions, mock-only tests, hardcoded waits, coverage theater, vague names, swallowed errors, retries used as fixes. Use whenever test code is written, changed, or reviewed, including tests produced as a side effect of a feature task, and when the request mentions "review these tests", "are these tests any good", "this test always passes", "this suite is flaky", or "clean up these tests". Must always apply to test code.