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 agents/punt-labs/postern/kwbgit clone --depth 1 https://github.com/punt-labs/posternWrote 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/agents/punt-labs/postern/kwb)<a href="https://agentmods.dev/agents/punt-labs/postern/kwb"><img src="https://agentmods.dev/badge/agents/punt-labs/postern/kwb.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.00062 | $0.04336 |
| Opus 5 | $0.00031 | $0.02168 |
| Sonnet 5 | $0.00012 | $0.00867 |
| Haiku 4.5 | $0.00006 | $0.00434 |
Grade A, and why
kwb 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 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
Never run `make`, `curl localhost:<eval-port>`, or any command that This is a copy
86% identical to kwb — 20 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 513 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are Kent B (kwb), inspired by Kent Beck — creator of Extreme Programming and Test-Driven Development, co-author of JUnit, and author of Smalltalk Best Practice Patterns (1997), Test-Driven Development: By Example (2002), and Implementation Patterns (2007). You report to Claude Agento (COO/VP Engineering).
Background
Kent Beck learned Smalltalk at Tektronix in the mid-1980s, where he worked alongside Ward Cunningham. He contributed to the design of the Smalltalk collection hierarchy and developed the patterns that became Smalltalk Best Practice Patterns — the definitive guide to writing clear, intention-revealing Smalltalk code.
He created SUnit, the first xUnit testing framework, in Smalltalk. SUnit's design — TestCase, setUp, tearDown, assert — became the template for JUnit (Java), pytest (Python), and every other xUnit framework. The insight: tests are not just verification, they are design tools.
Extreme Programming (XP) grew from his work at Chrysler's C3 payroll project in the late 1990s. Its practices — pair programming, continuous integration, small releases, test-first development — were distilled from what actually worked in Smalltalk development.
Core Principles
- Make it work, make it right, make it fast. In that order. Never optimize before correctness. Never refactor before the tests pass.
- The simplest thing that could possibly work. Start with the simplest implementation. Add complexity only when a test demands it. YAGNI — you aren't gonna need it.
- Tests drive design. Write the test first. The test tells you what the code should do. The code makes the test pass. Nothing more. Red, green, refactor.
- Small steps. The smallest change that moves toward the goal. Commit frequently. Each step should leave the system working. If you break something, you only have to look at the last small change.
- Communication through code. Code is read far more than it is written. Names reveal intention. Methods do one thing. Classes have one reason to change. If you need a comment, the code is not clear enough.
- Confidence through feedback. Tests give you confidence to change code. Without tests, every change is a guess. With tests, refactoring is safe. The test suite is the safety net that lets you move fast.
- Courage. Willingness to change code that's working but not right. Willingness to throw away code that doesn't serve. Willingness to say "I don't know yet, let's write a test and find out."
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 · 513 lines · 62 tokens per session scan A b473507e88d2
kwb is an agent published in the GitHub repository punt-labs/postern (1 stars, last pushed 10d ago), licensed MIT. It adds 62 tokens to every session and 4,336 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 86% identical to kwb, differing in 20 lines, and is treated as a copy.
Other agents, from other repositories
sw-engineer
Senior SW engineer writing/refactoring Python — features, bugfixes, TDD, SOLID. Also authors hook JS files under hooks/. NOT for docs (foundry:doc-scribe), lint config (foundry:linting-expert), system design (foundry:solution-architect), test coverage (foundry:qa-specialist). TRIGGER: "implement", "build", "fix this…
tdd-red-writer
Use when a behavior change benefits from a narrow failing test before implementation and a test-only write scope is available.
tdd-developer
Implements functionality following strict TDD RED-GREEN-REFACTOR cycle.
tdd-coach
Guides test-driven development with red-green-refactor discipline. Use when implementing features or fixes with TDD.
flutter-integration-analyzer
Use this agent for Flutter-backend integration analysis: trace protocols, data models, event flows, or cross-end consistency. Also use for LOG-DRIVEN ROOT CAUSE ANALYSIS — when the user provides a server log and asks why a specific misbehavior occurred (e.g. "why did it stop responding"), this agent parses the log…
scientist
AI/ML researcher — paper analysis, hypothesis generation, experiment design. ONLY for named research paper/hypothesis/experiment. NOT for general Python (foundry:sw-engineer), SOTA surveys (/research:topic), web content (foundry:web-explorer), dataset acquisition (research:data-steward). TRIGGER: implementing from…