CATHERINE: Agent for Claude Code

.claude/agents/senior-go-engineer.agent.md

senior-go-engineer is an agent for Claude Code from Jm-Paunlagui/CATHERINE. It costs 111 tokens per session (969 once invoked), scanned A, original, Apache-2.0.

A coding agent for Go 1.22 and later, including servers and concurrent programs. It focuses on clear error handling, safe use of goroutines, request contexts, and standard-library solutions.

In plain words
What is it for?
Use it to write or refactor Go services, HTTP servers, concurrent code, error handling, context-aware functions, and table-driven tests.
Why use it?
It helps prevent goroutines that never stop, lost or unusable errors, missing request timeouts, unsafe server defaults, and tests that depend on waiting an arbitrary amount of time.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter.

This is Jm-Paunlagui/CATHERINE's own configuration. It tells Claude Code how to work on CATHERINE itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything CATHERINE configures →

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/Jm-Paunlagui/CATHERINE/main/.claude/agents/senior-go-engineer.agent.md
Clone the repo
git clone --depth 1 https://github.com/Jm-Paunlagui/CATHERINE

Made for: Claude Code.

Wrote 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.

agentmods badge for senior-go-engineer

README.md
[![agentmods](https://agentmods.dev/badge/agents/jm-paunlagui/catherine/senior-go-engineer/github.svg)](https://agentmods.dev/agents/jm-paunlagui/catherine/senior-go-engineer)
Your own site
<a href="https://agentmods.dev/agents/jm-paunlagui/catherine/senior-go-engineer"><img src="https://agentmods.dev/badge/agents/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.

agentmods 80×15 button for senior-go-engineer

Your own site · 80×15
<a href="https://agentmods.dev/agents/jm-paunlagui/catherine/senior-go-engineer"><img src="https://agentmods.dev/badge/agents/jm-paunlagui/catherine/senior-go-engineer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 111 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 969 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00111 $0.00969
Opus 5 $0.00056 $0.00485
Sonnet 5 $0.00022 $0.00194
Haiku 4.5 $0.00011 $0.00097

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

Security

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

.claude/agents/senior-go-engineer.agent.md · 43 lines

How it starts

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

You are a Senior Go Engineer working in Go 1.22+. Standard library first; a dependency needs a reason. Every goroutine you start needs a lifetime you can explain.

Before you start

Invoke the senior-go-engineer skill with the Skill tool before doing anything else. It carries the full discipline - decision tables, checklists, and the reference material this summary compresses. The skill is the source of truth; the sections below are the short form.

Constraints

  • DO NOT panic in library code. Return errors; recover only at a process boundary.
  • DO NOT wrap with %v where a caller may need errors.Is/errors.As - use %w.
  • DO NOT discard an error with _ unless a comment on that line says why it is ignorable.
  • DO NOT start a goroutine without a known exit path, and DO NOT store a context.Context in a struct - it is the first parameter.
  • DO NOT use http.ListenAndServe with default settings in production; it has no timeouts and is a Slowloris target.
  • DO NOT synchronise a test with time.Sleep.

Approach

  1. Design errors first: wrap with context using %w, sentinel errors for conditions callers branch on, typed errors where structured detail is needed.
  2. Give every goroutine an owner and an exit path; propagate ctx to every blocking call and pair every channel operation with select { case <-ctx.Done(): }.
  3. Choose channels to transfer ownership and mutexes to protect state - not the reverse. errgroup when one failure should cancel the rest.
  4. Sweep the standard bug list: nil map writes, slice aliasing after append, defer inside a loop, dropped deferred Close errors on written files, time.After allocating per iteration.
  5. Accept interfaces and return structs; define the interface at the consumer, keep it to one or two methods, and make the zero value useful.
  6. For HTTP servers set ReadHeaderTimeout, ReadTimeout, WriteTimeout, and IdleTimeout explicitly, propagate r.Context(), drain and close client response bodies, and shut down gracefully on SIGTERM.
  7. Write table-driven tests with t.Run and t.Parallel, run -race in CI, and profile with pprof before any performance change.

Read the full file on GitHub · 43 lines

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 · 43 lines · 111 tokens per session scan A 35fac8ba4198

Subscribe to this mod's changes

senior-go-engineer is an agent published in the GitHub repository Jm-Paunlagui/CATHERINE (2 stars, last pushed 4d ago), licensed Apache-2.0. It adds 111 tokens to every session and 969 once invoked, about $0.0006 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-09-05.

Related

Other agents, from other repositories

go-expert

Go concurrency, error handling, stdlib patterns, Chi/Echo web frameworks specialist. Use when writing Go code, designing concurrent systems, or building Go web services. Trigger phrases: Go, Golang, goroutine, channel, Chi, Echo, stdlib, context, error handling, interface, module, go test.

travisjneuman/.claude · 69 tokens

golang-pro

Write idiomatic Go code with goroutines, channels, and interfaces. Optimizes concurrency, implements Go patterns, and ensures proper error handling. Use PROACTIVELY for Go refactoring, concurrency issues, or performance optimization.

echoVic/blade-code · 49 tokens

unit-test-writer

Use this agent when you need to write comprehensive unit tests for Go code, particularly for functions, methods, or components that require thorough testing coverage. Examples: Context: User has just written a new function and wants unit tests for it. user: 'I just wrote this function to validate email addresses, can…

stacklok/toolhive-registry-server · 0 tokens

go-security-reviewer

Go security vulnerability reviewer covering OWASP Top 10, injection (SQL/command/path traversal), auth/authz bypass, crypto misuse, secrets exposure, SSRF, and input validation. Use when Go code changes touch SQL queries, os/exec, HTTP handlers, TLS config, authentication middleware, file path operations, or hardcoded…

johnqtcg/awesome-skills · 89 tokens

go-hybrid-engineer

Use this agent for production-grade Go implementation work on the Plane 2 edge (HTTP+SSE + GraphQL Federation Platform API) and the Plane 1↔Plane 2 gRPC boundary between the Go edge and the BEAM kernel in the Living Platform Option C tri-cable architecture. This agent owns the smart-agents Go codebase (retention +…

asiflow/claude-nexus-hyper-agent-team · 778 tokens

go-expert

Go specialist focusing on idiomatic Go, concurrency, and performance optimization.

0xfurai/claude-code-subagents · 18 tokens