本文へ移動
cccskills
無料GitHub で公開

ln-55-test-suite-auditor

Audits existing tests for risk coverage, reliable oracles and maintenance value; does not edit tests.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md17.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Test Suite Auditor

Goal: Audit the test portfolio as a read-only lifecycle and confidence system. Determine which important failures it detects, which evidence is untrustworthy or obsolete, and which additions, changes, consolidations, retirements, or explicit omissions produce the smallest sustainable portfolio.

Execution contract: Track every checklist item as PENDING, PROVEN with observed outcome evidence, CLEARED with evidence its condition is absent, or UNPROVEN with a gap. Reading, delegation, tool failure, zero exit status, and self-reported success are not proof. Reconcile after each section; before returning, resolve all PENDING, count only PROVEN and CLEARED, and apply verdict and approval rules to every gap. Preserve intent, scope, mode, and existing authorization. Complete authorized work before required external approval; ask only consequential unresolved choices. If nobody can answer, report the exact question and apply the skill's gap verdict without waiting or guessing. Cite any blocking instruction and unresolved boundary; never invent approval gates. Scale depth to material risk; preserve mandatory checks, dependencies, and safety order while choosing verification methods. Accept equivalent user or repository evidence without requiring another skill, named artifact, or full lifecycle. Preserve source requirement and decision IDs. Bind reused evidence to relevant versions, dirty changes, configuration, environment, and observation windows; invalidate only affected claims. Choose the primary workflow by outcome and explicit selection. Consume neighboring contracts and valid evidence without duplicating ownership or restarting audits. Split distinct deliverables by scope, not mandatory skill invocation. Broad independent assessments use audit workflows; focused domain reviews remain read-only. On continuation, reconcile task, authorization, state, and gaps. Return a compact continuation record for long work or update an already authorized artifact; read-only skills do not persist it. Distinguish artifact readiness, verified behavior, and external-action authority. Before retrieval, define the evidence question; read selectively without skipping applicable instructions. Use tools for mechanical processing; summarize bounded results, errors, coverage, and source paths, keeping full output outside context. Before technical decisions, establish applicability and actual versions; verify version-dependent assumptions against official documentation or specifications. Search and read primary pages for current external recommendations; snippets are not evidence. Version-matched bundled documentation or valid prior evidence suffices. Record decision, version, source, and limitations. Mark unavailable evidence UNVERIFIED; block only essential dependent work. Prefer native mechanisms, justify added tools or abstractions with evidence, and reuse the existing rule owner.

Tool Routing

NeedPreferred toolUse it whenFallback
Source and test inventoryNative file listing, search, manifests, and test configurationMapping domains, test types, runners, fixtures, and generated areasRepository tree plus known test entrypoints
Test-to-code relationshipsLanguage server or host-native code intelligenceMapping units, callers, implementations, routes, and test targetsNaming and path search verified by direct reads
Execution and trustRepository-defined test commands through the shellEstablishing pass/fail state, timing, order dependence, or reproducibilityInspect CI results and configuration; mark execution unavailable
Coverage and missed behaviorExisting coverage tools and reportsCoverage data is configured and comparable to source scopeStatic behavior-to-test mapping; never invent percentages
Flake and isolation evidenceRepeated, shuffled, parallel, or seed-controlled runs supported by the repositoryA test is suspected of order, time, randomness, or shared-state dependenceHistory, CI logs, and code-path evidence
Assertion strengthTest reads, failure output, and configured mutation testingDetermining whether tests fail for meaningful behavioral defectsCounterfactual reasoning tied to specific assertions
Framework semanticsOfficial test-runner or framework documentationA finding depends on lifecycle, fixtures, retries, isolation, or mocking behaviorPrimary-source web research; otherwise mark UNVERIFIED

Run only safe test and diagnostic commands. Do not rewrite snapshots, update golden files, regenerate fixtures, or accept changed output during the audit.

Evidence Rules

  • Coverage indicates execution, not proof. Require an assertion or observable oracle for important behavior.
  • A slow test is not low-value when it uniquely protects a critical journey; a fast test is not high-value when it proves framework behavior.
  • A flaky failure must be separated from an intermittently failing product dependency or genuinely nondeterministic requirement.
  • Deletion recommendations require proof that the test basis is obsolete or that other evidence covers every still-required behavior and failure mode with equal or better trust.
  • Merge recommendations require demonstrated duplicate or fragmented coverage and must preserve distinct business and failure scenarios, oracle strength, and failure localization; a larger test is not inherently better.
  • Known regression guards and the only proof of a rare critical edge case are not deletion candidates merely because a numeric value heuristic is low.
  • A real dependency is not inherently a test defect. Judge whether its version, state, ownership, reset, availability, and failure evidence make the result reproducible.
  • Keep portfolio action (KEEP, ADD, UPDATE, MERGE, DELETE, NO_TEST) separate from execution status (PASS, FAIL, BLOCKED, UNPROVEN, QUARANTINED). NO_TEST requires existing proof, another control, or explicit residual-risk acceptance.
  • Do not require a new registry by default. Prefer traceability derivable from repository-native test paths, behavioral names, tags, requirements, CI configuration, and review evidence.
  • External testing guidance becomes actionable only when it explains a concrete weakness in this suite.

Checklist

1. Map the Portfolio and Baseline

  • Detect test runners, configurations, commands, directories, fixtures, factories, snapshots, golden files, manual scripts, coverage, and mutation tooling.
  • Map source domains and critical entrypoints to unit, integration, contract, end-to-end, and manual test surfaces.
  • Trace requirements, product risks, incidents, public contracts, and changed behavior to tests and results where evidence exists; identify tests with no current test basis and basis elements with no credible proof.
  • Read repository instructions and CI configuration to identify required suites, environment assumptions, retries, sharding, and exclusions.
  • Run representative suites and required gates where feasible; record environment, duration, exit status, discovered/executed scope, failures, skips, and retries. Flag required suites that silently select no tests.
  • Separate generated, vendored, example, migration-history, and infrastructure fixtures from product tests before evaluating the portfolio.
  • Keep the audit read-only and disclose any caches or test artifacts created by permitted commands.

2. Audit Product Value and Coverage

  • Identify uniquely critical local logic: money, authentication, authorization, data integrity, algorithms, domain rules, destructive operations, and irreversible workflows.
  • Trace each critical behavior to at least one test whose oracle would fail for the corresponding defect; name/path matches and line coverage are only discovery evidence.
  • For tests of configuration, queries, schemas, adaptation, validation, or failure handling, trace the asserted behavior to a concrete business rule or outcome; technical coverage alone does not establish value.
  • Check whether end-to-end tests cross the production-shaped boundaries relevant to the risk and prove the terminal durable or user-visible outcome, not only an intermediate status, page, or mock call.
  • Test value and boundary: Require every test to detect a concrete defect in this product's business logic and name the protected business outcome. Prefer E2E through user or external-system boundaries; use integration or unit tests only for business scenarios difficult to exercise reliably through E2E. Reject platform, trivial-wiring, implementation-detail, and duplicate proof with no distinct business failure signal.
  • Inspect error, retry, timeout, authorization, concurrency, migration, compatibility, and recovery behavior where those failures are plausible and costly.
  • Use coverage data to locate unexecuted critical paths, then inspect behavior and assertions before reporting a gap.
  • Classify every material gap and in-scope affected test as KEEP, ADD, UPDATE, MERGE, DELETE, or NO_TEST, justified by impact, plausible failure, uniqueness, trust, and maintenance cost; use UPDATE when valuable intent remains but its basis, setup, boundary, assertion, or oracle must change.

3. Audit Isolation and Determinism

  • Check shared database, filesystem, environment, process, network, cache, clock, random generator, and global state for leakage between tests.
  • Check setup and teardown on success and failure, unique test data, transaction boundaries, cleanup, and parallel-safe resource ownership.
  • Diagnose suspected flakes using only discriminating modes: alone, in-suite, fixed-seed repetition, shuffled/reversed order, or parallel execution. Preserve the first failure, order, seed, worker, and environment; stop when evidence identifies the cause or the bounded diagnostic budget ends.
  • Detect time, timezone, locale, randomness, sleep, scheduler, and race sensitivity; require controllable clocks or seeds where behavior depends on them.
  • For real dependencies and emulators, verify version pinning, readiness, namespace/state reset, failure cleanup, credentials, and CI availability instead of assuming either real or mocked is preferable.
  • Review retries and quarantine rules so they preserve the first failure and reproducibility data rather than converting an initial failure into a silent pass.
  • Require every quarantine to remain visible outside the passing result, with an owner or decision path and a concrete recovery, replacement, or retirement trigger; quarantine is an execution state, not a portfolio action.
  • Distinguish test flakiness from real intermittent product defects using repeated evidence, logs, and the failing path.

4. Audit Structure, Maintenance, and Oracles

  • Check whether test layout follows source domains or a clear type-based convention and whether contributors can locate the owning tests.
  • Find orphan tests, disabled suites, duplicate fixtures, fragmented scenario coverage, oversized files, and flat directories that obscure ownership.
  • Review temporary characterization, migration, compatibility, incident, workaround, and regression tests against current risk. A fixed incident does not retire its regression guard; require obsolete behavior or trustworthy replacement coverage before recommending merge or deletion.
  • Check test names and arrangement for behavioral intent, prerequisites, action, and expected outcome rather than implementation narration.
  • UI test locators: Use stable project-native semantic locators (roles, accessible names, labels) or explicit IDs/test hooks according to the observable contract and locale strategy. Avoid styling, position, timing, and incidental structure. Treat exact-copy assertions separately when copy is a requirement; do not require product edits solely to add hooks when a robust semantic locator exists.
  • Inspect assertions for specificity, negative proof, state and interaction balance, useful failure messages, and resistance to false positives.
  • Flag tests without a meaningful failure oracle, weak truthiness, snapshots of incidental or unreviewable output, broad exception acceptance, and mocks that bypass tested behavior. Retain snapshots or implicit failure oracles that independently prove the required contract.
  • Check that expected values come from an independent contract, example, invariant, or golden artifact rather than reproducing the implementation's calculation inside the test.
  • Check mocks, fakes, emulators, and generated clients for contract drift; require a contract test or another credible comparison with the real boundary where drift could create false confidence.
  • Inspect non-default configuration cases for business failures hidden by passing defaults; use supported runtime overrides for safe reproduction, not edits to reviewed code or tests.
  • Use existing mutation results or a targeted counterfactual for critical weak-oracle candidates. Execute mutations only in an authorized disposable copy, preserve the reviewed source, and clean run-owned artifacts; otherwise use static reasoning. Do not mandate repository-wide mutation testing.
  • Review manual tests for reproducible setup, fail-fast behavior, explicit expected evidence, idempotency, cleanup, portability, and operator documentation.
  • Check fixture and helper abstraction for readability and honest defaults; hidden behavior in builders must not make important test conditions invisible.
  • Review gate placement and suite cost: required gates protect material release risk, while slower diagnostic or exploratory evidence remains discoverable without blocking routine delivery unnecessarily.

5. Validate Findings and Report

  • Research runner or framework semantics only when lifecycle, fixture, isolation, retry, or mocking behavior can change a finding; use official version-matched sources.
  • Reproduce high-severity trust failures where safe, preserving command, seed, order, and environment evidence.
  • Deduplicate findings that share one root cause, such as a global fixture causing multiple flaky suites.
  • Apply the materiality gate: require concrete critical proof gap, false confidence, delivery risk, or recurring maintenance cost at evidenced scale. Reject taste, theoretical purity, generic practice, hypothetical scale, and reasonable alternatives; require the outcome or constraint, not a preferred implementation.
  • External correction evidence: Ground external corrections in version-matched official contracts, using primary engineering sources for unresolved tradeoffs. Cite the supported mechanism; local evidence suffices for local defects.
  • Make accepted portfolio findings actionable through the protected behavior, owning test boundary, and evidence needed to close the gap; keep changes outside this read-only audit.
  • Classify findings as P0-P3 based on critical behavior left unproven, false confidence, delivery blockage, and maintenance drag.
  • Report decision-useful portfolio signals when evidence exists: material risks by proof state, action distribution, required-gate results and duration, skips, retries, quarantine, and orphan or obsolete candidates. Reject total test count, pass rate without exclusions, raw coverage, and level ratios as standalone quality targets.
  • Use BLOCKED when a required critical suite, environment, or oracle cannot be accessed and no credible static or historical fallback exists; use FAIL when evidence shows critical behavior is unproven, a required gate fails, or false confidence remains in an untrustworthy critical surface; use CONCERNS only for non-blocking portfolio or maintenance risk, and PASS only when required evidence is trustworthy and no critical gap remains.

Self-Check

  • Reconcile before returning. Check item-level evidence, requirement coverage, contradictions, scope, verdict, and applicable cleanup. Correct the report or authorized artifacts. Reuse valid evidence; do not automatically rescan the repository or rerun successful commands. Repeat checks only for relevant changes, failures, or unresolved evidence. Disclose remaining gaps.

Output Contract

Report in the user's language, in this order; label all five fields and state each fact once. Use controlled plain language: one fact per sentence, usually under 20 words, active voice, and one term per concept, with no synonyms for verdicts, IDs, or states. Small results may use one line per field; omit empty tables and do not copy linked artifacts:

  1. Result: The exact skill-specific verdict token first, then the supported outcome.
  2. Scope: Reviewed/changed scope, exclusions, baseline, and material assumptions.
  3. Evidence: Skill-specific fields below; distinguish facts, inferences, and unverified claims. Link artifacts; use tables when useful.
  4. Verification: Checks/results, unavailable evidence, and applicable cleanup/external state.
  5. Completion: Checklist: X/Y complete; Incomplete: None or each UNPROVEN item's reason, outcome impact, and exact next action; residual risks and required decisions.

Skill-specific evidence: Test basis/protected risk → existing test or missing proof → portfolio action → oracle → gate/result → replacement evidence or retirement trigger. Cover critical behavior, isolation, maintenance, assertion strength, lifecycle, net portfolio effect, required/diagnostic gates, duration, skips, retries, and quarantine where evidenced. Findings need priority, test location, missed defect class, impact, unacceptable tradeoff, and minimal correction; preserve unique coverage and distinguish portfolio actions from execution states.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Evaluates new product opportunities through demand, channels and economics before committing to build.

日本語の概要は準備中です。原文の説明を表示しています。

levnikolaevich/claude-code-skills5762026年10月12日 更新

Defines product requirements, business rules and acceptance criteria for a committed intent; edits product docs only.

日本語の概要は準備中です。原文の説明を表示しています。

levnikolaevich/claude-code-skills5762026年10月12日 更新

Designs user flows, interaction states and mockups for a defined product scope; does not implement UI code.

日本語の概要は準備中です。原文の説明を表示しています。

levnikolaevich/claude-code-skills5762026年10月12日 更新

Defines measurable architecture drivers and constraints before system design; edits architecture docs only.

日本語の概要は準備中です。原文の説明を表示しています。

levnikolaevich/claude-code-skills5762026年10月12日 更新

Documents current architecture from implementation evidence; does not propose a target or audit fitness.

日本語の概要は準備中です。原文の説明を表示しています。

levnikolaevich/claude-code-skills5762026年10月12日 更新

Designs target system boundaries, contracts and tradeoffs from requirements; does not plan tasks or implement.

日本語の概要は準備中です。原文の説明を表示しています。

levnikolaevich/claude-code-skills5762026年10月12日 更新

levnikolaevich のスキルをすべて見る

このスキルの問題を報告する