Borrowing it
Nothing to install: this file belongs to kelos-dev/kelos. 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/kelos-dev/kelos/main/AGENTS.mdgit clone --depth 1 https://github.com/kelos-dev/kelosWrote 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/kelos-dev/kelos/agents-md)<a href="https://agentmods.dev/instructions/kelos-dev/kelos/agents-md"><img src="https://agentmods.dev/badge/instructions/kelos-dev/kelos/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/kelos-dev/kelos/agents-md"><img src="https://agentmods.dev/badge/instructions/kelos-dev/kelos/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.01705 | $0.01705 |
| Opus 5.5 | $0.00682 | $0.00682 |
| Sonnet 5.5 | $0.00341 | $0.00341 |
| Haiku 4.5 | $0.00170 | $0.00170 |
Grade A, and why
kelos 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 1mo 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 — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Project Conventions for AI Assistants
Rules for AI Assistants
- Use Makefile targets instead of discovering build/test commands yourself.
- Keep changes minimal. Do not refactor, reorganize, or 'improve' code beyond what was explicitly requested.
- For CI/release workflows, always use existing Makefile targets rather than reimplementing build logic in YAML.
- Better tests. Always try to add or improve tests(including integration, e2e) when modifying code.
- Logging conventions. Start log messages with capital letters and do not end with punctuation.
- Commit messages. Do not include PR links in commit messages.
- Kubernetes resource comparison. Use semantic
.Equal()or.Cmp()methods forresource.Quantitycomparisons, notreflect.DeepEqual— structurally different Quantity values can be semantically identical (e.g.,1000mvs1CPU). - Never use
os.Getenv()for secrets as Goflagdefaults. Go'sflagpackage prints default values in usage/help output, which leaks secret values. Instead, use an empty default and read the env var afterflag.Parse(). - Fail fast on invalid configuration. Do not silently fall back to degraded behavior (e.g., unauthenticated requests) when configuration or credentials are invalid or missing. Return an error or exit immediately instead of returning nil or empty values that mask the failure.
- Keep API surfaces minimal. When adding new API fields, types, or CRD changes, include only what is immediately needed. Do not add speculative fields — API is hard to change once shipped. Start with the minimum viable API and extend in follow-up PRs.
- API changes must preserve backward compatibility for existing manifests. Existing in-cluster resources must continue to apply after a CRD update. Do not change a field's kind (scalar ↔ array, string ↔ object) on an existing field; do not add
MinLength,Required, or other tightening validation to a field that previously accepted absence/empty values; when replacing a field, mark the old one+deprecatedand keep it functional rather than removing it. When the schema must change, sweepexamples/,self-development/, and any in-tree YAMLs that use the old form and update them in the same PR. - Maintain API changes only in the latest Kelos API version. Add new CRD fields, validation, enum values, constants, and user-facing API behavior only to the latest served/storage API version. Older served versions are compatibility surfaces: keep them served, convertible, and backward-compatible, but do not add new capabilities there unless required to preserve existing manifests or implement conversion/migration compatibility.
- Import versioned Kelos APIs with aliases. Prefer aliasing the current versioned API import as
keloswhen a file uses only one API version. Use explicit aliases likekelosv1alpha1only when a file genuinely needs multiple versions. - Docs must match implementation, not aspiration. When writing or updating docs, READMEs, or comments, describe only what the code actually does. Do not document unimplemented behavior, overstate guarantees, or describe security checks (e.g., HMAC validation) that aren't enforced. Before describing a contract ("X is filtered", "Y is validated"), verify the code enforces it — partial enforcement should be documented as partial.
- Keep
docs/reference.mduser-facing. Document API fields, configuration, validation, defaults, and observable operational behavior. Do not describe controller or runtime implementation details unless users need them to configure, operate, or troubleshoot Kelos. Prefer outcomes over mechanisms, and remove nonessential internal detail instead of moving it to a separate architecture document. - Do not use Gomega's global
Expect()insideEventuallypolling blocks. Gomega does not retry onExpectfailures — a transient API error short-circuits the poller and fails the test on the first blip instead of retrying. In e2eWaitFor*helpers, either inline the call and return a zero-value on error, or use theEventually(func(g Gomega) { ... })form so failed assertions are caught and retried. - CLI error messages must name the resource. When a CLI command fails for a named resource (task, spawner, workspace, etc.), include the resource name in the returned error so operators piping or batching invocations get an actionable signal.
fmt.Errorf("task %s failed", name), noterrors.New("task failed"). - Test the happy path, not only the early-return guards. When a handler has both early-return guards and a primary action (post a message, create a resource, emit a metric), unit tests must include at least one positive case verifying the primary action runs with the right arguments — not just the no-op branches. If the production code lacks a seam, add one (interface, function field, fake client) so the happy path is covered.
- Avoid vacuous substring assertions in printer/formatter tests. When asserting a
label: valueline is emitted, match against the full"label: value"string (or a regex), not the bare value — bare values often collide with the resource'sNameor other surrounding context in the fixture and pass even when the line is missing. - Keep CRD enum docstrings consistent with the
+kubebuilder:validation:Enummarker. If the godoc says "empty matches both", either include""in the enum list sofield: ""is accepted, or rephrase to "Omit to match both" so no one writes the explicit empty form. A docstring that invites a value the API server then rejects is a worse contract than either alternative. - Qualify cross-CRD field references with the owning kind in docs. In a CRD reference section, write
Task.spec.podOverrides.envrather than barepodOverrides.envwhen describing a field that lives on a sibling CRD. A reader of one CRD's reference page should be able to locate the cited field without already knowing the layout of the others.
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.
- 1mo ago Changed · +2 lines · +65 tokens per session 21a0037f47e0
- 1mo ago First seen · 49 lines · 1,640 tokens per session scan A 07e1d3867c22
kelos AGENTS.md is an instructions file published in the GitHub repository kelos-dev/kelos (348 stars, last pushed today), licensed Apache-2.0. It adds 1,705 tokens to every session, about $0.0068 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.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
vscode model-prompts.instructions.md
Model-specific prompt authoring and registry guidelines.