Generates structured QA test scripts in CSV format from functional requirements, following the Given/When/Then format. Use this skill whenever the user asks to generate test cases, write a test script, create QA scripts, or script a feature for testing. Also triggers when the user provides requirements (e.g. a spec, user story, or description of a feature) and asks for coverage, test cases, or a test plan — even if they don't say "skill". This skill handles both CMS and Frontend testing across web features, producing output ready for import into test management tools.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qa-test-script-generator:qa-test-script-generatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generates detailed, structured QA test cases in CSV format from functional requirements. Follows a Given/When/Then format consistent with the project's existing test library. Covers both CMS configuration and Frontend behaviour.
Generates detailed, structured QA test cases in CSV format from functional requirements. Follows a Given/When/Then format consistent with the project's existing test library. Covers both CMS configuration and Frontend behaviour.
.csv.Before generating anything, review all provided context:
references/ below)| File | Purpose |
|---|---|
references/e1-listing-page.csv | Frontend filter, search, map and state-management patterns |
references/e2-membership-journey.csv | Multi-step authenticated journey and modal interaction patterns |
references/e3-cms-blocks-library.csv | Large CMS block library — WYSIWYG, field types, block placement |
references/e4-cms-blocks-extended.csv | Extended CMS block patterns including image, link, and content area variants |
references/guidance-scripting-questions.md | Checklist of questions to work through when scripting CMS features |
references/do-not-include.csv | Tests that must never be generated — check every case name against this list |
Load only the reference files relevant to the current feature. For CMS-heavy work load e3 and e4 plus the guidance file. For frontend filter/search/map work load e1. For journey or flow-based features load e2.
Always check whether the inputs include:
Before generating output, assess whether any requirements are ambiguous or missing.
Blocking — Cannot generate the test without this information. Medium Priority — Affects test depth or accuracy; include impacted tests as TBC. Low Priority — Nice to have; do not block output for these. Generate the test as best you can.
Present questions in clearly labelled groups. Always end with a copy-paste-friendly numbered form the user can fill in:
Please fill in answers below:
1. [Blocking] [Your question here]
Answer:
2. [Medium] [Your question here]
Answer:
3. [Low] [Your question here]
Answer:
Do not ask the user about:
If a question is Low Priority or Medium Priority, go ahead and generate the test with a TBC - prefix in the Case field. Example: TBC - Filter persistence on reload (confirm URL structure)
For every feature, generate test cases across these dimensions where applicable:
CMS Tests:
Frontend Tests:
String / text fields:
Rich Text / WYSIWYG fields: Check against the Guidance file's WYSIWYG questions. Include cases for each formatting type the field supports (bold, italic, underline, bullet lists, numbered lists, headers, hyperlinks, images, tables, etc.). Create one test per formatting type. Also include: Boundary content, Negative (if mandatory).
Image fields:
Link / CTA fields:
Toggles:
Dropdown / select fields:
Integer fields:
If the feature includes search:
If the feature includes filters:
Sort test cases in logical execution order — the order a manual tester would naturally follow:
Case, Preconditions, Steps (text), Expected, Folder
CMS or Frontend. Use these exact values.""."smart quotes" from source requirements with 'straight single quotes'."Filter dropdown interaction","Given I am on the Listing page","When I click on a filter dropdown","Then the + icon should smoothly transition to a - icon and the filter options should be revealed","Frontend"
Never generate test cases matching any of the following categories. These mirror the do not include these tests.csv exclusion list:
Whenever a test case in the example library matches what you need to generate, reuse the structure verbatim or with minimal adaptation. Prefer reuse over invention. Key patterns to reuse:
references/e1-listing-page.csvreferences/e2-membership-journey.csvreferences/e3-cms-blocks-library.csvreferences/e4-cms-blocks-extended.csvWhen reusing, adapt the Preconditions and Case name to the current feature context, but keep the Steps and Expected structure consistent.
Before presenting the CSV, verify:
CMS or Frontend.csv artifactRun this step before presenting the file. Execute the bundled validation script against the generated CSV. If any assertion fails, fix the CSV and re-run until all checks pass. Only present the file to the user once validation is clean.
The validator lives at scripts/validate_csv.py within this skill. Copy it to /tmp/ and run it against the output file:
cp <skill-dir>/scripts/validate_csv.py /tmp/validate_csv.py
python /tmp/validate_csv.py /mnt/user-data/outputs/<filename>.csv
If the script exits with code 1, read the error list, correct the CSV in place, and re-run until exit code is 0.
| Check | Rule |
|---|---|
| Header columns | Must be exactly Case, Preconditions, Steps (text), Expected, Folder in order |
| No empty rows | At least one data row must be present |
| Required fields populated | All five columns must be non-empty for every row |
| Folder values | Must be exactly CMS or Frontend — no other values accepted |
| No HTML tags | Any <tag> pattern in any field is a failure |
| No smart quotes | Unicode curly quotes (", ", ', ') must not appear in any field |
| No duplicate case names | Each Case value must be unique across the file |
Fix each reported error directly in the CSV before re-running. Common fixes:
CMS or Frontend'Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
npx claudepluginhub tomrobinson26/qa-skills --plugin qa-test-script-generator