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 instructions/dotnet/maui/public-apigit clone --depth 1 https://github.com/dotnet/mauiWhat 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.00554 | $0.00554 |
| Opus 5 | $0.00277 | $0.00277 |
| Sonnet 5 | $0.00111 | $0.00111 |
| Haiku 4.5 | $0.00055 | $0.00055 |
Grade A, and why
maui public-api.instructions.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 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.
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 — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Public API Surface Design
Activation guard: only apply this guidance when the diff actually changes public API surface —
public/protectedtypes or members, interface definitions, builder/extension methods on public types,[Obsolete]markers, orPublicAPI.*.txtentries. The broad.csglobs exist so this guidance loads at the moment of API design (writingpublic class FooinButton.cs), not just when the analyzer-generatedUnshipped.txtis updated afterward. If the diff only changes internals or implementation details, ignore.
API Addition Rules
- New public APIs must have clear, demonstrated use cases — no speculative additions
- API naming must follow .NET design guidelines and be consistent with existing MAUI patterns
- Interfaces belong at
IView/IElementlevel when behavior is cross-cutting — do not duplicate per-control
PublicAPI.Unshipped.txt
- Entries must exactly match the actual API shape (namespace, type, member signature)
- A leading
~is Microsoft.CodeAnalysis.PublicApiAnalyzers' nullable-oblivious marker. It is unrelated to whether an API is public, internal, static, or instance. - Do not manually add or remove
~based on an entry's appearance or inferred API visibility. Preserve analyzer-generated markers and usedotnet format analyzersor the repository's documented PublicAPI generation workflow when correcting entries. - Removing a required
~makes the recorded nullability shape differ from the source API and creates the analyzer mismatch that the marker prevents.
For PublicAPI.Unshipped.txt file management workflow (never disable analyzers,
dotnet format analyzers, revert-then-add pattern), seecopilot-instructions.md§ PublicAPI.Unshipped.txt File Management.
Obsolescence and Removal
- Deprecated APIs must go through
[Obsolete("message")]with migration guidance before removal - Include the replacement API or pattern in the obsolete message
- Breaking changes require explicit design justification documented in the PR
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.
- 2d ago First seen · 40 lines · 554 tokens per session scan A 76e5e273f4f7
maui public-api.instructions.md is an instructions file published in the GitHub repository dotnet/maui (23,317 stars, last pushed 2d ago), licensed MIT. It adds 554 tokens to every session, about $0.0028 per session on Opus 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-30.
Other instructions, from other repositories
azure-sdk-for-net AGENTS.md
AGENTS.md instructions for Azure/azure-sdk-for-net, covering azure sdk for .net - ai agent guidelines, repository overview, purpose and scope, repository structure and agent interaction guidelines.
azure-sdk-for-net copilot-instructions.md
Copilot instructions for Azure/azure-sdk-for-net, covering project overview, prerequisites, folder structure, azure generator and azure management generator.
vscode disposable.instructions.md
Guidelines for writing code using IDisposable.
BlazorBindings.Maui AGENTS.md
Instructions for Dreamescaper/BlazorBindings.Maui, covering mobile guidelines, platform, razor and component conventions and blazor bindings generation.
bitfinex-net
Use Bitfinex.Net when generating C#/.NET code that interacts with Bitfinex, including Spot, margin, derivatives symbols, funding, REST endpoints, WebSocket subscriptions, account management, market data, or order placement. Triggers on Bitfinex integration requests in C#, .NET, dotnet, F#, or VB.NET context.
Bitfinex.Net copilot-instructions.md
Instructions for JKorf/Bitfinex.Net, covering copilot instructions for bitfinex.net, use bitfinex.net, not raw http, client setup, result handling and api structure.