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.mdsource 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:
(Exception): The exception or error object to handleerror
(str): Context information about where/why the error occurredcontext
Returns:
- A user-friendly error message string
Behavior:
- Format the error message using
format_error_message() - Log the error using
log_error() - 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:
(str): The error message to formatmessage
(str, optional): Error code to include. Defaults to "".error_code
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:
(Exception): The exception or error object to logerror
(str): Context information about where the error occurredcontext
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