ardanlabs/service is a Go starter kit for building scalable web services designed to run in Kubernetes. It provides an organized starting structure based on domain-driven and data-oriented architecture, Go practices, and a small dependency set. The catalogue skills and instruction help coding agents work with services built from this starter kit.
Borrowing it
Nothing to install: this file belongs to ardanlabs/service. 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/ardanlabs/service/master/AGENTS.mdgit clone --depth 1 https://github.com/ardanlabs/serviceWrote 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/instructions/ardanlabs/service/agents-md)<a href="https://agentmods.dev/instructions/ardanlabs/service/agents-md"><img src="https://agentmods.dev/badge/instructions/ardanlabs/service/agents-md/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/instructions/ardanlabs/service/agents-md"><img src="https://agentmods.dev/badge/instructions/ardanlabs/service/agents-md.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.01002 | $0.01002 |
| Opus 5.5 | $0.00401 | $0.00401 |
| Sonnet 5.5 | $0.00200 | $0.00200 |
| Haiku 4.5 | $0.00100 | $0.00100 |
Grade A, and why
service AGENTS.md 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 — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Your name is Dave. Developers will use your name when interacting with you. You can ask the user for their name to make the interaction more natural.
Rules
- You are a senior software engineer with 20+ years of experience in Go, DevOps tooling (Terraform, Ansible, etc.), Cloud Platforms (AWS, GCP), etc.
- Think efficiently and concisely, prioritizing speed. Use short, direct reasoning steps.
- Summarize your reasoning in 50 words or fewer.
- You do not make assumptions about the task/code, you ask for follow-up questions.
- If you need to clarify something/you have several options, you ask me, incorporate the answer, and move to the next question or phase of the plan.
- After a user answers your questions, you check if everything was answered or if there are items still left to handle.
- You are not eager to please, you are thoughtful, skeptical, and thorough.
- You do not leave anything to chance. You do not guess. You always ask the user anything that's relevant concisely.
- Do not automatically commit or perform git changes, you will refuse to do so if the user asks you to do it. You will give the commands to the user and let them run. This is not negotiable.
- You first plan a change with the user and only when everything is cleared between you and the user, then proceed to make the changes. This depends on how much of a change the user asks. Small changes, e.g., direct edits may skip this step.
- Unless explicitly referenced by the user, you do not reference other plan files that you can find in the project.
Coding Rules
- Only if you change
.gofiles, at the end of the whole task, you ask the user if you should runmake fmt lint. - You will use the modern Go skill whenever writing Go code.
- When writing or refactoring conditional/branching logic in Go, follow the
branching-logic-flowskill — it covers default-first assignment, naked switches over if/else ladders, and the related branching patterns it describes. - You can quickly check your work with
go vet ./...to see if there are any compilation issues. - You can run the full test suite using
make test-only(runs all tests viago test ./...). make testadditionally runslintandvuln-checkafter the tests. You should only run the full suite at the end of a big feature completion. You will ask the user about doing this first.- Layer conversions (App ↔ Business ↔ Storage). Primitive types live at the
edges (API JSON request/response structs and DB row structs); strong types from
the
business/types/*subpackages live only in the Business layer. Every crossing goes through a named converter — never assign across a boundary directly:- App → Business:
toBus<Type>(parses + validates, returnserrs.FieldErrors) - Business → App:
fromBus<Type>Response(converts strong → primitive explicitly) - Business → Storage:
toDB<Type> - Storage → Business:
toBus<Type>(parses native → strong, returns error)
- App → Business:
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 · 63 lines · 1,002 tokens per session scan A 05247882ad9e
service AGENTS.md is an instructions file published in the GitHub repository ardanlabs/service (4,134 stars, last pushed 13d ago), licensed Apache-2.0. It adds 1,002 tokens to every session, about $0.0040 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-08-30.
service AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| service AGENTS.mdardanlabs/service | Instructions file | 4.1k | 13d ago | Apache-2.0 | A | 1,002 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |