go-testing-quality
SkillSecurityUse when writing or reviewing Go tests, adding coverage, benchmarking, or profiling a Go program. Not for CI/lint wiring (go-tooling-security) or non-Go tests.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the go-testing-quality skill
What this skill tells your AI
The instructions your AI receives, as published by fusengine/agents in plugins/go-expert/skills/go-testing-quality/SKILL.md and read by ahel’s review.
Go Testing & Quality
Idiomatic, 2026-current testing and quality practices for Go, built on the standard
testing package with testify where it adds clarity.
Use when:
- Writing unit tests for Go code (table-driven, subtests)
- Adding assertions or mocks with
testify(assert/require/mock) - Writing fuzz tests, benchmarks, or example tests
- Measuring coverage (
go test -cover) or chasing race conditions (-race) - Profiling / optimizing with pprof or setting up PGO
- Reviewing an existing Go test suite for quality gaps
Do NOT use for:
- Project layout, routing, DB wiring, DI — use
go-architecture - SOLID line-limit / interface enforcement — use
fuse-solid:solid-go - Non-Go test suites (Pest, Vitest, Jest, cargo test) — use the matching expert
- Security scanning / CVE audit — use
fuse-security
Decision Map
| Goal | Load |
|---|---|
| Write the standard Go test (table-driven + subtests) | table-driven.md |
| Assertions and mocks with testify | testify-mocks.md |
| Fuzzing, benchmarks, example tests | fuzzing-benchmarks.md |
| Coverage, race detector, pprof, PGO | coverage-profiling.md |
| A complete, runnable test file to copy | templates/table-test.md |
Core Practices (2026)
- Table-driven tests are the idiom. Define a slice of cases, loop, and run
each as a subtest with
t.Run(tc.name, …)for isolation and readable output. testifyis the de-facto assertion/mock standard.assertfor soft checks,requireto abort on failure,mockfor hand-written mocks,suitefor setup/teardown groups. It is maintained at v1 (no breaking v2). Source: https://pkg.go.dev/github.com/stretchr/testify- Fuzzing is native since Go 1.18 (
func FuzzXxx(f *testing.F)), and finds edge cases table tests miss. - Always run
-racein CI. The race detector catches data races that are otherwise nondeterministic and unreproducible. - Measure before optimizing. Benchmarks (
go test -bench) + pprof profiles guide real changes; PGO feeds a production profile back into the compiler.
Workflow
- Explore the code under test and existing test conventions first.
- Write table-driven tests as the default shape (table-driven.md).
- Add testify assertions/mocks where they improve readability, not reflexively.
- Run
go test ./... -race -coverand inspect gaps. - Fuzz / benchmark hotspots and parsers (fuzzing-benchmarks.md).
- Profile only after a benchmark proves a hotspot (coverage-profiling.md).
- Validate with sniper after changes.
Boundaries
Overlaps with github.com/samber/cc-skills-golang (community Go skills) — this
skill owns testing and quality tooling; architecture/structure lives in
go-architecture. Cross-referenced for boundaries only, not copied.
Signals
- GitHub stars
- 25
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
go-testing-quality- Source
- github.com/fusengine/agents