Claude-skill-registry error-handling-skill

Standardized error handling functions for formatting, logging, and returning user-friendly error messages across the application.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/other/other/skills-osama-raza-todo-cli-phase-1" ~/.claude/skills/majiayu000-claude-skill-registry-error-handling-skill && rm -rf "$T"
manifest: skills/other/other/skills-osama-raza-todo-cli-phase-1/SKILL.md
source content

Error Handling Skill

Purpose

Provides standardized error handling across the application with consistent formatting, logging, and user-friendly messages.

Functions

1. handle_error(error: Exception, context: str) -> str

Handles an exception by formatting the error message, logging it with context, and returning a user-friendly message.

Parameters:

  • error
    (Exception): The exception or error object to handle
  • context
    (str): Context information about where/why the error occurred

Returns:

  • A user-friendly error message string

Behavior:

  1. Format the error message using
    format_error_message()
  2. Log the error using
    log_error()
  3. Return a user-friendly message for display

2. format_error_message(message: str, error_code: str = "") -> str

Formats an error message with consistent styling and optional error code.

Parameters:

  • message
    (str): The error message to format
  • error_code
    (str, optional): Error code to include. Defaults to "".

Returns:

  • Formatted error message in the format: "✗ Error: [message]"
  • If error_code is provided: "✗ Error: [message] [error_code]"

Examples:

format_error_message("File not found")  # "✗ Error: File not found"
format_error_message("Connection failed", "ERR_001")  # "✗ Error: Connection failed [ERR_001]"

3. log_error(error: Exception, context: str) -> None

Logs an error to stderr or file with timestamp and context information.

Parameters:

  • error
    (Exception): The exception or error object to log
  • context
    (str): Context information about where the error occurred

Returns:

  • None

Log Format:

[TIMESTAMP] ERROR | Context: [context] | Message: [error_message] | Type: [error_type]

Error Message Format

All error messages follow the format:

✗ Error: [message]

Logging Setup

The skill uses Python's standard

logging
module with the following configuration:

  • Format:
    [%(asctime)s] %(levelname)s | %(message)s
  • Timestamp: ISO 8601 format
  • Output: stderr by default
  • Can be configured to log to file by setting up a file handler

Usage Example

from error_handling_skill import handle_error, format_error_message, log_error

try:
    risky_operation()
except Exception as e:
    user_message = handle_error(e, "user_authentication")
    print(user_message)
    # Output: "✗ Error: Authentication failed - Invalid credentials"

Implementation Notes

  • All functions include proper type hints
  • All functions have docstrings documenting parameters, returns, and behavior
  • Logging is configurable for different output destinations
  • Error codes are optional but recommended for traceability