# Go Engineering

> Implement idiomatic Go services and tools with context propagation, interfaces, concurrency discipline, and tests.

- Skill: `nafeeur/go-engineering` (Agent Skill)
- Install (CLI): `npx skillmds@latest add nafeeur/go-engineering`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nafeeur/go-engineering/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: nafeeur (https://skillmd.com/u/nafeeur)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nafeeur/go-engineering

---


# Go Engineering

- Pass context through network, process, and storage boundaries; honor cancellation.
- Own goroutine lifecycle and close channels only from the sending owner.
- Keep interfaces small and defined by consumers.
- Wrap errors with operation context while preserving `errors.Is/As` behavior.
- Use table tests for deterministic cases and integration tests for processes/protocols.
- Run gofmt, vet/staticcheck if configured, and tests with race detection where practical.

