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 skills/managedcode/dotnet-skills/sepnpx skills add managedcode/dotnet-skills --skill sepgit clone --depth 1 https://github.com/managedcode/dotnet-skillsWrote 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/managedcode/dotnet-skills/sep)<a href="https://agentmods.dev/skills/managedcode/dotnet-skills/sep"><img src="https://agentmods.dev/badge/skills/managedcode/dotnet-skills/sep.svg" alt="Measured on agentmods" 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.00113 | $0.01319 |
| Opus 5 | $0.00056 | $0.00660 |
| Sonnet 5 | $0.00023 | $0.00264 |
| Haiku 4.5 | $0.00011 | $0.00132 |
Grade A, and why
sep 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- dotnet-sep — 91% identical, 6 lines differ
How it starts
The opening of the file, as written. The whole thing — 144 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Sep for .NET separated values
Trigger On
- delimited data needs are performance-sensitive and allocation-aware
- project needs explicit control over separator inference, escaping, trimming, and header behavior
- reading/writing large or long-lived file pipelines in ML, ETL, or analytics workloads
- startup/perf tests require AOT/trimming-friendly CSV/TSV processing
Install
- NuGet:
dotnet add package Sepdotnet add package Sep --version <version>
- XML package reference:
<PackageReference Include="Sep" Version="x.y.z" />
- Verify baseline support by checking the package page:
- Source:
Workflow
flowchart LR
A[Input source: file/text/stream] --> B[Sep.Reader or Sep.New(...).Reader]
B --> C[SepReaderOptions]
C --> D[Rows -> Cols -> Span/Parse]
D --> E[Transform and validate]
E --> F[SepWriter via SepWriterOptions]
F --> G[To file/text output]
- Decide schema shape
- header present or no header
- separator known (
;,,, tab, custom) or infer from first row - row/column quoting rules
- Build reader with
Sep.Reader(...)and explicit options only where needed:Sep.Reader()for inferred separator from header-like first rowSep.New(',').Reader(...)for explicit separator modeSep.Reader(o => o with { HasHeader = false })if header is absent
- Read rows and map columns as
ReadOnlySpan<char>first, convert only when needed. - For output, use
reader.Spec.Writer()when you need the same separator/culture as input. - Control writer behavior with
Sep.Writer(...)andSepWriterOptions(WriteHeader,Escape,DisableColCountCheck). - Add async only where it brings value and your runtime is C# 13 / .NET 9+ for
await foreachover async reader rows. - Use
ParallelEnumeratefor CPU-heavy transformations only after benchmarking single-threaded baseline.
Install and read patterns
What ships with it
2 files 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.
- 2d ago First seen · 144 lines · 113 tokens per session scan A 537a3231dc6d
sep is a skill published in the GitHub repository managedcode/dotnet-skills (477 stars, last pushed yesterday), licensed MIT. It adds 113 tokens to every session and 1,319 once invoked, about $0.0006 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-09-03.
Other skills, from other repositories
winui-packaging
MSIX packaging, code signing, and distribution for WinUI 3 apps — build for release, certificate generation (winapp cert generate), certificate trust, code signing (winapp sign), self-contained deployment, CI/CD with GitHub Actions, and Microsoft Store submission. Use when preparing for release, creating MSIX…
kg-builder
Designs and builds knowledge graphs from documents — ontology modeling with domain/range constraints, entity/relation/event extraction, entity resolution, provenance and supersession, and GraphRAG serving. Use when asked to "build a knowledge graph", "design an ontology", "extract entities and relations", "deduplicate…
ollama-optimizer
Optimize Ollama configuration for the current machine's hardware. Use when asked to speed up Ollama, tune local LLM performance, or pick models that fit available GPU/RAM. Don't use for LM Studio, llama.cpp, vLLM, or hosted-API LLM providers.
PuerTS Agent Development Guide
Guide for developing LLM agents based on PuerTsAgent framework — covers resource directory structure, system-prompt, skills, builtin modules, and best practices.
iterate-from-user
Source the next ML experiment proposal from the user via one of three entry points selected by AskUserQuestion: (a) a scientific article URL the agent must read and synthesize, (b) a resource link or path (GitHub issue / spec file / reference repo), or (c) free-text the user types directly. In every branch, the agent…
observability-debugging
Feilsøk produksjonsproblemer med Mimir-metrikker, Loki-logger og Tempo-traces — strukturerte debugging-workflows for Nav-utviklere.