Our review
Provides standardized functions to format, log, and return user-friendly error messages across an application.
Strengths
- Centralized and consistent error handling
- Clear formatted error messages with optional error codes
- Logging with timestamp and context for debugging
Limitations
- Messages are not internationalized
- Does not handle async or multithreaded exceptions
- Limited customization of log format
When implementing uniform error handling in a Python application, especially for APIs or command-line scripts.
For environments requiring advanced localization or complex retry strategies.
Security analysis
SafeThis skill only defines error handling utility functions (formatting, logging) without any system or network access. It does not execute commands, send data externally, or include obfuscated code. No dangerous operations are performed.
No concerns found
Examples
Create a script that reads a file and uses the error handling skill to catch exceptions and display user-friendly messages.Add the format_error_message function to my project to ensure all errors follow '✗ Error: [message]' format.Use the log_error function to log an exception with context information like 'database_connection'.name: error-handling-skill description: Standardized error handling functions for formatting, logging, and returning user-friendly error messages across the application. functions:
-
name: handle_error description: Format an error message, log it with context, and return a user-friendly message parameters: type: object properties: error: type: Exception description: The exception or error to handle context: type: str description: Context information about where/why the error occurred required: - error - context returns: type: str description: A user-friendly error message
-
name: format_error_message description: Format an error message with consistent styling and optional error code parameters: type: object properties: message: type: str description: The error message to format error_code: type: str description: Optional error code to include default: "" required: - message returns: type: str description: Formatted error message in "✗ Error: [message]" format
-
name: log_error description: Log an error to stderr or file with timestamp and context parameters: type: object properties: error: type: Exception description: The exception to log context: type: str description: Context information about where the error occurred required: - error - context returns: type: None description: None
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 handlecontext(str): Context information about where/why the error occurred
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:
message(str): The error message to formaterror_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 logcontext(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
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.