golang-pro
Skill1 starsChanged 4 months agoMITView on GitHub
Implements concurrent Go patterns using goroutines and channels, designs and builds microservices with gRPC or REST, optimizes Go application performance with pprof, and enforces idiomatic Go with generics, interfaces, and robust error handling. Use when building Go applications requiring concurrent programming, microservices architecture, or high-performance systems. Invoke for goroutines, channels, Go generics, gRPC integration, CLI tools, benchmarks, or table-driven testing.
26 other projects use a version of this, 13 of them edited.
Adopted by
Most recently taken up by
- santiago-migoni/claude-skillsedited, first seen Nov 8, 2026
- JuankCadavid/akili-specsedited, first seen Nov 8, 2026
- AxlZero21/Skillsedited, first seen Nov 8, 2026
- dirien/yet-another-agent-harnessword for word, first seen Nov 8, 2026
- devantler-tech/ksailedited, first seen Nov 7, 2026
- lsyamsiar/claude-skillsedited, first seen Nov 1, 2026
Used with
Projects with it also use find-skills.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
VercelSkillfind-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Also in 3 projects that use this
Other versions26 projects use a version of this.
Word for word · 6
- 0xtbug/telbot★ 73100% same
- dirien/yet-another-agent-harness★ 19100% same
- codeApe-7/ai-agent-workflowGroup★ 18100% same
- PIXARTSeu/Synapse★ 9100% same
- FelipeAngeli/skills★ 2100% same
- gccli/skills★ 0100% same
Edited · 13
- Jeffallan/claude-skills★ 12k84% same
- carrot-hu23/dst-admin-go★ 92072% same
- devantler-tech/ksail★ 16488% same
- JuankCadavid/akili-specs★ 1080% same
- Michael-Obele/tomoshibi★ 472% same
- zacklecon/claude-skills★ 372% same
- AxlZero21/Skills★ 184% same
- heidihowilson/skillscope★ 198% same
- prdlk/skills★ 198% same
- hu465/claude-skills-★ 095% same
3 more not listed
Wrote their own version · 7
- jshsakura/awesome-opencode-skills★ 30same name
- belokonm/claude-supercode-skills★ 11same name
- xfstudio/skills★ 9same name
- marttp/my_agent_skills_I_use★ 4same name
- ai4brands-design/claude-skills★ 2same name
- Ghosteken/agent-harness★ 2same name
- cdpzyafk/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- devops-flowSkill
- fastify-best-practicesSkill
- frontend-designSkill
- i18nSkill
- infra-engineerSkill
- kubernetes-architectSkill
- nodejs-coreSkill
- nodeSkill
- typescript-magicianSkill
The file
We split this skill into the rules it gives an agent
11 rules. 10 are common, 0 are distinctive, and 1 is very specific to this project.
10
Common
Most of the 18 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 94
Use gofmt and golangci-lint on all code
- Common: line 95
Add context.Context to all blocking operations
- Common: line 97
Write table-driven tests with subtests
- Common: line 98
Document all exported functions, types, and packages
- Very specific: line 99
Use X | Y union constraints for generics (Go 1.18+)
- Common: line 101
Run race detector on tests (-race flag)
- Common: line 105
Use panic for normal error handling
- Common: line 106
Create goroutines without clear lifecycle management
- Common: line 108
Use reflection without performance justification
- Common: line 114
When implementing Go features, provide:
- Common: line 117
Test file with table-driven tests
“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Golang Pro
Senior Go developer with deep expertise in Go 1.21+, concurrent programming, and cloud-native microservices. Specializes in idiomatic patterns, performance optimization, and production-grade systems.
Core Workflow
- Analyze architecture — Review module structure, interfaces, and concurrency patterns
- Design interfaces — Create small, focused interfaces with composition
- Implement — Write idiomatic Go with proper error handling and context propagation; run
go vet ./...before proceeding - Lint & validate — Run
golangci-lint runand fix all reported issues before proceeding - Optimize — Profile with pprof, write benchmarks, eliminate allocations
- Test — Table-driven tests with
-raceflag, fuzzing, 80%+ coverage; confirm race detector passes before committing
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
| Concurrency | references/concurrency.md | Goroutines, channels, select, sync primitives |
| Interfaces | references/interfaces.md | Interface design, io.Reader/Writer, composition |
| Generics | references/generics.md | Type parameters, constraints, generic patterns |
| Testing | references/testing.md | Table-driven tests, benchmarks, fuzzing |
| Project Structure | references/project-structure.md | Module layout, internal packages, go.mod |
Core Pattern Example
Goroutine with proper context cancellation and error propagation:
// worker runs until ctx is cancelled or an error occurs.
// Errors are returned via the errCh channel; the caller must drain it.
func worker(ctx context.Context, jobs <-chan Job, errCh chan<- error) {
for {
select {
case <-ctx.Done():
errCh <- fmt.Errorf("worker cancelled: %w", ctx.Err())
return
case job, ok := <-jobs:
if !ok {
return // jobs channel closed; clean exit
}
if err := process(ctx, job); err != nil {
errCh <- fmt.Errorf("process job %v: %w", job.ID, err)
return
}
}
}
}
func runPipeline(ctx context.Context, jobs []Job) error {
ctx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()
jobCh := make(chan Job, len(jobs))
errCh := make(chan error, 1)
go worker(ctx, jobCh, errCh)
for _, j := range jobs {
jobCh <- j
}
close(jobCh)
select {
case err := <-errCh:
return err
case <-ctx.Done():
return fmt.Errorf("pipeline timed out: %w", ctx.Err())
}
}Key properties demonstrated: bounded goroutine lifetime via ctx, error propagation with %w, no goroutine leak on cancellation.
Constraints
MUST DO
- Use gofmt and golangci-lint on all code
- Add context.Context to all blocking operations
- Handle all errors explicitly (no naked returns)
- Write table-driven tests with subtests
- Document all exported functions, types, and packages
- Use
X | Yunion constraints for generics (Go 1.18+) - Propagate errors with fmt.Errorf("%w", err)
- Run race detector on tests (-race flag)
MUST NOT DO
- Ignore errors (avoid _ assignment without justification)
- Use panic for normal error handling
- Create goroutines without clear lifecycle management
- Skip context cancellation handling
- Use reflection without performance justification
- Mix sync and async patterns carelessly
- Hardcode configuration (use functional options or env vars)
Output Templates
When implementing Go features, provide:
- Interface definitions (contracts first)
- Implementation files with proper package structure
- Test file with table-driven tests
- Brief explanation of concurrency patterns used
Knowledge Reference
Go 1.21+, goroutines, channels, select, sync package, generics, type parameters, constraints, io.Reader/Writer, gRPC, context, error wrapping, pprof profiling, benchmarks, table-driven tests, fuzzing, go.mod, internal packages, functional options
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

