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 instructions/mlops-courses/agentops-open-course/agents-mdgit clone --depth 1 https://github.com/MLOps-Courses/agentops-open-courseWhat 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.07243 | $0.07243 |
| Opus 5 | $0.03622 | $0.03622 |
| Sonnet 5 | $0.01449 | $0.01449 |
| Haiku 4.5 | $0.00724 | $0.00724 |
Grade A, and why
agentops-open-course 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 2d 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 — 308 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Guidance for coding agents working in the AgentOps Open Course. Humans should start with README.md. This repository dogfoods the AGENTS.md convention taught in Chapter 1.
Repository purpose
The course teaches the complete lifecycle of one Go AgentOps Agent with Google ADK, agentgateway, kagent, and OpenTelemetry into Tempo, Loki, Prometheus, Alertmanager, and Grafana. main is a completed executable reference learners inspect and extend, not a collection of illustrative snippets.
agents/go/is the Go reference agent, offline tests, state commands, protocol servers, and distroless image.agents/data/is immutable seed input: SQLite, logs, runbooks, and runtime Agent Skills.evals/is a standalone black-box Go evaluation module. It must not require or import the agent module.tools/is a standalone Go module for repository conventions, accessibility, release evidence, and local support commands.content/contains 84 Hugo pages: 74 course pages, nine chapter indexes, and the landing page.layouts/,assets/,data/nav.yaml, andhugo.tomlown the Hextra site build and explicit learning path.skills/contains portable Agent Skills distilled from the course, distinct from runtime skills underagents/data/skills.clients/web/is a minimal dependency-free A2A client.load/contains k6 load tests and documented latency budgets.infra/agentgateway/{host,k3d,gke}/contains data-plane profiles.infra/k8s/baseandinfra/k8s/overlays/{local,gke}contain shared deployment resources.infra/kagent/declares the BYO Agent, ModelConfig, and governed RemoteMCPServer.infra/observability/contains host and in-cluster OpenTelemetry backends.infra/gcp/is a plan-first OpenTofu module for the optional GKE laboratory.
The root go.mod exists only for the Hextra Hugo Module. Never add agent, evaluator, or repository-tool dependencies to it.
Course invariants
- Docs mirror source. Critical excerpts use
{{< include >}}over exact named--8<-- [start:name]and end regions. Missing files, missing or duplicate regions, and empty excerpts fail the Hugo build. - Seed and state stay separate.
agents/data/incidents.dbis never mutated. Host writes go toagents/go/.state; Kubernetes writers shareagentops-agent-state. - Only write-owning boundaries prepare state. A2A startup and direct state commands may copy or migrate runtime state. Probes and read tools remain read-only.
- Restore is crash-recoverable. Stop every writer first. State restore holds a process lock, fsyncs a three-phase journal, and recovers interrupted transactions before schema preflight or publication. Never bypass it with file copies or delete unexplained
.restore-*evidence. - Reads and writes have different authority. Only the conversational entrypoint can move its six read/runbook tools from local calls to MCP through
AGENT_MCP_URL. Workflow and coordinator specialists keep local tools. Guarded writes remain in process. - MCP cannot widen the surface. The client filters the server catalog through
MCPReadToolNames; an advertised extra tool never joins the model request. - Writes require confirmation and attribution.
restart_serviceandresolve_incidentrequire ADK confirmation, valid targets, approver/session/invocation identity, and a bounded redacted rationale. Mutation and audit insert share one transaction. - Action replay is idempotent. The same invocation, action, and target returns the original audit result without another mutation.
- Policy is attached once. One ADK plugin at the app boundary covers every agent, sub-agent, workflow node, and coordinator specialist.
- Guard order is load-bearing. Before-model order is budget, compaction, redaction. The first non-nil callback result short-circuits later guards. After-model usage accounting runs before response redaction.
- PII has two layers. In-process deterministic Go redaction is always on. agentgateway adds central builtin masking and a private Go webhook that asks local Ollama for person, location, and organization spans. The webhook validates exact byte spans and fails closed.
- Layer 1 remains necessary. A gateway cannot see direct model calls, local logs, saved notes, audit writes, or pre-gateway chapters. It also cannot replace checksum-backed validation and credential tripwires.
- Skills and retrieved data have different trust. Only the locally constructed concrete skill loader can mark repository-reviewed instruction as trusted. Tool name strings cannot grant that status. Secret and PII redaction still applies.
- Audit is append-only, not immutable. SQLite triggers block ordinary update and delete, and every row carries its schema version. An administrator with file or schema authority can still alter it.
- Telemetry content stays private by default. ADK and GenAI content-capture settings default to literal
false. Redaction covers model and tool boundaries, but raw session ingestion happens earlier. - Collection and evaluation are separate. Runtime OTLP flows through the collector.
evalsexports only whenEVAL_OTEL_EXPORTER_OTLP_ENDPOINTis set explicitly and forces child-agent export off. - Evaluation is black-box. ADK REST and A2A events fold into one typed turn. Streaming partials never contribute duplicate usage. Expected domain values come from immutable seed data.
- Evaluation evidence is sanitized. Release artifacts and OTel attributes exclude prompts, answers, references, tool payloads, rationales, URLs, credentials, and provider errors.
- Build identity has one authority. Linker-owned mode, version, source identity, revision, tree digest, timestamp, and dirty state feed CLI output, AgentCard version, OTel resources, OCI labels, and backup manifests. Runtime environment variables cannot relabel a binary.
- Dirty work never claims
HEAD. Release-bearing source resolution rejects tracked or untracked changes. Development may useunknown+dirty.<digest>, with revision empty and the deterministic tree digest recorded separately. - Planning is bounded. The root agent plans multi-step investigations and verifies approved actions. The workflow is plan, investigate, evidence review, recommend; never introduce an unbounded reflection loop.
- Cost-efficient by default. Prefer deterministic offline tests, fakes, and the smallest model that materially proves the boundary. Do not start clusters, collectors, model servers, paid APIs, or cloud resources for an offline claim.
- Go coverage has a floor.
mise run testfails when any package inagents/goorevalsdrops below 80% line coverage;scripts/check-coverage.shmeasures it per package, because a repository total hides exactly the package worth worrying about.cmd/packages are excluded by kind — they arepackage maincomposition wiring (flag parsing, dependency construction, process lifecycle) this project has chosen not to hold to the floor, and their coverage is measured like every other package's and simply sits below it.tools/is maintainer scaffolding and sits outside the floor; only the accessibility driver is verified by execution rather than unit tests, because it needs a real Chrome, whileinternal/conventionsis unit-tested as well as exercised by everymise run check, and the same script reports the module's real numbers on demand.
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.
- 2d ago First seen · 308 lines · 7,243 tokens per session scan A a0ea3608ea81
agentops-open-course AGENTS.md is an instructions file published in the GitHub repository MLOps-Courses/agentops-open-course (2 stars, last pushed 9d ago), licensed MIT. It adds 7,243 tokens to every session, about $0.0362 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 instructions, from other repositories
OpenSandbox CLAUDE.md
Claude Code instructions for opensandbox-group/OpenSandbox: See AGENTS.md for all rules, routing, and conventions.
netdata AGENTS.md
AGENTS.md instructions for netdata/netdata, covering agents.md, goals, requirement language, mandatory development principles and sow system.
timoni AGENTS.md
AGENTS.md instructions for stefanprodan/timoni, covering agents.md, what timoni is, common commands, architecture and cmd/timoni/ — cli (cobra).
agent-sandbox AGENTS.md
Instructions for kubernetes-sigs/agent-sandbox, covering agents.md, project summary, repository layout, agent skills and build, test, lint.
pv-migrate AGENTS.md
AGENTS.md instructions for utkuozdemir/pv-migrate, covering pv-migrate — agent guide, what this repo is, the two workflows, and the strategy ladder, code map and the command values are shell strings.
agent-sandbox copilot-instructions.md
Instructions for kubernetes-sigs/agent-sandbox: Project Context & Architecture: Refer to AGENTS.md for full project background, module layout, toolchain versions, and core conventions.