Borrowing it
Nothing to install: this file belongs to cognizant-ai-lab/neuro-san. 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/cognizant-ai-lab/neuro-san/main/AGENTS.mdgit clone --depth 1 https://github.com/cognizant-ai-lab/neuro-sanWrote 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/cognizant-ai-lab/neuro-san/agents-md)<a href="https://agentmods.dev/instructions/cognizant-ai-lab/neuro-san/agents-md"><img src="https://agentmods.dev/badge/instructions/cognizant-ai-lab/neuro-san/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/cognizant-ai-lab/neuro-san/agents-md"><img src="https://agentmods.dev/badge/instructions/cognizant-ai-lab/neuro-san/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.02395 | $0.02395 |
| Opus 5.5 | $0.00958 | $0.00958 |
| Sonnet 5.5 | $0.00479 | $0.00479 |
| Haiku 4.5 | $0.00239 | $0.00239 |
Grade A, and why
neuro-san 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 10d 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 — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Rules for coding agents in neuro-san. Follow them and make sure the checks in §6 pass on the first run.
1. Contribution rules
- Agent networks are data-only HOCON files under neuro_san/registries/;
manifest.hoconcontrols whether a network isserved,publicly listed, and exposed viamcp— see manifest_hocon_reference.md. CodedTools live under neuro_san/coded_tools/, resolved viaAGENT_TOOL_PATH. Mirror the registry's folder layout when a tool belongs to a specific network.- No secrets in HOCON or code: read them from environment variables, or pass them per request via
sly_data(see Client-Provided API Keys). Never log or printsly_data. - Validate a HOCON file before opening a PR:
python -m neuro_san.client.hocon_validator_cli path/to/agent.hocon --verbose(see hocon_validator_cli.md). - Keep the diff focused: no unrequested refactors or reformatting of untouched files. Remove debug prints,
commented-out code and stray
TODOs before opening a PR. - Update the matching reference doc in the same PR when you change documented behavior: agent_hocon_reference.md, external_agents.md, mcp_tools.md, provider_tools.md, manifest_hocon_reference.md, llm_info_hocon_reference.md, toolbox_info_hocon_reference.md, mcp_service.md, clients.md, tests.md, or test_case_hocon_reference.md. Verify every link in a document you touch.
2. Code style
- One module, one class. Each
.pyfile defines exactly one class (a handful of pre-existing exceptions are not precedent). Split helper logic into a separate module rather than adding a second class to an existing file. This should also mean that there should be no module comments - they should be really be the class's docstring. - No module over 1000 lines. That is pylint's
too-many-lineslimit, and CI checks it for source and tests alike. When a module would go over it, refactor instead of disabling the check: move whole concerns of the class, such as validation or formatting, into classes of their own, each in its own module. Tests split by topic (§3). - No module-level functions, no nested functions, no lambdas. Every function is a method (or
@staticmethod) on the module's class. If a method needs a helper, make it another method on the same class; bind arguments withfunctools.partialon a method or@staticmethodwhere a lambda would otherwise have been used. - No comprehensions. Use explicit
forloops instead of list/dict/set/generator comprehensions, even when a comprehension would be shorter. - Always use type hints. Every function/method signature needs type hints for all parameters and the return type; annotate a variable assignment too when the type isn't obvious from the right-hand side.
- snake_case for functions, methods, variables, parameters and attributes; PascalCase for classes;
UPPER_CASE for constants. Comment the reason if an external API forces
camelCase. - Read dictionary values with
.get(), neverdict[key]; plain subscript is fine for assignment (config["key"] = value). - Catch the specific exceptions that can be handled at that level. Pylint flags a broad
except Exception(W0718); where one is genuinely needed, add# pylint: disable=broad-exception-caughtand state why in a comment. - Never fail silently. Report a missing/unreadable file, malformed input, or an unknown choice with the full exception, and log enough to act on.
- Prefer
loggeroverprint, with lazy%formatting (logger.info("Loaded %s", name)) rather than f-strings. - Use accessors, not internals: do not read another class's attributes directly and do not
isinstanceagainst a concrete class — check the interface, or add an interface method that answers the question. - Docstrings on every class, function and method. A class docstring explains its purpose and responsibilities. A function/method docstring covers what it does, its parameters, its return value, and any exception it raises, in this exact format:
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.
- 10d ago Changed · +6 tokens per session b637312f82af
- 15d ago Changed · +9 lines · +232 tokens per session 73736cd2c278
- 24d ago Changed · +4 lines · +55 tokens per session 36cd9ebd0454
- 28d ago Changed · +1 lines · +33 tokens per session bd36f1309838
- 1mo ago Changed · +2 lines · +35 tokens per session b363f9b6691b
- 1mo ago First seen · 129 lines · 2,034 tokens per session scan A 9b5baf91c0e2
neuro-san AGENTS.md is an instructions file published in the GitHub repository cognizant-ai-lab/neuro-san (166 stars, last pushed yesterday), licensed Apache-2.0. It adds 2,395 tokens to every session, about $0.0096 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-26.
neuro-san AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| neuro-san AGENTS.mdcognizant-ai-lab/neuro-san | Instructions file | 166 | yesterday | Apache-2.0 | A | 2,395 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |