go-service
Skill0 starsChanged 2 months agoMITView on GitHub
Implement or review Go dependency wiring, configuration, partial startup cleanup, and graceful shutdown.
In this repository15 other files it gives its agents.
- go-buildSkill
- go-concurrencySkill
- go-dataSkill
- go-debuggingSkill
- go-designSkill
- go-grpcSkill
- go-httpSkill
- go-idiomaticSkill
- go-implementSkill
- go-integrationsSkill
- go-integration-testingSkill
- go-observabilitySkill
- go-performanceSkill
- go-securitySkill
- go-testingSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
When health or server lifetime is affected, distinguish readiness from liveness and account for long-lived or hijacked connections the …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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
Go Service
Composition. Make construction and lifetime visible for the affected component. Trace the dependency, configuration, or lifecycle boundary changed by the task rather than re-auditing the whole service. Honor requirements and preserve settled choices outside the requested change.
Prefer explicit wiring and ordinary constructors in the existing composition root. Reuse the project's lifecycle machinery before adding a container or generic application framework. Keep hidden I/O, goroutine startup, mutable globals, and process exits out of reusable packages. Request context belongs to the operation, not a shared service field.
For configuration and startup, parse related settings into typed configuration. Distinguish missing, empty, invalid, and deliberately defaulted values. Validate required relationships before accepting work; never hide invalid deployment settings with placeholder credentials. Clean up resources already acquired when later initialization fails.
For shutdown changes, separate stopping admission, draining accepted work, cancellation, joining workers, and closing dependencies. Keep dependencies available until their users finish. Give cleanup a bounded context when the initiating context is already canceled. Wait for shutdown completion before returning from main; a serving loop can return before draining finishes.
When health or server lifetime is affected, distinguish readiness from liveness and account for long-lived or hijacked connections the server does not drain. Preserve the deployment contract.
Verify the changed configuration, startup, or shutdown property with observable cleanup at the relevant boundary. Do not require all lifecycle scenarios for unrelated wiring changes. For diagnosis or review-only work, report the supported explanation without editing; check the actual resource owner and shutdown ordering before claiming cleanup is missing.
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.

