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.
npx agentmods add skills/eslider/2dph/effective-gonpx skills add eSlider/2dph --skill effective-gogit clone --depth 1 https://github.com/eSlider/2dphWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/eslider/2dph/effective-go)<a href="https://agentmods.dev/skills/eslider/2dph/effective-go"><img src="https://agentmods.dev/badge/skills/eslider/2dph/effective-go.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00051 | $0.01088 |
| Opus 5 | $0.00026 | $0.00544 |
| Sonnet 5 | $0.00010 | $0.00218 |
| Haiku 4.5 | $0.00005 | $0.00109 |
Grade A, and why
effective-go scanned grade A with 0 findings 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Effective Go — Compact Rules
Apply these rules when writing or reviewing Go. Prefer standard library examples and gofmt. Document is from 2009; core language idioms still hold (generics/modules are outside its scope).
Formatting
- Always run
gofmt/go fmt. No exceptions. - Tabs for indentation. Spaces only if forced.
- No line-length limit; wrap and indent with an extra tab if needed.
- Fewer parentheses than C/Java: no parens around
if/for/switchconditions. - Opening brace of control structures stays on the same line (semicolon insertion rule).
Commentary
- Prefer
//line comments. Use/* */mainly for package docs or disabling large blocks. - Doc comments sit immediately before the declaration they document (no blank line).
- Comment the why, not the what.
Names
- Packages: short, lowercase, single-word, no underscores or MixedCaps. Base name of the directory. Avoid
util/common. - Exported names start with uppercase; unexported with lowercase.
- Getters: for field
ownerthe method isOwner(), notGetOwner(). Setter isSetOwner(). - Interfaces: one-method interfaces often named
Method+er(Reader,Writer,Stringer). Honor canonical names/signatures (Read,Write,String,Close…). - Multi-word names use MixedCaps / mixedCaps, never underscores.
- Short names for short scopes (
i,r,err,ctx). Longer names for longer-lived or exported identifiers. - Avoid stuttering with the package name (
bufio.Readernotbufio.BufReader).
Semicolons
- Almost never written; lexer inserts them. Consequence: opening
{ofif/for/switch/selectmust be on the same line.
Control structures
- No
do/while; onlyfor(three forms: C-style, while-style, infinite). if/switchmay have an init statement.- Prefer early return; omit
elseafter a terminating statement (return/break/continue/goto). - Happy path stays at the lowest indentation.
switchhas no automatic fall-through; cases can be comma-separated lists. Expressionlessswitchacts asif-elsechain.- Type switch:
switch v := x.(type). break/continueaccept optional labels.
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.
- 3d ago First seen · 100 lines · 51 tokens per session scan A 8f6fd1622f4d
effective-go is a skill published in the GitHub repository eSlider/2dph (2 stars, last pushed 4d ago), licensed MIT. It adds 51 tokens to every session and 1,088 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
adding-a-language
How a new language enters Kivgraph's graph - the two routes and why one of them is almost always wrong, the four decisions that cannot be migrated later, the branches that decide what your language is without asking, and the gates that fail closed. Use when adding or extending language support, when touching…
running-tests
Cómo se ejecutan y se escriben los tests de Kivgraph - las tres suites, el tag ladybug que no se invoca a mano, qué se salta y por qué, y el smoke test del binario. Usar al correr tests, al añadirlos, ante un fallo de enlazado library 'lbug' not found, ante un SKIP inesperado, o antes de cerrar una tarea.
publishing-releases
Procedimiento seguro y reproducible para decidir, preparar, etiquetar, verificar y cerrar una release de Kivgraph. Usar cuando alguien pida sacar una versión, al tocar internal/version/version.go, una nota de release o un tag vX.Y.Z.
engrama-onboard
Build a personalized Engrama memory graph for any user through a conversational interview. Use this skill whenever someone says "set up Engrama", "create my graph", "onboard", "build my profile", "configure Engrama for me", or asks how to start using Engrama. Also use when the user mentions they have a different role…
kivgraph
Use Kivgraph's local MCP server to search symbols, read their source, and follow references, dependencies, cross-repository consumers and graph status in the indexed code graph.
opening-pull-requests
Open or update a Kivgraph pull request, wait for CI and CodeRabbit, verify review findings against the current code, apply valid feedback, and repeat until the latest head is review-ready. Use when the user asks to open, create, prepare, or finish a PR, or asks what CodeRabbit says about one.