Test-Skip Discipline

Detect runtime-result test skips that mask broken system behavior.

Updated Oct 10, 2025
One-click install
npx skills add https://github.com/FFOO6866/lead2cash --skill test-skip-discipline
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Test-Skip Discipline
Source: https://github.com/FFOO6866/lead2cash/tree/main/.claude/skills/test-skip-discipline
Command: npx skills add https://github.com/FFOO6866/lead2cash --skill test-skip-discipline

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It stops test suites from staying green by incorrectly using skip conditions that mask failures—especially when the system-under-test is actually broken but the test reports “skipped” instead of “failed.”

Core Features & Use Cases

  • Distinguishes acceptable skips vs BLOCKED skips: Treats skips as valid only when the test cannot execute due to environment preconditions (e.g., missing credentials, feature flags off, platform mismatch), and flags skips as BLOCKED when they depend on runtime outcomes (e.g., HTTP 5xx/429, upstream degraded/unreachable, response.ok being false).
  • Provides concrete anti-patterns and remediation guidance: Uses examples across Playwright/pytest/Rust to show how to replace runtime-result skips with assertions or retry-then-fail flows.
  • Supports consistent detection via grep protocol: Offers ready-to-run search patterns to find skip misuse across test codebases and triage findings as FIX, RELAX, or EXCEPTION.

Quick Start

Use this skill to audit your Playwright/pytest/Rust tests for any skip statements tied to response status or upstream behavior, and replace them with environment-gated skips or assertions (or retry-then-fail for rate limits).

Frequently Asked Questions about Test-Skip Discipline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why do pytest or Playwright tests stay green when the system is broken?

Tests stay green during system breakage because test.skip conditions tied to runtime HTTP 5xx or response failures report skipped instead of failed, masking real breakage behind misleading CI results.

How do I detect test.skip misuse hiding failures in my test suite?

You detect test.skip misuse by running a grep protocol with search patterns to find skip statements tied to response status or upstream behavior across Playwright, pytest, and Rust, then triaging findings as FIX, RELAX, or EXCEPTION.

When is test.skip acceptable in integration testing?

Test.skip is acceptable in integration testing only for environment preconditions like missing credentials, feature flags off, or platform mismatch. Skips depending on runtime outcomes like HTTP 5xx, 429, or upstream degraded are treated as BLOCKED.

How do I fix runtime-based skip conditions in Playwright or pytest?

Fix runtime-based skip conditions by replacing them with assertions or retry-then-fail flows for rate limits, and use environment-gated skips for precondition issues. This ensures actual system breakage triggers failures instead of skipped results.

Can I use this test-skip hygiene approach with Rust test runners?

Yes, this test-skip hygiene approach works with Rust test runners, applying the same detection rules and remediation guidance to distinguish environment precondition skips from runtime-result BLOCKED skips across JavaScript, Python, and Rust.

What is the difference between a BLOCKED skip and a valid skip?

A valid skip executes due to environment preconditions like missing credentials or platform mismatch, while a BLOCKED skip triggers from runtime outcomes like HTTP 5xx, upstream unreachable, or response.ok being false, which indicates actual system breakage.