Testland
Browse all skills & agents

qa-test-review

Test code reviewers for test files only — production code is out of scope. 5 skills (object-model-patterns, test-code-conventions, test-framework-blueprint, test-isolation-patterns, test-step-design-patterns) and 6 agents (assertion-quality-reviewer, e2e-selector-quality-critic, framework-architecture-auditor, mocking-anti-pattern-detector, test-code-critic, test-suite-health-auditor).

Install this plugin

/plugin install qa-test-review@testland-qa

Part of role bundles: qa-starter, qa-role-automation-engineer, qa-role-sdet

qa-test-review

Test code quality reviewers - agents specialized for test files only, not production code. Production-code reviewers are well-served by the broader ecosystem; test-code hygiene (AAA structure, assertion specificity, mocking anti-patterns, E2E selector quality) is its own discipline and gets its own reviewers here.

Components

TypeNameDescription
Skilltest-code-conventionsPure-reference catalog (§1-§10): AAA structure, single-responsibility, naming, assertion specificity, mocking, fixture coupling, magic numbers, E2E selectors, web-first assertions, slow setup. The agents in this plugin cite back to it.
Skillobject-model-patternsArchitecture-tier catalog: Page Object Model (Fowler), Screenplay (Marcano/Palmer), Component Object, App Actions (Cypress), Service Object, Repository - canonical citations, when-to-use, anti-patterns per pattern.
Skilltest-isolation-patternsArchitecture-tier catalog: fixture scope, Meszaros four-phase pattern, Fresh-vs-Shared-Fixture (Fowler), DB isolation strategies (transaction-rollback / DB-per-worker / template-db / Testcontainers), parallel safety, cleanup discipline.
Skilltest-step-design-patternsArchitecture-tier catalog: FIRST principles (Martin), step granularity, abstraction layers (mechanical → page → business), step-extraction rule of three (Fowler), AAA / Given-When-Then mapping, declarative-vs-imperative phrasing.
Skilltest-framework-blueprintBuild-an-X workflow: seven steps from no test suite to a written framework blueprint (SUT inventory, runner choice, layout + fixture architecture, object-model decision, data + mocking wiring, CI matrix, conventions doc) plus an implementation order. Defers pattern detail to the sister catalogs; hands the blueprint to qa-roles/automation-harness-bootstrapper for scaffolding.
Agenttest-code-criticWalks structure / naming / single-responsibility / magic-number / slow-setup violations (§1-§3, §6, §7, §10). Refuses to review production code.
Agentassertion-quality-reviewerRates each assertion as specific / narrow-vague / wide-vague / match-vague (§4). Recommends specific replacements.
Agentmocking-anti-pattern-detectorFlags over-mocking, behavior-verification leakage, mock chains, mocking-what-you-don't-own, and fake-candidate situations (§5).
Agente2e-selector-quality-criticFlags brittle CSS class / nth-child / XPath selectors and non-web-first assertions; recommends getByRole / accessibility-first equivalents (§8, §9).
Agentframework-architecture-auditorCross-file framework audit: POM consistency, base-class hierarchy depth, fixture coupling, helper sprawl, naming-convention drift, retry / wait consistency, documented-vs-actual convention drift, CI integration health. Sister-tier above the per-file critics.
Agenttest-suite-health-auditorWhole-suite cross-tool audit: file inventory, tier classification (unit / integration / E2E), pyramid ratio vs canonical 70/20/10, per-layer flake rate, ROI per tier, selector quality, assertion quality. Emits categorical verdict (Healthy / Needs pruning / Needs refactor / Cannot assess) with top-3 prune/expand/refactor recommendations. Distinct from framework-architecture-auditor (single-framework, narrow) and qa-roles/test-architect (A2, prescribes strategy).

Install

/plugin marketplace add testland/qa
/plugin install qa-test-review@testland-qa

Skills

object-model-patterns

Pure reference catalog of the canonical object-model architecture patterns for test automation frameworks - Page Object Model (Fowler), Screenplay (Marcano/Palmer/Hill), Component Object, App Actions (Cypress idiom), Service Object, Repository, and Screen Object (the desktop/mobile sibling of Page Object covering Windows UIA, macOS XCTest, Linux AT-SPI, Appium / Espresso) - each with its canonical citation, when-to-use rules, refuse-to-mix anti-patterns, and a worked example. Distinct from `test-code-conventions` (file-level §1-§10) and from per-framework skills (`playwright-testing` etc., tool-specific configuration). Preloaded by `framework-architecture-auditor` and `playwright-codegen-reviewer` as the architecture-tier reference for what each pattern actually is.

test-code-conventions

Pure-reference catalog of test code conventions - AAA structure (Arrange / Act / Assert), per-test single-responsibility, descriptive naming patterns (`<system_under_test>_<scenario>_<expected>` vs nested describe), assertion specificity, mocking rationale (state vs behavior verification, fake vs mock preference), fixture-coupling rules, and the magic-number / hard-coded-string anti-pattern. The agents in this plugin (test-code-critic, assertion-quality-reviewer, mocking-anti-pattern-detector, e2e-selector-quality-critic) load this as their shared rule book. Use when you need the underlying rationale for any verdict one of those agents issues, as a team's onboarding reference for "what makes a test code-reviewable," or as the source-of-truth the critics' verdicts cite back to.

test-framework-blueprint

Build-an-X workflow that takes an SDET from no test suite to a complete framework design in seven steps - inventory the SUT, choose runner + language, directory layout + fixture architecture, object-model decision, test data + mocking wiring, reporting + CI integration, conventions doc + review gates - producing a written framework blueprint (directory tree, fixture list, chosen patterns, CI matrix) plus an implementation order. Distinct from `framework-choice-advisor` (qa-process; the deeper reference for the Step 2 runner decision alone), from `object-model-patterns` (the Step 4 pattern catalog this workflow defers to), and from `automation-harness-bootstrapper` (qa-roles; scaffolds the harness skeleton AFTER this blueprint exists). Use when designing a test automation framework from scratch or re-architecting one that grew organically.

test-isolation-patterns

Pure reference catalog of test-isolation and fixture-lifecycle patterns - fixture scope (per-test / per-describe / shared / global), Meszaros's four-phase test pattern, Fowler's Fresh-Fixture-vs-Shared-Fixture trade-off, database isolation (transaction-rollback / database-per-worker / template-database), parallel-safety patterns, and cleanup discipline (afterEach / afterAll / tagged-cleanup). Distinct from `test-code-conventions` §6 (file-level fixture coupling rule) - this catalog is the architecture-tier reference. Preloaded by `framework-architecture-auditor` to anchor the §A3 fixture-coupling and §A6 retry/wait audits.

test-step-design-patterns

Pure reference catalog of test-step design patterns at the architecture tier - step granularity (one logical action per step), abstraction layers (mechanical → page → business), step extraction rules (when to inline / when to extract to a helper / when to extract to a Page Object method), the declarative-vs-imperative phrasing rule, FIRST principles (Fast / Independent / Repeatable / Self-validating / Timely), and the AAA / Given-When-Then mapping. Distinct from `test-code-conventions` §1 (AAA structure at the file level) and from `manual-step-to-gherkin` (Gherkin-specific translation) - this catalog is the cross-framework architecture-tier reference for what a step IS, when it should exist, and where it should live.

Agents

assertion-quality-reviewer

Adversarial reviewer specialized for assertion quality - flags weak / vague matchers (`expect(x).toBeTruthy()` / `.toBeDefined()` / `.toContain('error')` style) and recommends specific replacements (`.toEqual({...})` / `.toBe(expected)` / `.toMatch(regex)`). Walks per-§4 of `test-code-conventions`. Use during PR review against test files; complements `test-code-critic` (which handles structure / naming) and `mocking-anti-pattern-detector` (which handles mocking specificity).

e2e-selector-quality-critic

Adversarial reviewer specialized for E2E test selector fragility only - flags brittle CSS class selectors / nth-child / XPath / position-based selectors and recommends `getByRole` / `getByLabelText` / accessibility-first equivalents per Testing Library''''s priority order. Per Playwright best practices: "automated tests should verify that the application code works for the end users, and avoid relying on implementation details." For non-web-first assertion style (`.isVisible()` checked synchronously vs the `await expect(...).toBeVisible()` form) and matcher specificity, see `assertion-quality-reviewer`. Use against any E2E test files (Playwright / Cypress / Selenium / WebdriverIO) when the concern is selector fragility.

framework-architecture-auditor

Adversarial reviewer that audits the test framework codebase at the **architecture tier** - POM consistency across pages, base-class hierarchy depth, fixture coupling and scope, helper sprawl, naming-convention drift between modules, retry / wait convention consistency, documented-vs-actual convention drift, CI integration health, and dead helpers. Operates on the whole test directory, not individual test files. Distinct from `test-code-critic`, `assertion-quality-reviewer`, `e2e-selector-quality-critic`, and `mocking-anti-pattern-detector` (sibling critics in this plugin, each reviewing individual test files); this agent reviews **patterns across files** that per-file critics structurally cannot see. Use as a quarterly / per-release framework-health audit, or before a major refactor.

mocking-anti-pattern-detector

Adversarial reviewer scoped to mocking patterns only - flags over-mocking (mocking what the team owns when state verification would do), mock chains (`when(a.method()).thenReturn(when(b.x).thenReturn(...))` style coupling), behavior-verification leakage (asserting which methods were called instead of asserting on the SUT''''s resulting state), and mocking third-party boundaries the team doesn''''t own (libraries / framework internals). Per Fowler''''s classical (Detroit) school: prefer state verification; fakes over mocks for stateful collaborators. Scope is mocking patterns only, not general test-code conventions (see `test-code-critic` for those). Does not cover test-double reset or teardown lifecycle between tests (see `test-isolation-patterns`). Use during PR review against test files when the concern is mocking technique.

test-code-critic

Adversarial reviewer specialized for **test files only** - flags violations of the conventions in `test-code-conventions` (AAA structure, single-responsibility per test, descriptive naming, magic numbers, slow setup) with file:line evidence and the convention-section reference. Refuses to review non-test files (production code is the job of saturated production-reviewer agents elsewhere). Use as a PR-time check that runs only against `*.spec.*` / `*.test.*` / `tests/**` paths.

test-suite-health-auditor

Adversarial cross-tool auditor that evaluates an existing test suite's current state across seven axes: file inventory, tier classification (unit/integration/E2E), pyramid ratio vs canonical 70/20/10, per-layer flake rate, ROI per tier, selector quality, and assertion quality. Emits a categorical verdict (Healthy / Needs pruning / Needs refactor / Cannot assess) with per-axis findings and top-3 recommendations. Distinct from qa-roles/test-architect (prescribes strategy) and qa-test-review/framework-architecture-auditor (single-framework, narrow scope). Use when a team wants an outside read on overall suite health rather than per-test or per-framework review.