vc-test-coverage-plan

star 911

Use when creating a test plan for a blast radius. Assigns all 4 tiers (fully-automated, hybrid, agent-probe, known-gap) with exact commands, what each proves, and gap resolution options.

withkynam By withkynam schedule Updated 6/15/2026

name: vc-test-coverage-plan description: "Use when creating a test plan for a blast radius. Assigns all 4 tiers (fully-automated, hybrid, agent-probe, known-gap) with exact commands, what each proves, and gap resolution options." argument-hint: "[blast radius description or plan file path]" trigger_keywords: test coverage plan, test tiers, blast radius coverage, gap resolution, TDD plan layer: contract metadata: author: vibecode-pro-max-kit version: "1.0.0"

vc-test-coverage-plan

Output style: Follow process/development-protocols/communication-standards.md — answer-first, plain language, no unexplained jargon, TL;DR on long responses.

Generate a TDD-first full test plan per blast radius area. Assigns all 4 test tiers with exact commands, what each proves, what it does NOT prove, and explicit resolution options for every gap.

Boundary vs vc-feasibility-test

This skill is POST-decision: the design is already chosen and you are assigning coverage tiers across a known blast radius. If instead an approach cannot be decided because a runtime/library/external mechanism is unverified — that is a PRE-decision question and belongs to vc-feasibility-test (a one-shot empirical probe producing a VIABLE/NOT-VIABLE/INCONCLUSIVE VERDICT), run before SPEC/INNOVATE locks. Do not use test tiers to answer "does this mechanism work at all?".

When To Invoke

  • PLAN phase — populate the Verification Evidence section of a new plan
  • VALIDATE Section III — generate the full test plan after V2 fan-out, before writing the validate-contract
  • EXECUTE phase — as test gates at the end of each plan section and as a regression suite after all sections complete

Context Discovery (MANDATORY FIRST — do this before anything else)

This skill MUST NOT infer tiers, commands, or runners from training data. Before reading the plan or naming a single area:

  1. Invoke vc-context-discovery to load the relevant context group files.
  2. Read process/context/tests/all-tests.md and follow its downstream routing chain to the relevant deeper test docs (tests/container-e2e.md, tests/browser-automation.md, tests/live-e2e.md, etc.). The entry point is a router, not full knowledge — reading only the router and skipping the chain is insufficient.
  3. Discover the existing test files inside the blast radius (real runners + real commands + real fixtures — not guesses).

Hard stop (mirrors vc-plan-agent TIER_ASSIGNMENTS_BLOCKED): if the all-tests.md routing chain was not loaded, or existing blast-radius test files were not discovered, STOP and emit TIER_ASSIGNMENTS_BLOCKED — report BLOCKED with "Test context chain not loaded; returning to RESEARCH to load all-tests.md and discover existing test files. Do not generate tier assignments from training data." Do NOT proceed to the waterfall. Every Command / Steps cell below must be an exact command sourced from the loaded test context, never an inferred placeholder.

Test Tier Decision Waterfall

For each area in the plan's blast radius, assign a tier using this waterfall:

  1. Fully-automated — if a deterministic command exists that exercises the area end-to-end without human judgment. Must be runnable in CI without setup beyond env vars. Examples: pnpm test, bun test, node validate-script.mjs, grep checks.

  2. Hybrid — if the test requires a precondition (running container, live DB, specific env) that is not always available in CI, but the test itself is deterministic once set up. Record the precondition explicitly. Examples: container E2E tests, DB migration checks.

  3. Agent probe — if the area requires judgment that cannot be mechanically asserted. Describe the probe scenario and what the agent should judge. Examples: UI visual regression, prose quality, API response plausibility.

  4. Known gap — if no test exists and none can be added within the blast radius of this plan. Document the gap explicitly. Do not use this tier to avoid writing tests.

High-Risk Classes

These classes always require at least a hybrid test gate (no known-gap allowed without explicit documented rationale):

  • auth or identity flows
  • billing, payments, or credit accounting
  • schema/data migrations or destructive writes
  • public API or external contract changes
  • deploy/runtime/container/proxy/gateway behavior
  • permission, secret, or trust-boundary logic

Required table format for high-risk class areas:

Area High-risk class Minimum tier Gap rationale if known-gap accepted
[e.g. Auth/identity flow] auth/identity Hybrid [If known-gap: must state why hybrid is impossible and what alternative coverage exists]
[e.g. Billing credit deduction] billing/credits Hybrid

Hybrid Failure Resolution Priority

When a hybrid test fails during or after EXECUTE:

  1. Fix now — if the failure is in the blast radius of the current plan and the fix is small. Fix, re-run the hybrid gate, confirm green, then continue.
  2. New phase plan — if the failure requires work that is outside the current phase scope but has a clear fix. Create a follow-up phase plan and document the gap.
  3. Update existing phases — if the failure is in a phase that is still active and the fix can be absorbed without scope expansion. Route the fix back to that phase.
  4. Backlog note — if the failure is in a known-gap area, the fix is non-trivial, and deferral is acceptable. Write a backlog artifact. Do not silently absorb it.

Per-Area Test Plan Output Format

Produce one block per area in the blast radius. Area = package, service, or logical surface (e.g. packages/api — new route, packages/ui — UI component).

Area: [package/service name]

Tier Scenario Command / Steps What it proves What it does NOT prove
Fully-automated [e.g. Route returns 200 with correct shape] [exact command] exits 0 [Specific outcome proved] [Explicit gap]
Fully-automated [e.g. Route returns 401 on missing token] Same suite, auth-rejection case [Specific outcome proved] [Explicit gap]
Hybrid [e.g. Integration with real DB] [exact command] — precondition: [what must be running/set] [Specific outcome proved] [Explicit gap]
Agent probe [e.g. Visual or behavioral judgment] [Step-by-step scenario for the agent] [What the agent judges] [What cannot be automated]
Known-gap [e.g. Load behavior under concurrent requests] Cannot be tested within this plan's scope

Rules:

  • Include a row for every tier that applies. Omit a tier row only if the tier genuinely does not apply — do not omit to avoid work.
  • Known-gap rows must have in the Command/Steps column and a brief reason in the "What it does NOT prove" column.
  • Fully-automated commands must be exact and runnable — do not use placeholder [command] in a real output.

Gap Resolution Options Format

After the per-area table, list every gap with four resolution choices:

Gap Resolution options
[Gap 1 description] A) [Write new test — estimated effort]. B) [Set up infra — what and how]. C) [Accept as known-gap — rationale]. D) [Backlog artifact — what to create].
[Gap 2 description] A) [Option]. B) [Option]. C) [Option]. D) [Option].

Resolution option rules:

  • A — Write new test: state file location and estimated effort (e.g. "30 min, new file packages/api/src/__tests__/route-shape.test.ts").
  • B — Set up infra: name what infra is needed and how (e.g. "seed DB fixture via pnpm db:seed:test").
  • C — Accept as known-gap: rationale is required — never blank. High-risk class gaps need especially strong rationale.
  • D — Backlog artifact: state what to create and where (e.g. "prod-migration-smoke-test_NOTE_[date].md in process/features/development-process/backlog/").

Missing Test Areas Format

Areas with no coverage possible at any tier within this plan's scope:

Area Why untestable in this plan Resolution chosen
[e.g. Production migration path] Requires prod-like Postgres; outside phase scope Backlog: [artifact name]
[e.g. Token expiry mid-session] Requires Clerk test tenant with configurable JWT TTL Backlog: [artifact name]
[e.g. Cross-instance isolation] Requires 2+ live running instances Deferred to [program/phase name]

Execution Protocol

  1. Run Context Discovery (MANDATORY FIRST) above — load the all-tests.md routing chain and discover existing blast-radius test files. If not loaded, emit TIER_ASSIGNMENTS_BLOCKED and STOP; do not continue.
  2. Read the plan file at the provided path (or parse the blast radius description if no path given).
  3. Extract the blast radius areas from the plan + the loaded test context — never infer commands/runners from training data.
  4. For each area, run the Test Tier Decision Waterfall.
  5. Flag any area that matches a High-Risk Class — enforce hybrid minimum.
  6. Produce the per-area test plan block (5-column table + gap resolution table).
  7. Produce the missing test areas table.
  8. If invoked during VALIDATE (Section III), embed output directly into the validate menu under "III. Test Coverage Plan" — do not write a separate file.
  9. If invoked during PLAN or EXECUTE, output directly in chat for the caller to copy into the plan file.

TDD Stub Output Requirement

For every Fully-automated tier row in the per-area output table, append immediately after that row's 5-column entry an inline failing test skeleton in plain text:

Failing stub:
test("should [behavior from Scenario column]", () => {
  throw new Error("NOT IMPLEMENTED — TDD stub for: [behavior]")
})

Rules for the stub:

  • The stub is destined for the validate-contract's Test Gates section, to be consumed by execute-agent as the red-first starting point (Mode A hard gate). It is NOT an on-disk .test.ts file — do not write it to disk during VALIDATE or PLAN phase.
  • The stub content must match the Scenario cell verbatim so execute-agent can find it by scenario name.
  • Hybrid / Agent-Probe / Known-Gap tiers do NOT receive stubs. A literal red E2E or container test is too costly to mandate; hybrid stubs are advisory only.

Clarification note: vc-test-coverage-plan retains its exhaustive behavior-inventory framing — "each row is a behavior to COVER, not a test to write upfront." The stubs make the coverage intent machine-executable at EXECUTE time, not upfront test implementation. The four tier words (Fully-automated / Hybrid / Agent-Probe / Known-Gap) remain verbatim; this requirement is additive to the per-area output format.

Absorption Note

This skill absorbs vc-test-tier-selector if that skill existed. If vc-test-tier-selector still exists on disk as a separate folder under .claude/skills/, treat this skill as its canonical replacement and note the duplication in the phase report. Do not route new work to vc-test-tier-selector.

Install via CLI
npx skills add https://github.com/withkynam/vibecode-pro-max-kit --skill vc-test-coverage-plan
Repository Details
star Stars 911
call_split Forks 202
navigation Branch main
article Path SKILL.md
More from Creator