go

go is a skill for Claude Code, Codex from PascaleBeier/hitkeep. It costs 113 tokens per session (6,969 once invoked), scanned A, original, MIT.

A guide to idiomatic Go, the programming language used for many compiled backend and command-line programs. It covers package design, errors, interfaces, concurrency, testing, and project layout.

In plain words
What is it for?
Use it when writing, reviewing, debugging, refactoring, or designing Go code and APIs.
Why use it?
It helps code fit common Go practices, making it easier to read, maintain, review, and less likely to carry patterns from unrelated languages.

Skill for Claude CodeCodex

Part of the go plugin — 1 skill shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/pascalebeier/hitkeep/go
Any agent
npx skills add PascaleBeier/hitkeep --skill go
Clone the repo
git clone --depth 1 https://github.com/PascaleBeier/hitkeep

Made for: Claude Code, Codex.

Or install go, the plugin that ships this one along with the rest of its 1 skill.

Per session 113 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 6,969 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00113 $0.06969
Opus 5 $0.00056 $0.03485
Sonnet 5 $0.00023 $0.01394
Haiku 4.5 $0.00011 $0.00697

Measured 3d ago against content hash fcf420856bc3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

go scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

return fetch(ctx, url)
.agents/skills/go/SKILL.md · 802 lines

How it starts

The opening of the file, as written. The whole thing — 802 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Idiomatic Go: The Go Way

Idiomatic Go patterns and best practices for building robust, efficient, and maintainable applications.

When to Activate

  • Writing new Go code
  • Reviewing or auditing existing Go code
  • Refactoring Go code (especially code that looks like Java/Spring Boot patterns in Go)
  • Designing Go packages, modules, or APIs
  • Choosing between stdlib and third-party libraries
  • Any question about Go project structure, error handling, concurrency, or testing

Core Principles

1. Clear is Better than Clever

Go favors readability and simplicity over abstraction and cleverness. Code should be obvious. If you have to read a function three times to understand its control flow, it needs to be rewritten.

// Idiomatic: Direct, linear control flow. Note: no "Get" prefix — Go omits it.
func LookupUser(id string) (*User, error) {
    user, err := db.FindUser(id)
    if err != nil {
        return nil, fmt.Errorf("finding user %s: %w", id, err)
    }
    return user, nil
}

2. Make the Zero Value Useful

Design types so their zero value is immediately usable without initialization. This eliminates boilerplate constructors. sync.Mutex and bytes.Buffer are the gold standard for this.

// Idiomatic: Ready to use immediately
type Counter struct {
    mu    sync.Mutex
    count int
}

func (c *Counter) Inc() {
    c.mu.Lock()
    c.count++
    c.mu.Unlock()
}

3. Return Early, Keep the Happy Path Left

Handle errors and edge cases immediately and return. Do not use else blocks for the main logic. The "happy path" of your function should never be indented.

Package Organization: Flat by Default

Anti-Pattern: Using deeply nested directory trees or relying heavily on an internal/ folder by default to artificially enforce "Clean Architecture" layers. This leads to circular dependencies and difficult navigation.

1. The Single-Package Default

Start flat. If you are building a microservice or a simple tool, put everything in the root directory (or alongside your main.go). Only create a new package when you truly need a new namespace to clarify the code, or when you need to decouple a strictly independent domain.

Read the full file on GitHub · 802 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 802 lines · 113 tokens per session scan A fcf420856bc3

Subscribe to this mod's changes

go is a skill published in the GitHub repository PascaleBeier/hitkeep (85 stars, last pushed 4d ago), licensed MIT. It adds 113 tokens to every session and 6,969 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

use-modern-go

Use the Modern Go Guidelines CLI whenever writing, modifying, fixing, or refactoring Go code. Apply its version-specific guidance to generated changes.

JetBrains/go-modern-guidelines · 32 tokens

jwx-guide-v4

Guide for developing Go applications with github.com/lestrrat-go/jwx v4 — parse/sign JWTs, work with JWS/JWE/JWK, pick algorithms, and avoid the common footguns. For developers using jwx, not for developing the library itself.

lestrrat-go/jwx · 61 tokens

sq-gomod-dependabot

Reviews and merges Dependabot pull requests for Go modules (gomod) at the sq repo root. Use for dependabot gomod PRs, go.mod/go.sum updates, and Go module security bumps—not site/ Bun PRs.

neilotoole/sq · 54 tokens

golang-gomlx

Machine learning models training and inference using GoMLX for Go. It provides an abstraction to create vectorized computation graphs, that can then be JIT-compiled (Just-In-Time) and executed very fast, with backends using XLA (for CPU/CUDA/TPU), Go and others. Includes a reach set of vector (tensors) operations on…

gomlx/gomlx · 143 tokens

lingtai-tui-anatomy

Discoverable source-navigation guide for the LingTai Go monorepo that ships lingtai-tui and lingtai-portal. Read this for TUI/Portal structure, runtime-boundary evidence, exact Go ownership, or when updating an ANATOMY.md. The repository-root ANATOMY.md is the normative convention and top of the distributed graph…

Lingtai-AI/lingtai · 112 tokens

go

Use for Go changes in Neva: authoring, refactoring, debugging, or review.

nevalang/neva · 21 tokens