null-as-error-cc

Detects silent error swallowing in Effect-based TypeScript code via ripgrep scanner and classified audit report.

Updated Apr 16, 2026
One-click install
npx skills add https://github.com/bengous/agents-skills --skill null-as-error-cc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: null-as-error-cc
Source: https://github.com/bengous/agents-skills/tree/main/null-as-error-cc
Command: npx skills add https://github.com/bengous/agents-skills --skill null-as-error-cc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires bun, jq, rg, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Detects and prevents silent error swallowing in Effect-based TypeScript code where catchAll or Effect.ignore patterns collapse real failures into sentinel success values (null, [], false, void), making failures invisible to callers and hampering observability and debugging.

Core Features & Use Cases

  • Fast static detection: A ripgrep-driven Bun scanner finds candidate catchAll and Effect.ignore patterns and emits structured JSON hits.
  • Context enrichment & suppression handling: Each hit is enriched with surrounding context, enclosing function name, export status, and suppression marker detection to reduce false positives.
  • Read-only auditor workflow: The skill spawns a read-only auditor agent that consumes the scanner output plus curated reference files to classify severity and recommend fixes.
  • Report synthesis: Produces a final classified audit listing counts, severities, suppressed items, and a decision-linked summary table for remediation.
  • Use cases: Pre-merge code audits, repository hygiene sweeps, and production safety reviews in Effect-enabled services.

Quick Start

Run the null-as-error scanner on the project's src/ directory and produce a classified audit report listing errors, warnings, suppressed occurrences, and recommended fixes.

Frequently Asked Questions about null-as-error-cc

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

FAQPage Schema
How do I detect silent error swallowing in Effect-based TypeScript?

Detect silent error swallowing by scanning for catchAll and Effect.ignore patterns that return sentinel success values like null, false, or void. A ripgrep-driven Bun scanner locates these candidates and emits structured JSON hits for audit review.

What is a null-as-error pattern in TypeScript error handling?

A null-as-error pattern occurs when catchAll or Effect.ignore handlers collapse real failures into sentinel success values such as null, [], false, or void. This makes errors invisible to callers and severely hampers observability and debugging in Effect-based services.

Can I run a static analysis code audit on a Bun TypeScript repository?

Yes, you can run static analysis code audits on Bun TypeScript repositories. The scanner applies ripgrep to locate catchAll and Effect.ignore patterns, enriches hits with enclosing function names and export status, and spawns a read-only auditor to classify severity.

Does the scanner support suppression markers to reduce false positives?

Yes, the scanner supports suppression marker detection to reduce false positives. Each identified hit is enriched with surrounding context, enclosing function name, export status, and suppression markers before the auditor classifies severity and recommends fixes.

What dependencies do I need to scan for Effect.ignore patterns?

You need bun, jq, and rg installed to scan for Effect.ignore patterns. The Bun runtime executes the scanner, ripgrep locates the static patterns, and jq processes the structured JSON output for the read-only auditor workflow.

How do I generate a classified audit report for pre-merge code checks?

Generate a classified audit report for pre-merge checks by running the scanner on the src directory. It synthesizes a final report listing error counts, severities, suppressed occurrences, and a decision-linked summary table with recommended fixes.