go-best-practices
Go development patterns, project structure, and idiomatic practices
Skill by doITmagic
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/doitmagic-go-best-practices
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/go-best-practices
What's inside
- Skill name
go-best-practices- Description
- Go development patterns, project structure, and idiomatic practices
- License
- MIT
- Instructions
- 49 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# 🐹 Skill: Go Best Practices
This skill guides the AI in writing high-quality, idiomatic Go code and understanding Go project structures.
---
## 🔗 External References (Source of Truth)
- [Google Go Style Guide](https://google.github.io/styleguide/go/)
- [Effective Go](https://go.dev/doc/effective_go)
- [Uber Go Style Guide](https://github.com/uber-go/guide/blob/master/style.md)
---
## 🏗️ Project Structure
Most Go projects in this ecosystem follow the Standard Go Project Layout:
- `/cmd`: Main applications/binaries.
- `/internal`: Private packages (not importable by other projects).
- `/pkg`: Public packages (rarely used here, prefer `internal`).
- `/api`: API definitions.
## ✅ Implementation Patterns
### 1. Error Handling
- **Check immediately**: Never ignore errors.
- **Wrap errors**: Use `fmt.Errorf("context: %w", err)` to provide trace details.
- **Sentinel Errors**: Define custom errors in the package for specific conditions.
### 2. Interfaces
- **Small is better**: Prefer `io.Reader` over large monolithic interfaces.
- **Consumer defines**: Define interfaces where they are USED, not where they are implemented.
### 3. Concurrency
- **Use Channels**: For communication/orchestration.
- **Mutex**: For simple state protection.
- **Context**: Always propagate `context.Context` for cancellation and timeouts.
### 4. Testing
- **Table-Driven Tests**: Use anonymous structs and `t.Run` for multiple test cases.
- **Package name**: Use `package_test` for external testing (test only the public API).
- **Mocking**: Use interfaces to mock dependencies. Avoid complex mocking frameworks if simple stubs work.
- **Helpers**: Use `t.Helper()` for repetitive assertions.
---
## 🔧 Tools for Go Project Analysis:
- `mcp_ragcode_find_type_definition`: Essential for understanding structs and interfaces.
- `mcp_ragcode_list_package_exports`: Quick overview of a package's public API.From doITmagic/ai-agent-skills, MIT.
More from doITmagic/ai-agent-skills
- 0.434score
oxygen-builder
doITmagic
Comprehensive technical architecture, API reference, and development guide for WordPress Oxygen Builder.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
trello-status-updater
doITmagic
Use when a feature is successfully implemented, a PR is created, or a bug is declared fixed, to move the Trello card to the Done list
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
trello-board-initializer
doITmagic
Use when needing to determine the correct Trello board for a project or ensuring the required lists (Bugs, To Do, Doing, Done) exist before using other Trello…
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
using-trello
doITmagic
Use when starting any task, encountering bugs, or discussing plans.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
trello-task-creator
doITmagic
Use when a new feature is discussed, an implementation plan is created, or tasks are identified, to extract them into Trello cards
SkillDFreshness: D★ 1Claude Code +9 - 0.431score
trello-bug-reporter
doITmagic
Use when a bug is encountered, an error logs, or tests fail, to proactively track the issue in Trello
SkillDFreshness: D★ 1Claude Code +9 - 0.429score
spec-driven-development
Kiro Team
Systematic three-phase approach to feature development using Requirements, Design, and Tasks phases.
SkillDFreshness: D★ 1Claude Code +9 - 0.427score
ragcode-priority
doITmagic
Use when searching code in this project - mandates ragcode MCP tools over grep or manual navigation
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
ragcode-update
doITmagic
Guide for managing ragcode updates, health checks, and AI skills
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
php-laravel
doITmagic
PHP and Laravel specific patterns, Service Providers, and Eloquent practices
SkillDFreshness: D★ 1Claude Code +9 - 0.426score
debugging-guide
doITmagic
How to use ragcode tools for fast root-cause analysis and debugging
SkillDFreshness: D★ 1Claude Code +9 - 0.423score
python-best-practices
doITmagic
Python patterns, type hinting, and project standards
SkillDFreshness: D★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 4, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/doITmagic/ai-agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from doITmagic
- 0.434score
oxygen-builder
doITmagic
Comprehensive technical architecture, API reference, and development guide for WordPress Oxygen Builder.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
trello-status-updater
doITmagic
Use when a feature is successfully implemented, a PR is created, or a bug is declared fixed, to move the Trello card to the Done list
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
trello-board-initializer
doITmagic
Use when needing to determine the correct Trello board for a project or ensuring the required lists (Bugs, To Do, Doing, Done) exist before using other Trello…
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
using-trello
doITmagic
Use when starting any task, encountering bugs, or discussing plans.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
trello-task-creator
doITmagic
Use when a new feature is discussed, an implementation plan is created, or tasks are identified, to extract them into Trello cards
SkillDFreshness: D★ 1Claude Code +9 - 0.431score
trello-bug-reporter
doITmagic
Use when a bug is encountered, an error logs, or tests fail, to proactively track the issue in Trello
SkillDFreshness: D★ 1Claude Code +9
Cite this page
go-best-practices skill. Agent Mart. https://agentmart.dev/skills/doitmagic-go-best-practices (last updated 2026-10-24)