Golang Error HandlingSAFE
A collection of Agent Skills Standard and Best Practice for Programming Languages, Frameworks that help our AI Agent follow best practies on frameworks and programming laguages
Overview
A collection of Agent Skills Standard and Best Practice for Programming Languages, Frameworks that help our AI Agent follow best practies on frameworks and programming laguages
6f5be687a268OBSERVED · 2026-10-14What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: golang-error-handling
description: Standards for error wrapping, checking, and definition in Golang. Use when wrapping errors, defining sentinel errors, or handling errors idiomatically in Go.
metadata:
triggers:
files:
- 'fmt.Errorf'
- 'errors.Is'
- 'errors.As'
keywords:
- error wrapping
- sentinel error
- error handling
---
# Golang Error Handling Standards
## **Priority: P0 (CRITICAL)**
## Principles
- **Errors Values**: Handle them like any other value.
- **Handle Once**: Log OR Return. Never Log AND Return (creates duplicate logs).
- **Add Context**: Don't return `err` bubble up. Wrap it with context: `fmt.Errorf("failed to open file: %w", err)`.
- **Use Standard Lib**: Go 1.13+ `errors` package (`Is`, `As`, `Unwrap`) sufficient. Avoid `pkg/errors` (deprecated).
## Guidelines
- **Sentinel Errors**: Expoted, fixed errors (`io.EOF`, `sql.ErrNoRows`). Use `errors.Is(err, io.EOF)`.
- **Error Types**: Structs implementing `error`. Use `errors.As(err, &target)`.
- **Panic**: Only for unrecoverable startup errors.
## Anti-Patterns
- **No bare return err**: Wrap with `fmt.Errorf("context: %w", err)` to preserve call chain.
- **No string error checks**: Use `errors.Is`/`errors.As`; string comparison brittle.
- **No swallowed errors**: Never assign errors to `_`; always handle or propagate.
## References
- [Error Wrapping Patterns](references/error-wrapping.md)Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
6f5be687a268full audit observations/trust-audit/skill/hoangnguyen0403__golang-error-handling.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-14 | 6f5be687a268 | SAFE | B | 89 | first audit |
Questions
What does the Golang Error Handling skill do?
A collection of Agent Skills Standard and Best Practice for Programming Languages, Frameworks that help our AI Agent follow best practies on frameworks and programming laguages
Is Golang Error Handling safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Golang Error Handling access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (6f5be687a268), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.