CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-error-handling

Idiomatic Golang error handling — creation, wrapping with %w, errors.Is/As, errors.Join, custom error types, sentinel errors, panic/recover, the single handling rule, structured logging with slog, HTTP request logging middleware, and samber/oops for production errors. Built to make logs usable at scale with log aggregation 3rd-party tools. Apply when creating, wrapping, inspecting, or logging errors in Go code.

84

1.07x
Quality

78%

Does it follow best practices?

Impact

97%

1.07x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/golang-error-handling/SKILL.md
SKILL.md
Quality
Evals
Security

Evaluation results

93%

1%

Data Pipeline Stage Error Handling

Custom error type with Unwrap for chain traversal

Criteria
Without context
With context

Unwrap method present

100%

100%

errors.As usage

100%

100%

errors.Is usage

100%

100%

Lowercase error strings

100%

100%

No type assertions for error inspection

100%

100%

%w for internal wrapping

100%

100%

Structured fields on error type

100%

100%

Low-cardinality error messages

20%

30%

No discarded errors

100%

100%

100%

4%

Concurrent Job Worker Pool

Panic recovery in concurrent goroutine workers

Criteria
Without context
With context

defer recover in goroutines

100%

100%

slog for panic logging

100%

100%

Structured panic attributes

66%

100%

Worker continues after panic

100%

100%

Panic not used for normal errors

100%

100%

Low-cardinality log messages

100%

100%

Single handling rule on errors

100%

100%

Lowercase error strings

100%

100%

100%

17%

Notification Dispatch Service

Notification service with user-facing error translation

Criteria
Without context
With context

User-facing sentinels

83%

100%

%v at API boundary

93%

100%

Internal errors not exposed

100%

100%

Technical details logged internally

83%

100%

slog for internal logging

0%

100%

Lowercase error strings

100%

100%

Single handling rule

100%

100%

Low-cardinality error messages

80%

100%

No discarded errors

100%

100%

Repository
Vonage/cloud-runtime-cli
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.