go-expert
Go gotchas and decision criteria. Covers error handling patterns, concurrency pitfalls, and interface design.
Best use case
go-expert is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Go gotchas and decision criteria. Covers error handling patterns, concurrency pitfalls, and interface design.
Teams using go-expert should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/go-expert/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How go-expert Compares
| Feature / Agent | go-expert | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Go gotchas and decision criteria. Covers error handling patterns, concurrency pitfalls, and interface design.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
> **AI-consumed reference.** Optimized for Claude to read during execution.
> Human-readable explanation: see [docs/architecture/HIERARCHICAL_PLANNING.md](../../../docs/architecture/HIERARCHICAL_PLANNING.md)
> or [docs/getting-started/](../../../docs/getting-started/) depending on topic.
# Go Expert — Gotchas & Decisions
Use Context7 for Go framework docs.
## Key Decisions
```toon
decisions[4]{choice,use_when}:
Gin vs Echo vs Fiber,"Gin: most popular/stable. Echo: cleaner API. Fiber: highest perf (Express-like)"
Interface location,"Define in CONSUMER package not provider. Accept interfaces return structs"
Channel vs Mutex,"Channel for communication between goroutines. Mutex for protecting shared memory"
Table-driven vs subtests,"Table-driven for input variations. Subtests (t.Run) for distinct scenarios"
```
## Gotchas
- `err != nil` check EVERY error return — never ignore with `_`
- `%w` for wrapping errors (unwrappable), `%v` for formatting only (not unwrappable)
- Goroutine leak: always ensure goroutines can exit (context cancellation, done channels)
- `defer` evaluates args immediately but executes LIFO — `defer f.Close()` captures current `f`
- Range loop variable reuse (pre-Go 1.22): `for _, v := range items { go func() { use(v) }() }` captures same `v`. Fixed in Go 1.22+
- `nil` slice vs empty slice: `var s []int` (nil, marshals to `null`) vs `s := []int{}` (empty, marshals to `[]`)
- `context.Background()` for top-level, `context.TODO()` as placeholder. Always pass context as first param
- Race conditions: use `-race` flag in tests. `go test -race ./...`
- `sync.WaitGroup`: `Add()` before goroutine launch, not inside itRelated Skills
vue-expert
Vue 3 gotchas and decision criteria. Covers reactivity traps, Composition API pitfalls, and Pinia patterns.
typescript-expert
TypeScript gotchas and decision criteria covering nullish coalescing pitfalls (|| vs ??), strict tsconfig settings (noUncheckedIndexedAccess, exactOptionalPropertyTypes), type guard patterns, discriminated unions, and as const vs enum. Use when writing TypeScript, configuring tsconfig, implementing type guards, or debugging null/undefined errors.
refactor-expert
Guide safe, incremental refactoring that improves code quality without changing behavior.
react-native-expert
React Native gotchas and decision criteria. Covers FlatList optimization, storage hierarchy, and platform-specific pitfalls.
react-expert
React gotchas and decision criteria covering stale closure bugs in useEffect, conditional rendering traps (falsy 0/empty string), state management selection (useState vs Context vs Zustand vs TanStack Query), and hooks rules. Use when writing React components, debugging re-renders, choosing state management, or encountering useEffect infinite loops.
python-expert
Python gotchas and decision criteria. Covers async pitfalls, FastAPI/Django patterns, and type hint traps.
nodejs-expert
Node.js gotchas and decision criteria. Covers async pitfalls, Express/NestJS patterns, and common mistakes.
nextjs-expert
Next.js 14+ gotchas and decision criteria. Covers server/client boundary, caching strategy, and data fetching patterns Claude commonly gets wrong.
laravel-expert
Laravel/PHP gotchas and decision criteria. Covers N+1 prevention, Eloquent traps, and migration safety.
design-expert
UI/UX design expertise — component design, design system selection, responsive layout. Includes auto-detection from package.json and Context7 integration for library docs.
angular-expert
Angular 17+ gotchas and decision criteria. Covers signals vs observables, standalone patterns, and common pitfalls Claude gets wrong.
tree-of-thoughts
Branch, evaluate, prune, expand — structured search over solution space. Use for architecture with multi-step decisions, refactor planning, or complex debug hypothesis trees. Paper: Yao et al. 2023.