CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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. For samber/oops specifics → See `samber/cc-skills-golang@golang-samber-oops` skill; for slog handler ecosystem → See `samber/cc-skills-golang@golang-samber-slog` skill.

68

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

72%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

Well-structured content with excellent progressive disclosure and mostly actionable, efficient rule statements. The main gaps are the absent validation/verification steps in the mode workflows and some duplication of the sub-agent fan-out description across three sections.

Suggestions

Add explicit validation checkpoints to each mode's workflow (e.g., 'After coding, run `go build ./...` and `golangci-lint run` to verify the changes compile and pass linting') — the tools are already declared in allowed-tools but never invoked in the body.

Deduplicate the sub-agent category list: it appears in the Orchestration mode paragraph, the Audit-mode bullet, and the 'Parallelizing Error Handling Audits' section — keep only the dedicated section and reference it from the other two.

Trim the generic intro sentence ('This skill guides the creation of robust, idiomatic error handling in Go applications. Follow these principles...') which restates what the persona and summary already convey.

DimensionReasoningScore

Conciseness

The body is a dense, rule-oriented summary with almost no explanation of concepts Claude already knows, fitting anchor 4 (efficient with minor trimmable instances). The 5 sub-agent categories are listed three times ("Fan out the five category sub-agents", the Audit-mode bullet, and the 'Parallelizing Error Handling Audits' section), and the intro sentence "This skill guides the creation of robust, idiomatic error handling in Go applications" is pure filler — but the padding is minor, not the 'several unnecessary explanations' of anchor 2.

4 / 5

Actionability

Guidance is concrete and executable in form: exact patterns like "fmt.Errorf(\"{context}: %w\", err)", "errors.AsType[T](err)", "errors.Join", and unambiguous MUST/SHOULD rules ("Error strings MUST be lowercase, without trailing punctuation"). It falls short of anchor 5 only because no copy-paste code examples appear in SKILL.md itself — the code detail is delegated to reference files, which is a defensible split.

4 / 5

Workflow Clarity

The three modes (Coding, Review, Audit) are clearly delineated with explicit sequencing and parallelism guidance, but validation checkpoints are entirely absent — nothing says to verify with `go build`, `go test`, or `golangci-lint` even though both tools are listed in allowed-tools. Per the anchor definitions, a present sequence with missing/implicit checkpoints is a 3, not 4.

3 / 5

Progressive Disclosure

The body is a clean overview: a 15-point best-practices summary, a 'Detailed Reference' section where each of the three bundle files (error-creation.md, error-wrapping.md, error-handling.md — all present in ./references/) is linked with a description of its contents, one level deep with no nesting. This matches the anchor-5 pattern of a clear overview with well-signaled one-level-deep references.

5 / 5

Total

16

/

20

Passed

Description

96%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: highly specific, third-person, with a comprehensive capability list, natural trigger terms, and an explicit apply-when clause. The only weakness is residual overlap with sibling Go logging/observability skills, which is partially mitigated by explicit delegation pointers.

DimensionReasoningScore

Specificity

The description enumerates many concrete, specific capabilities: "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" — comprehensive coverage with no vague fluff, matching the anchor-5 example's breadth. It is written in third person ("Idiomatic Golang error handling"), so no voice penalty applies.

5 / 5

Completeness

It clearly answers 'what' (the full enumerated capability list) and 'when' with an explicit trigger clause: "Apply when creating, wrapping, inspecting, or logging errors in Go code." This mirrors the anchor-5 good example structure of what followed by an explicit Use-when statement.

5 / 5

Trigger Term Quality

Natural terms a user would actually say are comprehensively covered: "error handling", "Golang" and "Go code" (both variants), "wrapping", "logging errors", plus specific API keywords users mention directly (%w, errors.Is/As, errors.Join, panic/recover, slog). This matches the anchor-5 pattern of including synonyms and variations.

5 / 5

Distinctiveness Conflict Risk

The niche is clear (Go error handling) and it proactively delegates overlapping scope ("For samber/oops specifics → See `samber/cc-skills-golang@golang-samber-oops` skill"), which reduces conflict. However, "logging errors in Go code" still overlaps noticeably with the sibling observability/slog skills, so it is not fully anchor-5 minimal-conflict; it sits above the anchor-3 'could still overlap' case.

4 / 5

Total

19

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

relative_links

Relative link issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

samber/cc-skills-golang

Path

skills/golang-error-handling/SKILL.md

Reviewed

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.