error-classification

Classifies software abnormal states into Error, Defect, Fault, and Failure using industry standards.

Updated Jun 23, 2026
One-click install
npx skills add https://github.com/j5ik2o/marp-ai-base --skill error-classification-j5ik2o
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: error-classification
Source: https://github.com/j5ik2o/marp-ai-base/tree/main/.agents/skills/error-classification
Command: npx skills add https://github.com/j5ik2o/marp-ai-base --skill error-classification-j5ik2o

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers frequently confuse Error, Defect, Fault, and Failure, leading to wrong design decisions such as catching contract violations as recoverable errors or ignoring fault isolation. This Skill provides precise definitions from JIS standards, JSTQB, and Bertrand Meyer so teams can classify abnormal states correctly and choose the right handling strategy. ## Core Features & Use Cases - Standards-Based Definitions: Compares Error, Defect, Fault, and Failure across JIS X 0014, JIS Z 8115, JSTQB, Bertrand Meyer, and JIS Q 9000. - Decision Flow and Strategy Mapping: Maps each classification to concrete handling patterns such as Either/Result types for Errors, assertions for Defects, Error Kernel and Let-it-crash for Faults, and failover for Failures. - Review Checklist: Provides a checklist to verify that error-handling code distinguishes the four categories and does not swallow Defects with blanket catch blocks. - Use Case: During a code review, you find a null argument being returned as a Result error. Use this Skill to classify it as a Defect (contract violation) and recommend an assertion instead of recoverable error handling. ## Quick Start Ask the AI to explain the difference between Error, Defect, Fault, and Failure and which handling strategy applies to your current error-handling code.

Frequently Asked Questions about error-classification

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

FAQPage Schema
What is the difference between Error, Defect, Fault, and Failure?▼

An Error is a recoverable mismatch between input and expected values, a Defect is a contract violation that should never occur, a Fault is an unrecoverable abnormal state where a function cannot execute, and a Failure is the resulting loss of the system's ability to deliver its function.

How do I choose between Result types and assertions for error handling?▼

Use Either/Result types for Errors that the caller can anticipate and handle, such as validation failures. Use assertions (require/assert) for Defects, which are contract violations that should be detected and stopped immediately rather than recovered from.

What is the difference between Fault and Failure in software?▼

A Fault is an abnormal state where a functional unit cannot perform, such as database connection exhaustion. A Failure occurs when the Fault persists and the system loses its ability to deliver the required function to users, addressed through failover and redundancy.

Does this classification apply to a specific programming language?▼

No, the classification is language-independent. It draws on JIS standards, JSTQB, and Bertrand Meyer's Design by Contract, and references patterns like Akka/Erlang's Error Kernel and Let-it-crash as examples applicable across stacks.

Why is catching all exceptions considered a bad practice?▼

Blanket catch blocks conflate Defects with recoverable Errors and silently swallow contract violations that should fail fast. The Skill's review checklist flags this pattern and recommends distinguishing classifications before choosing a handling strategy.