agentleFS
jscraikjscraik/Agent-Skills/Skills/agent-ops/go/SKILL.md

go

Skill9 starsChanged 47 days agoApache-2.0View on GitHub

Best practices for working with Go codebases. Use when writing, debugging, or exploring Go code, including reading dependency sources and documentation.

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 12 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    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
  1. Distinctive:

    Use for Go code authoring and review tasks.

    line 22
  2. Distinctive:

    Use when package boundaries and error handling need tightening.

    line 23
  3. Distinctive:

    Keep functions small and package-focused.

    line 39
  4. Distinctive:

    Prefer composition over deep embedding chains.

    line 41
  5. Distinctive:

    Avoid panic in library code.

    line 46
  6. Distinctive:

    Check and handle every returned error.

    line 47
  7. Distinctive:

    If API compatibility risk is high, keep signatures stable and narrow the patch.

    line 63
  8. Distinctive:

    Keep guidance deterministic so repeated runs produce consistent decisions.

    line 82
  9. Distinctive:

    Run the relevant local checks for touched files and workflow contracts.

    line 92
  10. Distinctive:

    Do not expand scope beyond the request unless explicitly asked.

    line 99
  11. Distinctive:

    Prefer safe, reversible edits over broad refactors.

    line 100
  12. Distinctive:

    Read when: the task needs advanced edge cases, migration-safe patterns, or runtime-specific nuance beyond the core checklist.

    line 111

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Table of Contents

  • When to use
  • Required inputs
  • Deliverables
  • Style
  • Error Flow
  • Examples
  • Failure mode
  • Gotchas

When to use

  • Use for Go code authoring and review tasks.
  • Use when package boundaries and error handling need tightening.

Required inputs

  • Package and file scope.
  • Expected API behavior.
  • Runtime/performance constraints.

Deliverables

  • Idiomatic Go changes.
  • Wrapped, actionable errors.
  • Minimal API churn outside requested scope.

Style

  • Keep functions small and package-focused.
  • Return concrete structs from constructors when interfaces are unnecessary.
  • Prefer composition over deep embedding chains.

Error Flow

  • Return wrapped errors with %w for traceability.
  • Avoid panic in library code.
  • Check and handle every returned error.

Examples

func ParsePort(value string) (int, error) {
	port, err := strconv.Atoi(value)
	if err != nil {
		return 0, fmt.Errorf("parse port %q: %w", value, err)
	}
	return port, nil
}

Failure mode

  • If API compatibility risk is high, keep signatures stable and narrow the patch.

Gotchas

  • Silent ignored errors usually become runtime bugs.

See Also

SkillWhen to use
[[rust-pro]]Systems programming with similar error-propagation and ownership concerns
[[he-fix-bugs]]Triage Go runtime errors with evidence-first diagnosis

Topic map: [[agent-ops]]

Philosophy

  • Optimize for clear, verifiable outcomes with the minimum necessary changes.
  • Keep guidance deterministic so repeated runs produce consistent decisions.

Procedure

  1. Confirm scope, constraints, and required inputs before edits.
  2. Apply focused changes tied directly to the requested outcome.
  3. Re-run the highest-signal validations and capture concrete evidence.

Validation

  • Run the relevant local checks for touched files and workflow contracts.
  • Fail fast: stop at the first blocking validation failure and report exact evidence.
  • Re-run checks after fixes and record residual risk if any remains.

Constraints

  • Redact secrets, tokens, credentials, and sensitive data by default.
  • Do not expand scope beyond the request unless explicitly asked.
  • Prefer safe, reversible edits over broad refactors.

Anti-patterns

  • Skipping validation after making changes.
  • Applying broad refactors to solve narrow issues.
  • Assuming behavior without evidence from current checks.

References and assets

  • Open deep guidance: Infrastructure/references/deep-guidance.md
  • Read when: the task needs advanced edge cases, migration-safe patterns, or runtime-specific nuance beyond the core checklist.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.