headroom AGENTS.md

Project instructions for Headroom, an Apple application with iPhone and watch components. They describe how to generate its Xcode project, select the required beta toolchain, and run the full test build.

In plain words
What is it for?
Use them when changing Headroom’s macOS project configuration, building its iOS and watchOS targets, or running its tests.
Why use it?
They prevent common Apple-project build errors caused by editing generated files, using the wrong SDK, or missing the required watchOS toolchain.

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/michellzappa/headroom/agents-md
Clone the repo
git clone --depth 1 https://github.com/michellzappa/headroom

Made for: Codex, OpenCode.

Per session 7,510 This file is loaded in full into every session.
When invoked 7,510 The same file — it is already loaded in full.
Security scan C 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.07510 $0.07510
Opus 5 $0.03755 $0.03755
Sonnet 5 $0.01502 $0.01502
Haiku 4.5 $0.00751 $0.00751

Measured yesterday against content hash 987f5ff1eb74, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

headroom AGENTS.md scanned grade C 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 yesterday.

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.

Downloads and executes remote codehighSupply chain

curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.

curl -s localhost:8737/usage | python3 -c 'import json,sys; print([p for p in json.load(sys.stdin)["providers"] if p["id"]=="claude"])'

Makes network callslowCapability

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

curl -s localhost:8737/usage | python3 -c 'import json,sys; print([p for p in json.load(sys.stdin)["providers"] if p["id"]=="claude"])'
AGENTS.md · 598 lines

How it starts

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

Working on Headroom

Conventions and traps for anyone — human or agent — changing this repo. Several agents often work here at once, which is what most of this is about.

Build

XcodeGen owns the project. Never hand-edit macos/Headroom.xcodeproj; edit macos/project.yml and regenerate. Always go through the script, which syncs the embedded host first (bare xcodegen generate fails on a fresh clone):

./scripts/gen-project.sh

Anything touching watchOS — including the iPhone app, which embeds the watch app — needs the beta toolchain on this Mac. The default Xcode reports a watchOS SDK and even has it on disk, but resolves every destination to "watchOS 26.5 is not installed":

export DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer

Do not pass -sdk iphonesimulator to the iOS build under the beta. It overrides the SDK for the embedded watch complication too, which then fails with "'accessoryCorner' is unavailable in iOS" — a red herring. -destination 'generic/platform=iOS Simulator' alone builds clean.

The green gate, all four targets:

xcodebuild test -project macos/Headroom.xcodeproj -scheme Headroom -configuration Debug -derivedDataPath macos/.build CODE_SIGNING_ALLOWED=NO
xcodebuild build -project macos/Headroom.xcodeproj -scheme HeadroomMobile -destination 'generic/platform=iOS Simulator' -derivedDataPath macos/.build-ios CODE_SIGNING_ALLOWED=NO
xcodebuild build -project macos/Headroom.xcodeproj -scheme HeadroomWatch -destination 'generic/platform=watchOS Simulator' -derivedDataPath macos/.build-watch CODE_SIGNING_ALLOWED=NO
./scripts/check-glossary-copy.sh

A green suite here can be red on CI, and the gap is your own machine's data. Parts of /usage only exist when the local state behind them does: history needs ~/.claude session logs, Supabase and Plausible need keys. A runner has none of it, so a contract assertion that passes against your served document can fail against a bare one. This has already shipped a red main once — six history keys looked served on a Mac with 400 days of them and were absent everywhere else.

Read the full file on GitHub · 598 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. yesterday First seen · 598 lines · 7,510 tokens per session scan C 987f5ff1eb74

Subscribe to this mod's changes

headroom AGENTS.md is an instructions file published in the GitHub repository michellzappa/headroom (263 stars, last pushed 5d ago), licensed MIT. It adds 7,510 tokens to every session, about $0.0376 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.