Borrowing it
Nothing to install: this file belongs to bborn/lewsnetter. 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/bborn/lewsnetter/master/AGENTS.mdgit clone --depth 1 https://github.com/bborn/lewsnetterWrote 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/bborn/lewsnetter/agents-md)<a href="https://agentmods.dev/instructions/bborn/lewsnetter/agents-md"><img src="https://agentmods.dev/badge/instructions/bborn/lewsnetter/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/bborn/lewsnetter/agents-md"><img src="https://agentmods.dev/badge/instructions/bborn/lewsnetter/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.02323 | $0.02323 |
| Opus 5.5 | $0.00929 | $0.00929 |
| Sonnet 5.5 | $0.00465 | $0.00465 |
| Haiku 4.5 | $0.00232 | $0.00232 |
Grade A, and why
lewsnetter 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 2mo 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s -X POST https://your-domain.com/mcp/messages \ How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Instructions for AI coding agents (Claude Code, Cursor, Codex, etc.) working on this repo. Humans should read README.md instead.
What this app is
Lewsnetter is an open-source email marketing platform on Rails 8 + BulletTrain, with a built-in MCP server and an in-app agent. The agent (powered by ruby_llm's acts_as_chat) and external MCP clients share the same tool registry — anything the agent can do, an external client can do via /mcp/messages.
The fastest way to grok the architecture: read the design spec at docs/superpowers/specs/2026-05-15-mcp-and-in-app-agent-design.md. It's the source-of-truth for "why is it built this way."
Codebase map
| Path | What's there |
|---|---|
app/mcp/ |
MCP server: Mcp::Server, Mcp::Tool::Base, Mcp::DoorkeeperAuth, all 43 tools under tools/<group>/<verb>.rb, 6 markdown skills under skills/ |
app/services/llm/configuration.rb |
Single source of truth for LLM keys/base URL/provider. All AI code reads this. |
app/services/chats/tool_adapter.rb |
Bridges Mcp::Tool::Base → RubyLLM::Tool for the in-app agent (so external MCP and in-app agent share one tool surface). |
app/services/ai/ |
Three task-specific AI services (campaign drafter, segment translator, post-send analyst). The llm_* MCP tools wrap these. |
app/services/campaign_renderer.rb |
Renders a campaign body for one subscriber: Liquid substitution → markdown → MJML → HTML → premailer-inlined. |
app/channels/chat_channel.rb |
ActionCable channel for the in-app agent. Streaming + tool indicators. |
app/models/{chat,message,tool_call,model}.rb |
acts_as_chat from ruby_llm. Don't add custom logic here unless necessary. |
app/controllers/well_known_controller.rb |
OAuth 2.1 RFC 8414 + 9728 metadata endpoints. |
app/controllers/oauth/registrations_controller.rb |
RFC 7591 dynamic client registration for MCP clients. |
config/initializers/ruby_llm.rb |
LLM key + gateway URL wiring. |
config/initializers/cloudflare_ai_gateway.rb |
Optional CF AI Gateway BYOK support. Self-contained — copy to support a different gateway. |
config/deploy.yml |
Kamal 2 production deploy config. |
docs/superpowers/specs/ |
Design specs (the why). |
docs/superpowers/plans/ |
Implementation plans, phase by phase (the how). |
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.
- 2mo ago First seen · 171 lines · 2,323 tokens per session scan A ec595731f0ac
lewsnetter AGENTS.md is an instructions file published in the GitHub repository bborn/lewsnetter (330 stars, last pushed 3d ago), licensed MIT. It adds 2,323 tokens to every session, about $0.0093 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
lewsnetter AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| lewsnetter AGENTS.mdbborn/lewsnetter | Instructions file | 330 | 3d ago | MIT | A | 2,323 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | 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 | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 275k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |