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/thiagoguislotti/copilot-instructions/dotnet-csharpgit clone --depth 1 https://github.com/ThiagoGuislotti/copilot-instructionsWhat 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.03045 | $0.03045 |
| Opus 5 | $0.01522 | $0.01522 |
| Sonnet 5 | $0.00609 | $0.00609 |
| Haiku 4.5 | $0.00304 | $0.00304 |
Grade A, and why
copilot-instructions dotnet-csharp.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 — 339 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Code Organization
- #region structure and order (top to bottom):
#region Constants- const fields#region Static Variables- static fields#region Static Properties- static properties#region Variables- instance fields#region Protected Properties- protected properties#region Public Properties- public properties#region Internal Properties- internal properties#region Constructors- constructors#region Public Methods/Operators- public methods and operators#region Protected Methods/Operators- protected methods and operators#region Internal Methods/Operators- internal methods and operators#region Private Methods/Operators- private methods and operators
- Do not create empty regions. Only wrap members when there is at least one concrete member inside the region. If a type has no public methods, do not emit
#region Public Methods/Operatorsat all. - #region formatting: NO blank line after
#region Descriptionand NO blank line before#endregion. Implementation starts immediately after the region marker and ends immediately before endregion. - #region spacing: ALWAYS add ONE blank line between
#endregionand the next#region. Never place them adjacent without separation. - ALWAYS use template .github/templates/dotnet-class-template.cs for classes
- ALWAYS use template .github/templates/dotnet-interface-template.cs for interfaces
- Do not assemble new classes or interfaces directly from the inline examples in this instruction; use the templates as the concrete file skeleton and treat examples here as partial guidance only.
- Small focused methods
- Single responsibility classes
- Avoid god classes
- Ensure namespaces match folder structure exactly; for .NET files follow the repository default EOF policy from
.editorconfig(insert_final_newline = false) and never leave a trailing empty line at EOF
// follow .github/templates/dotnet-class-template.cs and .github/templates/dotnet-interface-template.cs when creating new types
// Replace placeholders, keep PascalCase naming, remove unused usings
namespace MyApp.Core
{
public sealed class OrderService
{
private readonly IRepository _repo;
public OrderService(IRepository repo) { _repo = repo; }
public Task<Order> GetAsync(Guid id) => _repo.FindAsync(id);
}
}
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 · 339 lines · 3,045 tokens per session scan A 5566c0705863
copilot-instructions dotnet-csharp.instructions.md is an instructions file published in the GitHub repository ThiagoGuislotti/copilot-instructions (2 stars, last pushed 2mo ago), licensed MIT. It adds 3,045 tokens to every session, about $0.0152 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-31.
Other instructions, from other repositories
maui integration-tests.instructions.md
Guidance for GitHub Copilot when working with .NET MAUI integration tests.
maui handler-patterns.instructions.md
Instructions for dotnet/maui, covering handler mapper and property patterns, property update flow, lifecycle management, null safety in callbacks and native defaults preservation.
maui performance-hotpaths.instructions.md
Instructions for dotnet/maui, covering performance-critical path rules, hot paths in maui, allocation avoidance, caching and invalidation and collection iteration.
cryptoexchange-net
Use CryptoExchange.Net abstractions when generating C#/.NET code that needs to work across MULTIPLE cryptocurrency exchanges (Binance + Bybit + OKX + Kraken + Coinbase + ...) — for arbitrage, best-execution routing, multi-exchange portfolio dashboards, exchange-agnostic trading bots, or comparison tools. Triggers on…
kraken-net
Use Kraken.Net when generating C#/.NET code that interacts with the Kraken cryptocurrency exchange, including Spot REST, Spot WebSocket v2, Futures REST, Futures WebSocket, account data, market data, order placement, Kraken Earn, local order books, dependency injection, or CryptoExchange.Net SharedApis. Triggers on…
Kucoin.Net copilot-instructions.md
Instructions for JKorf/Kucoin.Net, covering copilot instructions for kucoin.net, use kucoin.net, not raw http, client setup, result handling and api structure.