fail-fast

Scan codebases and refactor hidden fallbacks into explicit validation contracts.

2|Updated May 21, 2026
One-click install
npx skills add https://github.com/howells/skills --skill fail-fast-howells
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fail-fast
Source: https://github.com/howells/skills/tree/main/fail-fast
Command: npx skills add https://github.com/howells/skills --skill fail-fast-howells

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python3, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Fail-fast removes hidden fallback behavior and legacy compatibility paths that make code harder to reason about, test, and operate reliably.

Core Features & Use Cases

  • Deterministic configuration: replaces implicit defaulting and permissive env handling with explicit contracts and validation.
  • Compatibility cleanup: identifies legacy aliases, deprecated branches, and swallowed migration paths, then removes them when they are no longer justified.
  • Evidence-backed hardening workflow: runs a scanner, classifies findings (remove/require/validate/keep), edits narrowly, and adds failure-mode tests.

Quick Start

Ask the agent to run the fail-fast scanner on your repository, then return a prioritized list of fallback smells to remove and the exact code/test changes needed to make failures explicit.

Frequently Asked Questions about fail-fast

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

FAQPage Schema
How do I remove hidden fallback behavior and implicit defaults in TypeScript?

Removing hidden fallback behavior requires scanning a codebase for implicit defaulting and permissive env handling, then refactoring findings into explicit validation contracts. This workflow enforces deterministic failure modes when inputs or dependencies are missing.

Why does swallowed error handling make my code harder to operate reliably?

Swallowed error handling hides missing dependencies and boundary failures through silent degradation. Replacing it with explicit error rethrowing and context prevents hidden compatibility paths from masking critical runtime failures.

How do I enforce typed env schema validation to replace legacy option aliasing?

Enforcing typed env schema validation replaces legacy option aliasing and permissive environment handling with strict validation contracts. This ensures deterministic builds by failing explicitly when environment variables are missing.

Can I use static analysis to identify optional dependency degradation in my codebase?

Static analysis identifies optional dependency degradation by running a scanner that classifies findings into remove, require, validate, or keep categories. This targets legacy branches and narrows edits to enforce explicit compatibility paths.

What is the best way to add tests that prove code fails deterministically when inputs are missing?

Adding failure-mode tests after narrowing edits to remove fallback paths proves deterministic failure. These tests explicitly verify that missing inputs or dependencies trigger validation errors rather than silent degradation.

Do I need Python 3 to run the fail-fast scanner on my repository?

Python 3 is required to run the fail-fast scanner, which analyzes your repository and returns a prioritized list of fallback smells. The scanner identifies exact code changes needed to make failures explicit across your environments.