go-agent-skills
AGENTS.md85 starsChanged 18 days agoMITView on GitHub
You are working on go-agent-skills, a repository of curated AI agent skills for Go development. These skills follow the Agent Skills standard format. This is NOT a Go application. It is a collection of Markdown instruction files (SKILL.md) that teach AI coding agents how to write idiomatic Go. The repo has no Go source code, no go.mod, and no build artifacts. 1. **Read docs/SKILL_GUIDELINES.md first.* It defines the quality standards. 2. *Keep SKILL.md within the 250-line budget* (CI warns above…
We split this AGENTS.md into the rules it gives an agent
6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
YAML frontmatter is mandatory: Every SKILL.md must have name, description, user-invocable, license, compatibility, allowed-tools, …
- Very specific: line 47
Create skill-name/SKILL.md with proper frontmatter.
- Distinctive: line 48
Add the skill to the README.md catalog table.
- Very specific: line 49
If creating a new category, add _category.json.
- Very specific: line 50
Run ./scripts/validate.sh to verify format.
- Distinctive: line 57
No trailing whitespace. Final newline on all files.
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Guidance for AI Coding Agents
You are working on go-agent-skills, a repository of curated AI agent skills for Go development. These skills follow the Agent Skills standard format.
Project Context
This is NOT a Go application. It is a collection of Markdown instruction files (SKILL.md) that teach AI coding agents how to write idiomatic Go. The repo has no Go source code, no go.mod, and no build artifacts.
Repository Structure
skills/(category-name)/skill-name/SKILL.md- Categories use parentheses:
(code-quality),(architecture), etc. - Each category has a
_category.jsonwith metadata. - Each skill is a directory containing at minimum a
SKILL.md. - Skills may also contain
references/for supplementary docs.
When modifying skills
- Read
docs/SKILL_GUIDELINES.mdfirst. It defines the quality standards. - Keep SKILL.md within the 250-line budget (CI warns above 250 and fails
above 500). Move detailed content to
references/. - YAML frontmatter is mandatory. Every SKILL.md must have
name,description,user-invocable,license,compatibility,allowed-tools,metadata.authorandmetadata.version.allowed-toolsis least-privilege: noEdit/Writefor review-only skills, and everyBash(...)entry scoped to one binary. - Name must match directory name.
go-code-review/SKILL.md→name: go-code-review. - Description must include trigger phrases AND negative triggers. Example:
Use when: "review this code", "check this PR" Do NOT use for: security audits (use go-security-audit) - Run validation before committing:
./scripts/validate.sh
When creating new skills
- Choose the correct category directory or create a new one.
- Create
skill-name/SKILL.mdwith proper frontmatter. - Add the skill to the README.md catalog table.
- If creating a new category, add
_category.json. - Run
./scripts/validate.shto verify format.
Code style for this repo
- Markdown: ATX-style headers (
#), fenced code blocks with language tags. - Shell scripts:
set -euo pipefail, shellcheck-clean. - JSON: 2-space indentation.
- No trailing whitespace. Final newline on all files.
Commit conventions
Follow Conventional Commits:
feat(skill): add go-grpc-patterns skill
fix(go-error-handling): correct errors.Join example for Go 1.20+
docs(readme): add installation instructions for Windsurf
chore(ci): add SKILL.md line count validationDistribution
This repo is distributed via the npx skills
CLI. Users install with:
npx skills add eduardo-sl/go-agent-skillsThe CLI discovers skills by recursively searching skills/ for SKILL.md files.
Platform discovery files
Each agent has its own discovery mechanism. When adding or removing a skill, update ALL of these:
| File | Platform | Purpose |
AGENTS.md | Universal (Codex, Gemini CLI, Factory) | Agent instructions for this repo |
CLAUDE.md | Claude Code | Session context with skill list |
.claude-plugin/marketplace.json | Claude Code marketplace | Plugin manifest with skill paths |
.cursor/rules/go-skills.mdc | Cursor | Project rules with skill discovery |
.windsurf/rules/go-skills.md | Windsurf | Cascade rules |
.clinerules | Cline / Roo Code | Project rules |
.github/copilot-instructions.md | GitHub Copilot | Custom instructions |
.opencode/config.json | OpenCode | Config manifest |
The skill list in all files MUST match. If a file lists a skill that doesn't exist (or omits one that does), users on that platform get confused.
Language
- All files in this repository must be written in English. This includes SKILL.md files, documentation, commit messages, comments, and any other text content. No exceptions.
Important constraints
- Skills must be agent-agnostic. No Claude-specific, Cursor-specific, or Copilot-specific instructions inside SKILL.md files. Skills work everywhere.
- Skills must be self-contained. No skill should reference or depend on
another skill being loaded. Each skill stands alone. Naming another skill as
a pointer is fine — negative triggers already do it — but no skill may
require another one to have been loaded first.
go-skills-routeris the one index skill: its whole job is naming the others. It still stands alone, and nothing depends on it. - Do not add Go source code to this repo. Code examples belong inside SKILL.md files as fenced blocks, not as separate .go files.
- Do not add package managers, build tools, or frameworks. This repo is distributed by copy/symlink. Keep it simple.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository38 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/go-skills.mdcCursor rule
- go-api-designSkill
- go-architecture-reviewSkill
- go-cliSkill
- go-dependency-injectionSkill
- go-design-patternsSkill
- go-graphqlSkill
- go-grpcSkill
- go-interface-designSkill
- go-openapiSkill
- go-project-layoutSkill
- go-code-reviewSkill
- go-coding-standardsSkill
- go-contextSkill
- go-data-structuresSkill
- go-documentationSkill
- go-error-handlingSkill
- go-modernizeSkill
- go-namingSkill
- go-databaseSkill
- go-concurrency-reviewSkill
- go-defensive-codingSkill
- go-observabilitySkill
- go-performance-reviewSkill
- go-security-auditSkill
- go-troubleshootingSkill
- go-test-qualitySkill
- go-test-table-drivenSkill
- git-commitSkill
- go-binary-sizeSkill
- go-build-releaseSkill
- go-ciSkill
- go-dependency-auditSkill
- go-refactoringSkill
- go-semantic-toolsSkill
- go-skills-routerSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

