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 skills add jxoesneon/Ciel --skill dotnet-developmentgit clone --depth 1 https://github.com/jxoesneon/CielWrote 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/skills/jxoesneon/ciel/dotnet-development)<a href="https://agentmods.dev/skills/jxoesneon/ciel/dotnet-development"><img src="https://agentmods.dev/badge/skills/jxoesneon/ciel/dotnet-development/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/skills/jxoesneon/ciel/dotnet-development"><img src="https://agentmods.dev/badge/skills/jxoesneon/ciel/dotnet-development.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.00024 | $0.00439 |
| Opus 5.5 | $0.00010 | $0.00176 |
| Sonnet 5.5 | $0.00005 | $0.00088 |
| Haiku 4.5 | $0.00002 | $0.00044 |
Grade A, and why
dotnet-development 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 26d 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.
What it actually says
CIEL ADAPTATION: .NET Development (Modern & Typed)
This skill formalizes the development of robust C# applications using .NET 8+. it prioritizes immutability, explicit DI, and async efficiency.
Idiomatic Standards
- Immutability First: Use
public sealed recordfor all DTOs and Value Objects. Useinitsetters for optional properties. - Explicit Nullability: Enable
<Nullable>enable</Nullable>. Use?for optional types. - Async Efficiency: Use
awaitall the way down. ALWAYS passCancellationTokento async I/O calls. - DI Discipline: Depend on abstractions (
IInterface). Prohibit manualnew Service()in business logic.
ASP.NET Core Patterns
- Minimal APIs: Use
MapGroupto organize routes. UseTypedResultsfor unit-testable responses. - Options Pattern: Map config sections to
sealed classoptions. Inject viaIOptions<T>. - Middleware: Use for cross-cutting concerns (Logging, Auth, Performance).
TDD & Verification
- Framework: xUnit + FluentAssertions.
- Mocking: Use NSubstitute for clean, interface-based mocking.
- Integration: Use WebApplicationFactory and Testcontainers for real infrastructure testing (SQL, Redis).
- Gate: Run
dotnet testwith 80% coverage check.
Anti-Patterns
- Async Void: Using
async voidexcept for top-level event handlers. - Blocking on Async: Using
.Resultor.Wait()(causes deadlocks). - Fat Controllers: Putting business logic in API controllers instead of Services or MediatR handlers.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 26d ago Changed · -13 lines 6658ca1e1b4b
- 1mo ago First seen · 52 lines · 24 tokens per session scan A af08efc46c3d
dotnet-development is a skill published in the GitHub repository jxoesneon/Ciel (1 stars, last pushed 3d ago), licensed Apache-2.0. It adds 24 tokens to every session and 439 once invoked, about $0.0001 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-09-03.
Other skills, from other repositories
dotnet-aspnetcore-service
Use when building or extending a C# service on ASP.NET Core - Minimal APIs or controllers, DI and options, EF Core with Npgsql, ProblemDetails, HttpClientFactory resilience, async and cancellation.
dotnet-patterns
Idiomatic C# and .NET patterns, conventions, dependency injection, async/await, and best practices for building robust, maintainable .NET applications.
azure-maps-search-dotnet
Azure Maps SDK for .NET. Location-based services including geocoding, routing, rendering, geolocation, and weather. Use for address search, directions, map tiles, IP geolocation, and weather data. Triggers: "Azure Maps", "MapsSearchClient", "MapsRoutingClient", "MapsRenderingClient", "geocoding .NET", "route…
azure-ai-voicelive-dotnet
Azure AI Voice Live SDK for .NET. Build real-time voice AI applications with bidirectional WebSocket communication. Use for voice assistants, conversational AI, real-time speech-to-speech, and voice-enabled chatbots. Triggers: "voice live", "real-time voice", "VoiceLiveClient", "VoiceLiveSession", "voice assistant…
omnistudio-callable-apex-generate
Salesforce Industries Common Core (OmniStudio/Vlocity) Apex callable generation and review skill with 120-point scoring. Use when creating, reviewing, or migrating Industries callable Apex implementations. TRIGGER when: user creates or reviews System.Callable classes, migrates VlocityOpenInterface or…
managedcode-storage
Use ManagedCode.Storage when a .NET application needs a provider-agnostic storage abstraction with explicit configuration, container selection, upload and download flows, and backend-specific integration kept. USE FOR: integrating ManagedCode.Storage into a .NET application; reviewing how a project abstracts file or…