Borrowing it
Nothing to install: this file belongs to Augustas11/macprovider. 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/Augustas11/macprovider/main/AGENTS.mdgit clone --depth 1 https://github.com/Augustas11/macproviderWrote 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/augustas11/macprovider/agents-md)<a href="https://agentmods.dev/instructions/augustas11/macprovider/agents-md"><img src="https://agentmods.dev/badge/instructions/augustas11/macprovider/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/augustas11/macprovider/agents-md"><img src="https://agentmods.dev/badge/instructions/augustas11/macprovider/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.04219 | $0.04219 |
| Opus 5.5 | $0.01688 | $0.01688 |
| Sonnet 5.5 | $0.00844 | $0.00844 |
| Haiku 4.5 | $0.00422 | $0.00422 |
Grade A, and why
macprovider 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 — 363 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MacProvider Agent Guide
This file is the canonical instruction surface for every coding agent in this repository. Keep it short, concrete, and current. Put long incident writeups in docs or runbooks and link them from here.
HARDEST RULE — no options, always implement the goal
Never present the operator with two or more options, an either/or menu, or a "proceed vs hold" question. Do not stop to ask which path to take. Pick the single best path toward the stated goal and implement it directly. If a prerequisite is genuinely blocking (missing access, a hard permission denial), do everything possible around it, then surface the one specific unblock needed — never as a menu. Analysis and status are fine; decision-shaped menus are not.
HARD RULES — activation, evidence, and campaign discipline
These exist because native MTP and CB sat qualified-but-inactive for a week while sessions regenerated evidence instead of deploying. Each is binding.
- Done means live; merged work closes its issue. A goal of "X active" is
reached only when a live probe shows X serving a real buyer request through
the Malibu gateway. When the work is implemented and merged, close its issue
and record the remaining live step (CLI cut, signed policy, coordinator
rollout) in
docs/releases/cli-release-train.mdor the coordinator release doc; that doc, not an open issue, tracks it to live. A PR that changes catalog, CB, or native-MTP state must name its deploy command in the body, and the merging session deploys it the same day. - Reuse evidence; never regenerate it. Before proposing any benchmark, qualification, journey, or evidence capture, list the existing evidence and name the decode-path code line that changed since it was produced. No named line, no benchmark. A new CLI cut changes only identity binding (source, SHA-256, CDHash), never the qualification.
- Unclearable gates get flagged once. If a runbook gate depends on a workflow or journey that has never run, report it to the operator in one line on first encounter. Do not build evidence around it and do not treat it as blocking after the operator has decided.
- One campaign, one PR. Before
gh pr create, rungh pr list --state open --search "<issue or epic number>". If an open PR exists for that issue or epic, push to it. - Deploy-tooling refusals are fixed, not routed around. If release or deploy tooling refuses a coherent change, fix the tooling in the campaign PR or follow its documented order. Never answer a refusal with more evidence.
- Two sessions without a live change means stop. Write a one-paragraph blocker diagnosis to the operator instead of starting a third session.
- Handoffs are committed to the private
macprovider-internalrepo and point at paths that exist. One session at a time mutates Pearl or a Studio provider. Handback is written, naming what changed live. - Releases and live changes go through
scripts/ops/only. CLI release, catalog/CB/native-MTP activation and the Pearl runtime train each have one entry point (cli-release.sh,catalog-activate.sh,pearl-runtime.sh). Runstatus, thennext;next --runexecutes exactly one documented step and takes the live-ops lock (live-lock.sh). Never call the release workflows,deploy-pearl-vps.sh,catalog-content-release.sh --deploy, the Pearl updater--apply, or a coordinator restart directly. Claude Code enforces this withscripts/ops/hooks/claude-pretooluse-ops-guard.sh; other agents follow it from this rule. Seescripts/ops/README.md. - No closing keyword next to an issue number (the close/fix/resolve
family, any tense, even negated) in a PR body, title or commit message
unless that PR completes the issue. Write
Related: #N. GitHub ignores negation; that is how the #1690 and #1749 epics were auto-closed early. - No expiry dates on live features. Never add an expiry, sunset date, automatic withdrawal or automatic kill switch to a live product feature, its config validation, ops tooling, SPEC or decision log unless the operator explicitly asks for one. A feature that works live stays on. If a process document demands an expiry, flag it to the operator as a rule to remove instead of complying.
- Proven changes ship on. When lab evidence shows a change works
(correctness checks pass and the gain is measured) and its audit is
clean, it ships enabled by default in the same PR. Do not add a
default-off flag or a separate operator enable gate for it. Handle risk
in the code itself (caps, bounds, fallbacks) and keep an emergency kill
switch where one already exists. Signed catalog/CB/native-MTP policy is
deployment state, not a default-off gate; changing it still goes through
scripts/ops/. - Measure the goal first; build only what the number justifies. A
campaign whose goal is a performance or capability gain starts with the
one end-to-end measurement of the metric the goal names. For native MTP
that is output tokens/s, acceptance, TTFT and token parity against
ordinary CB at the same row count (SPEC-048 R015 cells). Use existing
tools and report the number in the first Studio window. Only then write
code, tooling or audits.
- Never decide a campaign on a side metric. A kernel variant, one forward pass or a profiler sample is not the goal metric.
- A kill or continue decision cites the goal metric, measured end-to-end.
- A new tooling PR must name the blocked live step it unblocks. "Nicer harness" is not a reason.
- Audits run once at freeze, not per slice.
- Why: #2086 spent 1.5 days on harness rework, five tooling PRs and a shared-load kernel experiment, then closed on a 1.58% kernel-variant slowdown. The decisive multi-row native-versus-ordinary throughput measurement was never run.
- No standalone tooling PRs. Tooling lives in the campaign PR.
Harness, profiler, ops-script and acceptance-tool changes go in the one
campaign PR they serve (rule 4), never in a PR of their own. A fix to
earlier tooling goes in the same campaign PR, never in a follow-up PR.
- The only exception: a merged ops entry point is genuinely required to run a live step (rule 8), and the campaign cannot proceed without it. Then use one small PR, linked from the campaign PR. At most one such PR per campaign.
- Lab measurement runs from the campaign branch with existing guarded windows. It needs no merged tooling.
- A campaign's PR count is the campaign PR plus at most one ops PR. A third PR means stop and write the operator a one-paragraph blocker (rule 6).
- An issue closes when its implementation is merged and its live step is recorded in the release doc (rule 1). Merged tooling, merged harness or a measurement note alone does not close it. Do not close an issue as a "handoff" or as "deferred".
- Why: between 2026-10-20 and 2026-10-22, about 12 tooling PRs, several of them fixes to earlier tooling PRs (#2090–#2094, #2097, #2101–#2105), produced no new live capability. #2081 was closed as a "handoff" with nothing released, and #2082 sat merged but not live.
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 Changed · +4 lines · +72 tokens per session cd35c9885b7d
- 5d ago Changed · +7 lines · +96 tokens per session bb903854f235
- 16d ago Changed · +38 lines · +602 tokens per session 67d8195051f3
- 22d ago Changed · +5 lines · +59 tokens per session 4270dcbd1093
- 24d ago Changed 7427b42ec4f4
- 28d ago Changed · +14 lines · +225 tokens per session 19558537a47d
- 29d ago Changed · +45 lines · +701 tokens per session ace1e61b4f45
- 1mo ago Changed · +3 lines · +44 tokens per session cb11de0f87fb
- 1mo ago Changed · +9 lines · +113 tokens per session 5256d0fa0600
- 1mo ago First seen · 238 lines · 2,307 tokens per session scan A 433536099f38
macprovider AGENTS.md is an instructions file published in the GitHub repository Augustas11/macprovider (10 stars, last pushed today), licensed MIT. It adds 4,219 tokens to every session, about $0.0169 per session on Opus 5.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-31.
macprovider AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| macprovider AGENTS.mdAugustas11/macprovider | Instructions file | 10 | today | MIT | A | 4,219 | 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 | today | MIT | A | 7,461 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,516 | GitHub Copilot |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| 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 | 3d ago | MIT | A | 4,313 | Codex, OpenCode |