Awesome-omni-skill golang-error-handling
Go error handling review. Use when checking error wrapping, context propagation, or error checking patterns. Ensures proper error chains, context usage, and nil checks.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/golang-error-handling" ~/.claude/skills/diegosouzapw-awesome-omni-skill-golang-error-handling && rm -rf "$T"
manifest:
skills/development/golang-error-handling/SKILL.mdsource content
Golang Error Handling
Expert-level error handling review for Go applications. Ensures proper error wrapping, context propagation, and error checking that preserves error chains and enables proper timeout/cancellation handling.
When to Apply
Use this skill when:
- Reviewing error propagation patterns
- Checking context usage and cancellation
- Auditing error wrapping with %w vs %v
- Investigating timeout or cancellation issues
- Verifying nil checks for interfaces
- Ensuring errors.Is/As usage
Rule Categories by Priority
| Priority | Count | Focus |
|---|---|---|
| Critical | 3 | Prevents error chain loss, context leaks |
| High | 3 | Correctness and reliability |
| Medium | 1 | Code quality |
Rules Covered (7 total)
Critical Issues (3)
- Use %w for error wrapping, not %vcritical-error-wrapping
- Don't shadow err variable in nested scopescritical-error-shadow
- Always defer cancel() after context creationcritical-context-leak
High-Impact Patterns (3)
- Propagate context through call chainhigh-context-propagation
- Use errors.Is/As instead of ==high-error-is-as
- Check interface nil correctlyhigh-interface-nil
Medium Improvements (1)
- Use sentinel errors for stable categoriesmedium-sentinel-error-usage
How to Use
For Error Handling Review
- Scan code for error handling patterns
- Check against rules in priority order (Critical first)
- Verify error wrapping preserves error chains
- Ensure context propagation for timeouts/cancellation
- Check for proper nil interface handling
Common Patterns
Error chain review:
Check this code for proper error wrapping
Context propagation audit:
Verify context is propagated correctly
Error checking patterns:
Review error handling for wrapped errors
Trigger Phrases
This skill activates when you say:
- "Review error handling"
- "Check error wrapping"
- "Verify context propagation"
- "Check for context leaks"
- "Review error chains"
- "Audit error patterns"
Output Format
## Critical Error Handling Issues: X ### [Rule Name] (Line Y) **Issue**: Brief description **Impact**: Lost error chain / Context leak / Wrong error check **Fix**: Suggested correction **Example**: ```go // Corrected code
Related Skills
- golang-concurrency-safety - For goroutine context patterns
- golang-clean-architecture - For error handling across layers
Philosophy
Based on Go best practices:
- Error chains are valuable - Use %w to preserve error context
- Context is essential - Always propagate for cancellation/timeout
- Errors are values - Use errors.Is/As for wrapped error checking
- Nil interfaces are tricky - Check correctly to avoid bugs
Notes
- Focus on error handling correctness
- All examples show proper error wrapping patterns
- Context propagation is critical for production systems
- Related to concurrency but focused on error semantics