Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Provides error classification, recovery, and graceful-degradation patterns. Use when implementing error handling or debugging resilience failures in any skill.
.claude/skills/athola-error-patterns/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -13% | 0% |
Standardized error handling patterns for consistent, production-grade behavior across plugins. Provides error classification, recovery strategies, and debugging workflows.
| Level | Action | Example | |-------|--------|---------| | Critical | Halt, alert | Auth failure, service down | | Error | Retry or secondary strategy | Rate limit, timeout | | Warning | Log, continue | Partial results, deprecation | | Info | Log only | Non-blocking issues |
pythonclass ErrorCategory(Enum): TRANSIENT = "transient" # Retry likely to succeed PERMANENT = "permanent" # Retry won't help CONFIGURATION = "config" # User action needed RESOURCE = "resource" # Quota/limit issue
Verification: Run the command with --help flag to verify availability.
pythonfrom leyline.error_patterns import handle_error, ErrorCategory try: result = service.execute(prompt) except RateLimitError as e: return handle_error( e, ErrorCategory.RESOURCE, {"retry_after": e.retry_after, "service": "gemini"} ) except AuthError as e: return handle_error( e, ErrorCategory.CONFIGURATION, {"action": "Run 'gemini auth login'"} )
Verification: Run the command with --help flag to verify availability.
python@dataclass class ErrorResult: category: ErrorCategory message: str recoverable: bool suggested_action: str metadata: dict
Verification: Run the command with --help flag to verify availability.
yaml# In your skill's frontmatter dependencies: [leyline:error-patterns]
Verification: Run the command with --help flag to verify availability.
modules/classification.md for error taxonomymodules/recovery-strategies.md for handling patternsmodules/agent-damage-control.md for multi-agent error recovery and escalation| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 12,575 | 4,589 | -64% | 1 | 1 | 0% | 2,549 | 1,847 | -28% | 0 | 0 | — |
case-02 | fail→pass | 24,391 | 5,012 | -79% | 1 | 1 | 0% | 1,483 | 1,727 | +16% | 0 | 0 | — |
case-03 | fail→pass | 16,551 | 11,695 | -29% | 1 | 1 | 0% | 2,784 | 2,997 | +8% | 0 | 0 | — |
case-04 | pass→pass | 6,420 | 2,620 | -59% | 1 | 1 | 0% | 983 | 1,311 | +33% | 0 | 0 | — |
case-05 | pass→pass | 6,185 | 2,654 | -57% | 1 | 1 | 0% | 942 | 1,347 | +43% | 0 | 0 | — |
case-06 | fail→pass | 10,773 | 2,441 | -77% | 1 | 1 | 0% | 1,799 | 1,320 | -27% | 0 | 0 | — |
case-07 | fail→pass | 8,606 | 1,807 | -79% | 1 | 1 | 0% | 1,408 | 1,229 | -13% | 0 | 0 | — |
case-08 | pass→pass | 10,223 | 2,175 | -79% | 1 | 1 | 0% | 1,559 | 1,307 | -16% | 0 | 0 | — |
case-09 | pass→pass | 6,129 | 2,155 | -65% | 1 | 1 | 0% | 1,015 | 1,276 | +26% | 0 | 0 | — |
case-10 | fail→pass | 6,391 | 2,315 | -64% | 1 | 1 | 0% | 1,091 | 1,294 | +19% | 0 | 0 | — |
case-11 | fail→pass | 17,329 | 9,356 | -46% | 1 | 1 | 0% | 3,563 | 2,912 | -18% | 0 | 0 | — |
case-12 | pass→pass | 12,327 | 11,290 | -8% | 1 | 1 | 0% | 2,081 | 2,904 | +40% | 0 | 0 | — |
case-13 | pass→fail | 5,280 | 1,735 | -67% | 1 | 1 | 0% | 918 | 1,266 | +38% | 0 | 0 | — |
case-14 | pass→pass | 15,352 | 9,832 | -36% | 1 | 1 | 0% | 2,475 | 2,603 | +5% | 0 | 0 | — |
case-15 | fail→pass | 13,937 | 1,844 | -87% | 1 | 1 | 0% | 2,431 | 1,244 | -49% | 0 | 0 | — |
case-16 | fail→pass | 4,701 | 1,488 | -68% | 1 | 1 | 0% | 666 | 1,173 | +76% | 0 | 0 | — |
case-17 | fail→pass | 10,498 | 1,855 | -82% | 1 | 1 | 0% | 1,570 | 1,189 | -24% | 0 | 0 | — |
case-18 | pass→pass | 12,723 | 2,456 | -81% | 1 | 1 | 0% | 2,026 | 1,303 | -36% | 0 | 0 | — |
case-19 | pass→pass | 10,671 | 2,601 | -76% | 1 | 1 | 0% | 1,606 | 1,417 | -12% | 0 | 0 | — |
case-20 | pass→pass | 4,505 | 4,936 | +10% | 1 | 1 | 0% | 782 | 1,863 | +138% | 0 | 0 | — |
case-21 | pass→pass | 5,249 | 4,996 | -5% | 1 | 1 | 0% | 1,022 | 1,877 | +84% | 0 | 0 | — |
case-22 | pass→pass | 6,752 | 5,474 | -19% | 1 | 1 | 0% | 1,147 | 1,899 | +66% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.