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/openva/richmondsunlight.com/claude-mdgit clone --depth 1 https://github.com/openva/richmondsunlight.comWrote 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/openva/richmondsunlight.com/claude-md)<a href="https://agentmods.dev/instructions/openva/richmondsunlight.com/claude-md"><img src="https://agentmods.dev/badge/instructions/openva/richmondsunlight.com/claude-md.svg" alt="Measured on agentmods" 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 | $0.00509 | $0.00509 |
| Opus 5 | $0.00254 | $0.00254 |
| Sonnet 5 | $0.00102 | $0.00102 |
| Haiku 4.5 | $0.00051 | $0.00051 |
Grade A, and why
richmondsunlight.com CLAUDE.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 3d 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 — 48 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
Supplements AGENTS.md with coding-level gotchas and conventions.
Legislator Data Model
There are three overlapping tables for legislators. Use the right one:
| Table | Status | Use for |
|---|---|---|
people |
Current | Canonical identity — shortname, name, sex, race, bio |
terms |
Current | Per-term data — chamber, party, district_id, name_formatted, lis_id. FK to people.id via terms.person_id |
representatives |
Legacy | Older queries only. Do not use for new code. |
New code should JOIN people + terms. video_index.linked_id references terms.id when type = 'legislator'.
Bill Number Case Sensitivity
bills.number uses utf8mb3_bin collation — it is case-sensitive. Bills are stored lowercase (e.g., hb41, not HB41). Always call strtolower() on bill number input before using it in a SQL query.
Admin Pages
Admin pages live in htdocs/admin/ and follow a different pattern from public pages:
- Do not use the
Pageclass — output raw HTML directly - No PHP session check needed — access is controlled by HTTP Basic Auth via
.htaccess - Include
../../includes/settings.inc.phpand../../includes/functions.inc.php - Connect to DB with
$database = new Database(); $database->connect_mysqli();
Class Naming
The bill class is named Bill2 (not Bill) to avoid conflicts with legacy code. This is intentional — do not rename it.
Playwright Login Pattern
Logging in during browser tests requires:
- POST to
/account/login/with credentials - Extract
PHPSESSIDfrom theSet-Cookieresponse header - Add it to the browser context with
secure: false(the test environment is HTTP, not HTTPS)
Test user: [email protected] / see deploy/mysql/test-users.sql for credentials. User ID is 90001.
SESSION_ID and SESSION_YEAR
The current legislative session is hardcoded in deploy/settings-docker.inc.php:
SESSION_ID = 31SESSION_YEAR = 2025
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.
- 3d ago First seen · 48 lines · 509 tokens per session scan A 0c0e6575d7ef
richmondsunlight.com CLAUDE.md is an instructions file published in the GitHub repository openva/richmondsunlight.com (16 stars, last pushed 23d ago), licensed MIT. It adds 509 tokens to every session, about $0.0025 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-09-01.
Other instructions, from other repositories
forthepeople CLAUDE.md
Claude Code instructions for jayanthmb14/forthepeople, covering claude.md — forthepeople.in project instructions, project, database schema changes (critical — changed june 2026), documentation location and completed prompts archive.
congressMCP AGENTS.md
AGENTS.md instructions for amurshak/congressMCP, covering what this is, conventions and two sessions.
seekstone CLAUDE.md
Instructions for shaqmughal/seekstone, covering claude.md, what this repo is, commands, the harness itself (run after npm install) and architecture.
plan-forge database.instructions.md
Database patterns for .NET — Dapper/EF Core, parameterized queries, migration strategy.
llm-safe-sql AGENTS.md
AGENTS.md instructions for hyuga611/llm-safe-sql, covering notes for coding agents, what this project is, rules that are not style preferences, where things are and before you say you are done.
us-census-bureau-data-api-mcp copilot-instructions.md
Instructions for uscensusbureau/us-census-bureau-data-api-mcp, a project described as: The U.S. Census Bureau Data API MCP connects AI Assistants with official Census Bureau statistics.