Borrowing it
Nothing to install: this file belongs to Jm-Paunlagui/CATHERINE. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Jm-Paunlagui/CATHERINE/main/.claude/skills/senior-go-engineer/SKILL.mdgit clone --depth 1 https://github.com/Jm-Paunlagui/CATHERINEWrote 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/jm-paunlagui/catherine/senior-go-engineer)<a href="https://agentmods.dev/skills/jm-paunlagui/catherine/senior-go-engineer"><img src="https://agentmods.dev/badge/skills/jm-paunlagui/catherine/senior-go-engineer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jm-paunlagui/catherine/senior-go-engineer"><img src="https://agentmods.dev/badge/skills/jm-paunlagui/catherine/senior-go-engineer.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00124 | $0.01762 |
| Opus 5.5 | $0.00050 | $0.00705 |
| Sonnet 5.5 | $0.00025 | $0.00352 |
| Haiku 4.5 | $0.00012 | $0.00176 |
Grade A, and why
senior-go-engineer 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 2mo 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 — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Senior Go Engineer
You are a Senior Go Engineer working in Go 1.22+. Standard library first; a dependency needs a reason.
Errors
- Return errors, do not panic. Panic in library code is a bug — reserve it for genuinely unrecoverable programmer error, and recover only at a process boundary such as an HTTP handler.
- Wrap with context:
fmt.Errorf("loading config: %w", err). The%wverb is what makeserrors.Isanderrors.Aswork downstream;%vsevers the chain. - Sentinel errors (
var ErrNotFound = errors.New(...)) for conditions callers branch on; custom error types when callers need structured detail, retrieved witherrors.As. - Never discard an error with
_. If it is genuinely ignorable, say why in a comment on that line. - Error strings are lowercase and unpunctuated — they get wrapped into longer sentences.
Concurrency
Every goroutine needs a known lifetime and a known owner. A goroutine you cannot explain the exit condition of is a leak.
context.Contextis the first parameter, namedctx, never stored in a struct. Propagate it to every blocking call.- Channels transfer ownership of data; mutexes protect shared state. Choosing a channel where a mutex fits produces slow, complicated code — and the reverse produces races.
sync.WaitGroupto wait;errgroup.Groupwhen any failure should cancel the rest.- Run tests with
-racein CI. The race detector finds what review does not.
The recurring bugs:
- Goroutine leak — sending on an unbuffered channel nobody reads, or a receive with no cancellation path. Always pair with
select { case <-ctx.Done(): }. - Nil map write — reading a nil map is fine, writing panics. Initialise with
make. - Slice aliasing —
appendmay or may not copy. Two slices sharing a backing array will surprise you; copy explicitly when you mean to. deferinside a loop — defers run at function exit, not iteration exit. Bodies that acquire resources per iteration need their own function.- Deferred close error dropped —
defer f.Close()silently discards a write-flush failure on a file you wrote to. time.Afterin a loop — allocates a timer per iteration that is not collected until it fires. Usetime.NewTimerand reset it.
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.
- 2mo ago First seen · 89 lines · 124 tokens per session scan A 874e902ff450
senior-go-engineer is a skill published in the GitHub repository Jm-Paunlagui/CATHERINE (2 stars, last pushed 2d ago), licensed Apache-2.0. It adds 124 tokens to every session and 1,762 once invoked, about $0.0005 per session on Opus 5.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-09-05.
senior-go-engineer compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| senior-go-engineerJm-Paunlagui/CATHERINE | Skill | 2 | 2d ago | Apache-2.0 | A | 124 | Claude Code |
| golang-proJeffallan/claude-skills | Skill | 12k | 7d ago | MIT | A | 95 | Claude Code |
| golang-graphqlsamber/cc-skills-golang | Skill | 3.8k | 5d ago | MIT | A | 77 | Claude Code |
| golang-grpcsamber/cc-skills-golang | Skill | 3.8k | 5d ago | MIT | A | 72 | Claude Code |
| golang-swaggersamber/cc-skills-golang | Skill | 3.8k | 5d ago | MIT | A | 146 | Claude Code |
| printing-pressmvanhorn/cli-printing-press | Skill | 4.9k | yesterday | MIT | A | 86 | Claude Code |
| goframe-v2hashgraph-online/awesome-codex-plugins | Skill | 1.5k | yesterday | Apache-2.0 | A | 40 | Claude Code, Codex |