Growl Notification Transport Protocol for Python
80
Pending
Does it follow best practices?
Impact
80%
1.25xAverage score across 10 eval scenarios
Pending
The risk profile of this skill
{
"context": "This criteria evaluates how well the engineer uses the gntp package to implement error handling and response validation when sending notifications. The focus is on proper usage of gntp's GrowlNotifier class, error detection mechanisms, and handling of various failure scenarios.",
"type": "weighted_checklist",
"checklist": [
{
"name": "GrowlNotifier usage",
"description": "Uses gntp.notifier.GrowlNotifier class (or gntp.GrowlNotifier) to create the notification client with appropriate initialization parameters (hostname, port, password)",
"max_score": 15
},
{
"name": "Registration implementation",
"description": "Uses the register() method from GrowlNotifier to register the application and notification types properly",
"max_score": 15
},
{
"name": "Notification sending",
"description": "Uses the notify() method from GrowlNotifier to send notifications with correct parameters (noteType, title, description)",
"max_score": 15
},
{
"name": "Network error handling",
"description": "Properly catches and handles socket-related exceptions (socket.error, socket.timeout, or similar network errors) and converts them to ConnectionError as specified",
"max_score": 15
},
{
"name": "Response validation",
"description": "Validates server responses by checking for GNTP protocol responses (e.g., examining response status or using gntp's built-in response parsing), converting invalid responses to ValueError",
"max_score": 15
},
{
"name": "Authentication error handling",
"description": "Detects authentication failures (either through GNTPError responses with error codes or gntp exceptions) and raises AuthenticationError as specified",
"max_score": 15
},
{
"name": "Exception wrapping",
"description": "Properly wraps gntp-specific exceptions into the API-specified exceptions (ConnectionError, ValueError, AuthenticationError) while preserving error information",
"max_score": 10
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10