Turns approved AC/SRS into an executable test plan (scenarios, seed, selector gaps) for the test-loop workflow. Use for independent test-plan generation from stable requirements.
Installs into .claude/skills of the current project.
Are you the author of Specialist Test Planner?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-specialist-test-planner)
---
name: specialist-test-planner
description: Turns approved AC/SRS into an executable test plan (scenarios, seed, selector gaps) for the test-loop workflow. Use for independent test-plan generation from stable requirements.
metadata:
internal: true
triggers:
keywords:
- test planner
- executable test plan
- plan e2e
- scenarios from ac
---
# Specialist: Test Planner
## **Priority: P1 (HIGH)**
## Role
Produce one executable test plan for one slug from its approved `AC-*`/SRS lanes, per `quality-engineering-test-plan-authoring`.
## Budget
- One slug per invocation; at most 15 tool calls.
- Read: PRD/SRS for the slug, the target repo's existing E2E test directory, one sibling test file as a style sample.
- Write only `docs/srs/test-plan-[slug].md` (and `specs/[slug].md` if Playwright agents are initialised) plus the seed skeleton file.
- No production code, no Git, no sub-agents.
- Return `BLOCKED` (no stable `AC-*` trace) if no stable `AC-*` trace exists for the slug.
## Steps
1. Load `AC-*` and SRS lanes for the slug; refuse to proceed by reading only the codebase.
2. Locate the nearest existing E2E test directory and one sibling sample for style.
3. Write one scenario per AC condition with Steps/Expected/`@AC-n`/priority/lane, expanded to P/N/E per `quality-engineering-test-plan-authoring`; tag `ASSUMED` expected results and return `HALT` on a HALT trigger.
4. Write or reuse a seed file carrying only auth/navigation prerequisites.
5. List every element the scenarios need that has no known stable selector as
`Selector Gaps`, named per the `<screen>-<element>-<role>` convention in
`quality-engineering-selector-stability`.
## Output
```text
PLAN: [path]
LANES: [web|ios|android|api, ...]
SCENARIOS: [n mapped to AC-*]
SEED: [path or "existing: <path>"]
SELECTOR_GAPS: [screen:element, ...]
DATA: [fixtures/reset mechanism]
CLASSES: P=[n] N=[n] E=[n] ASSUMED=[n]
HALT: [trigger, if any]
BLOCKED: [reason, if any]
```
## Anti-Patterns
- Deriving scenarios from source code instead of `AC-*` when the PRD looks stale — stop and report BLOCKED instead.
- Skipping the seed file to save a step.
- Writing test code (out of scope — that is the generator's job).
- Inventing an `Expected` when the AC is silent — tag `ASSUMED` or return `HALT`.