plugins/designing-functional-tests/skills/designing-functional-tests/SKILL.md
Designs risk-based functional test plans, manual test cases, regression slices, and automation handoff packs from requirements, URLs, or exploratory notes. Use when preparing manual QA coverage before automation, turning feature descriptions into scenario catalogs, or converting exploratory findings into structured test assets.
npx skillsauth add jaktestowac/awesome-copilot-for-testers designing-functional-testsInstall 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.
Use this skill when the goal is to turn product intent into tester-ready coverage rather than directly generating automation. It helps produce plans and cases that are clear enough for manual execution and clean enough to hand off to automation later.
Decide which artifact is needed:
If the user did not specify the artifact, choose the lightest format that still solves the task.
Before writing cases, confirm the test basis gives enough signal to work with.
Minimum signal:
If any of these are missing:
ASSUMPTION.Do not write confident-looking expected results for behavior that is still unknown.
For each high-value flow, check these lenses:
| Lens | What to cover | | --- | --- | | Happy path | Baseline success path | | Negative | Invalid inputs, rejected actions, failures | | Boundary | Empty, min, max, off-by-one, format edges | | Permissions | Wrong role, wrong state, missing access | | Recovery | Retry, refresh, session loss, partial failure | | Data / State | Persistence, deduplication, conflicting updates | | Accessibility smoke | Keyboard reachability, labels, error visibility |
Not every flow needs the same depth. Apply full coverage to risky flows and lighter smoke coverage to low-risk areas.
Use a simple three-level priority scale:
High-priority flows should include at least:
Use ./resources/test-plan-template.md when possible.
A good plan includes:
SCN-001Use ./resources/manual-test-cases-template.md when possible.
Case rules:
MTC-001happy, negative, boundary, permission, recovery, a11y-smokehigh, medium, or lowFor small changes or bug fixes, produce:
Before finishing, decide what should happen next:
/qa-strategy prompt for adversarial expansion/test-generator or /playwright-generate-test promptsrequirements-test-coverage-mapper when traceability matters more than step-by-step executionAlways include:
Good output is handoff-ready, not just impressive-looking.
./resources/test-plan-template.md - structure for full plans and regression slices./resources/manual-test-cases-template.md - table format for detailed manual executionrequirements-test-coverage-mapper - when traceability to PRD, stories, or AC is the main deliverablereporting-bugs - when the task has shifted from planning to documenting a defectauditing-accessibility - when coverage needs a deeper accessibility pass instead of smoke checksThis skill is complete when:
testing
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.