spy: Instructions file for Codex

AGENTS.md

spy AGENTS.md is an instructions file for Codex, OpenCode from spylang/spy. It costs 1,599 tokens per session, scanned A, original, MIT.

A project instruction file for SPy, a programming language and compiler project. It documents commands for running SPy code, building executables, checking types, and running tests with pytest.

In plain words
What is it for?
Use it when modifying SPy code, compiling programs, checking types with mypy, or running the full or targeted test suite.
Why use it?
It gives coding agents the repository's expected commands and testing habits, including faster backend-specific test runs for focused changes.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md.

This is spylang/spy's own configuration. It tells Codex and OpenCode how to work on spy 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 spy configures →

View source ↗ spylang/spy
Reuse

Borrowing it

Nothing to install: this file belongs to spylang/spy. 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/spylang/spy/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/spylang/spy

Made for: Codex, OpenCode.

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 spy AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/spylang/spy/agents-md/github.svg)](https://agentmods.dev/instructions/spylang/spy/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/spylang/spy/agents-md"><img src="https://agentmods.dev/badge/instructions/spylang/spy/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.

agentmods 80×15 button for spy AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/spylang/spy/agents-md"><img src="https://agentmods.dev/badge/instructions/spylang/spy/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,599 This file is loaded in full into every session.
When invoked 1,599 The same file — it is already loaded in full.
Security scan A 1 finding. 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.01599 $0.01599
Opus 5.5 $0.00640 $0.00640
Sonnet 5.5 $0.00320 $0.00320
Haiku 4.5 $0.00160 $0.00160

Measured 1mo ago against content hash f1861f66261f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

spy AGENTS.md scanned grade A with 1 finding 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.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

proc = subprocess.run(cmdline_s, capture_output=True)
AGENTS.md · 195 lines

How it starts

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

SPy Language - Dev Reference

Common Commands

  • When running tests, always use the venv: e.g. `./venv/bin/pytest'
  • Run all tests: pytest
  • Run single test: pytest spy/tests/path/to/test_file.py::TestClass::test_function
  • Run backend-specific tests: pytest -m interp or -m C or -m doppler
  • Type checking: mypy

Compile SPy Code

spy your_file.spy                 # Execute (default)
spy build your_file.spy           # Compile to executable
spy build -x your_file.spy        # Compile to executable AND execute
spy --help                        # To see other commands to inspect the pipeline

When/how to run tests

The full test suite is slow. When you work on a feature with a limited/precise scope, run just the tests relevant to the specific feature and/or the files that you are modifying (use your own judgment).

When you want to run tests/compiler tests for a whole file and/or for the whole dir AND the file takes many seconds to run (e.g. if it contains many tests), prefer to run them backend-by-backend: interp tests are the fastest and catch most of the problems; doppler tests are a bit slower and catch doppler-specific tests; C backend are slowest and should be run only at the end.

So, if you decide to run all the tests for the file test_foo.py, do this:

  1. pytest test_foo.py -m interp
  2. pytest test_foo.py -m doppler
  3. pytest test_foo.py -m C

Beware that come test files define their own "extra" backends.

If the test file is very short and it's quick to run, feel free to run with all backends in one go.

If you modify something which is likely to impact everything, a good smoke test is test_basic.py: run it in isolation before running the whole test suite.

Under normal development it is not necessary to run the full test suite before each commit, it is fine to run it only to make sure that the branch is ready. However, if you do whole-program modifications which are likely to break things "everywhere", then feel free to run it more often. Use your own judgment.

Read the full file on GitHub · 195 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. 1mo ago First seen · 195 lines · 1,599 tokens per session scan A f1861f66261f

Subscribe to this mod's changes

spy AGENTS.md is an instructions file published in the GitHub repository spylang/spy (823 stars, last pushed 2d ago), licensed MIT. It adds 1,599 tokens to every session, about $0.0064 per session on Opus 5.5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-23.

Related

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

microsoft/vscode · 9,715 tokens

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.

vercel/next.js · 7,461 tokens

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

microsoft/vscode · 5,262 tokens

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.

langchain-ai/langchain · 4,680 tokens

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

microsoft/vscode · 2,731 tokens

deepseek-harness AGENTS.md

AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.

deepseek-ai/deepseek-harness · 4,261 tokens