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/dilolabs/nosia/agents-mdgit clone --depth 1 https://github.com/dilolabs/nosiaWhat 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.07549 | $0.07549 |
| Opus 5 | $0.03775 | $0.03775 |
| Sonnet 5 | $0.01510 | $0.01510 |
| Haiku 4.5 | $0.00755 | $0.00755 |
Grade A, and why
nosia 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 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 — 940 lines — stays where its author put it; the contents beside it link to each section on GitHub.
37signals Rails Configuration
Tech Stack
- Ruby 3.3, Rails 8.2 (edge), MySQL (SaaS) / SQLite (OSS)
- Frontend: Hotwire (Turbo 8 + Stimulus 3.2), Importmap (no Node.js)
- Testing: Minitest + Fixtures (not RSpec, not FactoryBot)
- Auth: Custom passwordless: passkeys (WebAuthn) + magic links (no Devise),
has_secure_passwordoptional - Background Jobs: Solid Queue (database-backed, no Redis)
- Caching: Solid Cache | WebSockets: Solid Cable
- IDs: UUIDv7 everywhere (base36-encoded, 25-char strings)
- Assets: Propshaft + Import Maps (no Node.js, no Webpack)
- Deployment: Kamal 2 + Thruster
Architecture
app/
controllers/ # Thin. Only 7 REST actions. New resource for each state change.
models/ # Rich. Business logic, concerns, associations, validations.
models/concerns/ # Horizontal behavior: Closeable, Assignable, Searchable.
views/ # ERB + Turbo Frames/Streams. No JS frameworks.
jobs/ # Shallow. Call model methods, don't contain logic.
mailers/ # Minimal. Bundle notifications, plain-text first.
channels/ # ActionCable channels for real-time.
No app/services/, app/queries/, app/policies/, app/forms/ directories. Business logic lives in models. Authorization via roles on User model + controller concerns. Complex forms use standard Rails nested attributes.
Core Philosophy
- Vanilla Rails: Rich domain models, thin controllers, avoid service objects (acceptable when justified, but not as default architecture), no Devise, no Pundit
- Everything is CRUD: State changes = new resources (
Closure,Publication,Archival) - State as records: No boolean flags for business state -- use
has_onestate records - Rich models over services: Business logic lives in models, organized via concerns
- Concerns for organization: Models compose behavior via focused concerns (
Closeable,Assignable) - No foreign key constraints: Application enforces referential integrity
- Multi-tenancy: URL path-based (
/:account_id/...),account_idon every table - Current for context:
Current.user,Current.account,Current.session - Shallow jobs:
_later/_nowpattern; job calls model method, logic stays in model
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 · 940 lines · 7,549 tokens per session scan A 06059c86c0a3
nosia AGENTS.md is an instructions file published in the GitHub repository dilolabs/nosia (212 stars, last pushed 24d ago), licensed MIT. It adds 7,549 tokens to every session, about $0.0377 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-30.
Other instructions, from other repositories
python-uv CLAUDE.md
Instructions for a5chin/python-uv, covering claude.md, project overview, development commands, package management and install dependencies.
ruby2d AGENTS.md
Instructions for ruby2d/ruby2d, covering ruby 2d guide for ai coding agents, testing, architecture, multi-ruby support and documentation.
neo4j-ruby-driver CLAUDE.md
Instructions for neo4jrb/neo4j-ruby-driver, covering neo4j ruby driver, branches, essential references, specifications and official drivers (for comparison).
roundhouse AGENTS.md
Instructions for rubys/roundhouse, covering working on roundhouse (agents & contributors), start here, invariants — do not break these, workflow and the actual goal.
rails-hyperdrive CLAUDE.md
Instructions for rails-hyperdrive/rails-hyperdrive, covering claude.md, what this repo is, commands, ci matrix is ruby {3.2, 3.3, 3.4} × rails {7.2, 8.1} and reproduce a specific slot locally.
claude-ruby-marketplace CLAUDE.md
Instructions for hoblin/claude-ruby-marketplace, covering claude.md, repository purpose, before editing, directory structure and versioning.