sheal AGENTS.md

A set of project instructions that requires test-driven development (TDD): write a failing test before the code, then make it pass. It also explains when exploratory work can be done first.

In plain words
What is it for?
Use it when changing business logic, bug fixes, APIs, or command-line behavior where the expected result can be tested.
Why use it?
It prevents fixes from being written without proving what behavior should change, and helps catch regressions with tests that demonstrate the intended result.

Instructions file for CodexOpenCode

Install

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.

agentmods
npx agentmods add instructions/liwala/sheal/agents-md
Clone the repo
git clone --depth 1 https://github.com/liwala/sheal

Made for: Codex, OpenCode.

Per session 2,989 This file is loaded in full into every session.
When invoked 2,989 The same file — it is already loaded in full.
Security scan B 2 findings. Scan, not verified.
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 $0.02989 $0.02989
Opus 5 $0.01494 $0.01494
Sonnet 5 $0.00598 $0.00598
Haiku 4.5 $0.00299 $0.00299

Measured 2d ago against content hash 93152f150006, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

sheal AGENTS.md scanned grade B with 2 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 2d 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.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

- [LEARN-017] When working inside a container or VM, run `cat /etc/os-release && which sudo docker git` as the first command to inventory the environment — do not assume any tool exists.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- [LEARN-001] Before writing parsers for external data formats (JSON APIs, JSONL transcripts, config files), always inspect 2-3 real samples first using git show, curl, or cat.
AGENTS.md · 227 lines

How it starts

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

Agent Instructions

See also: @CLAUDE.md for Claude Code-specific instructions.

Agent Operating Policy

1. TDD discipline — strict order

For any behavior with a clear, assertable contract (bug fixes, business logic, API or CLI behavior):

  1. Write the test that asserts the intent of the behavior.
  2. Run the suite. Confirm the new test fails — for the right reason (not a typo, import error, or unrelated failure).
  3. Only then write the source that makes it pass.
  4. Run the suite again. Confirm it goes green.

A regression test added after the source fix is NOT TDD: it never failed, so it never proved the bug existed or that the fix addresses it. If you reach for the source first, stop — WRITE THE FAILING TEST FIRST.

The ONLY exception: spikes

For exploratory work where you don't yet know what the behavior should be (UI layout, prompt engineering, data exploration, unfamiliar APIs): spike to learn in a throwaway branch or scratch file, discard it, then TDD the real thing from scratch.

Declare a spike before starting, never after to excuse missing tests:

  1. State it up front: "Spike to learn X; I'll throw it away and TDD the real thing."
  2. Isolate it — never mixed into the production change.
  3. Show the discard before the real implementation lands.

An undeclared deviation is not a spike — it's skipped tests.

2. Tests assert intent

Tests assert intent (user-visible behavior), not implementation, and should survive a refactor. If a test breaks on a rename or internal reshuffle, rewrite it to assert observable behavior.

3. Never weaken a test to make it pass

Fix the code, never loosen an assertion, delete a case, or mock away the thing under test to go green. If the test itself is wrong, say so and explain why before changing it.

4. Version control

  1. Commit locally as you go, with focused, meaningful messages.
  2. Push only to a dedicated working branch — never to main or a shared branch. Gate every push on a green suite and a clean linter; never push with failing tests or lint errors.
  3. Scan for staged secrets/credentials before pushing (the linter won't catch these). In doubt, don't push — surface it.

Read the full file on GitHub · 227 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. 2d ago First seen · 227 lines · 2,989 tokens per session scan B 93152f150006

Subscribe to this mod's changes

sheal AGENTS.md is an instructions file published in the GitHub repository liwala/sheal (86 stars, last pushed 1mo ago), licensed MIT. It adds 2,989 tokens to every session, about $0.0149 per session on Opus 5. A static security scan graded it B with 2 findings (asks for root, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories