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 joslat/maf-doctor --skill maf-obsolete-api-registrygit clone --depth 1 https://github.com/joslat/maf-doctorWrote 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/joslat/maf-doctor/maf-obsolete-api-registry)<a href="https://agentmods.dev/skills/joslat/maf-doctor/maf-obsolete-api-registry"><img src="https://agentmods.dev/badge/skills/joslat/maf-doctor/maf-obsolete-api-registry/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/joslat/maf-doctor/maf-obsolete-api-registry"><img src="https://agentmods.dev/badge/skills/joslat/maf-doctor/maf-obsolete-api-registry.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.00100 | $0.00597 |
| Opus 5 | $0.00050 | $0.00298 |
| Sonnet 5 | $0.00020 | $0.00119 |
| Haiku 4.5 | $0.00010 | $0.00060 |
Grade A, and why
maf-obsolete-api-registry 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 12d 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 — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Obsolete API Registry
This registry is the source of truth for all known [Obsolete] APIs in MAF 1.3.0.
How to Use This Skill
- A
cs0618-hunterscan has produced one or more CS0618 warning lines - Extract the obsolete method name from the warning text
- Look it up in
registry.yaml(in this directory) - Apply the
replacement_patternexactly as documented - If the warning is NOT in the registry — add it (see "Adding New Entries" below)
registry.yaml Format
- id: <unique identifier>
package: <NuGet package name>
version_introduced: <MAF version where this became obsolete>
type: <fully-qualified type name>
method: <method name>
obsolete_signature: <exact C# signature of the obsolete overload>
replacement_signature: <exact C# signature of the correct overload>
argument_order_change: <true|false>
fix_description: <one-line description of what to change>
example_before: |
<exact code to find>
example_after: |
<exact replacement code>
cs_warning: CS0618
guide_section: <section number in maf-migration-guide>
notes: <any additional context>
Adding New Entries
When cs0618-hunter finds a CS0618 warning that is NOT in registry.yaml:
- Open
registry.yaml - Add a new entry using the format above
- Fill in the obsolete and replacement signatures from the compiler warning message
- Test the fix — confirm the warning disappears after applying it
- Commit the updated
registry.yamlalongside your migration changes
This is how the registry grows over time — each migration run that finds a new obsolete API enriches the registry for future runs.
Current Registry Contents
See registry.yaml for the full machine-readable data. Current entries:
| ID | Method | Obsolete signature | Replacement |
|---|---|---|---|
MAF130-FAN-IN-001 |
WorkflowBuilder.AddFanInBarrierEdge |
(ExecutorBinding target, IEnumerable<ExecutorBinding> sources) |
(IEnumerable<ExecutorBinding> sources, ExecutorBinding target) |
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.
- 12d ago First seen · 60 lines · 100 tokens per session scan A 11d46d0f0458
maf-obsolete-api-registry is a skill published in the GitHub repository joslat/maf-doctor (14 stars, last pushed 25d ago), licensed MIT. It adds 100 tokens to every session and 597 once invoked, about $0.0005 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 skills, from other repositories
winui-setup
Install and verify the prerequisites the win-dev-skills WinUI 3 toolchain depends on — .NET SDK 8.0.100+, WinApp CLI 0.6+, and Developer Mode. Use only when the user explicitly asks to set up or repair the toolchain. Do not invoke automatically when another skill reports a missing prerequisite; tell the user what is…
winui-wpf-migration
Migrate WPF applications to WinUI 3 — namespace replacement (System.Windows → Microsoft.UI.Xaml), control mapping (DataGrid→ListView, WrapPanel→ItemsRepeater, TabControl→TabView), threading (Dispatcher→DispatcherQueue), imaging (System.Drawing→BitmapImage), MVVM conversion to CommunityToolkit.Mvvm, and…
migrate-mstest-v3-to-v4
Use this skill before answering, planning, or editing any MSTest 3.x-to-4.x upgrade or post-upgrade failure. Triggers include "MSTest v4 breaking changes"; CS0507/CS0103/CS1061/CS1615; ExecuteAsync, CallerInfo, DisplayName, or custom TestMethodAttribute; ClassCleanupBehavior; ContainsKey; ThrowsExactly or…
wpf
Build and modernize WPF applications on .NET with correct XAML, data binding, commands, threading, styling, and Windows desktop migration decisions. USE FOR: working on WPF UI, MVVM, binding, commands, or desktop modernization; migrating WPF from .NET Framework to .NET; integrating newer Windows capabilities into a…
worker-services
Build long-running .NET background services with BackgroundService, Generic Host, graceful shutdown, configuration, logging, and deployment patterns suited to workers and daemons. USE FOR: background services; scheduled workers; hosted services; worker extraction; graceful shutdown, health checks, and service hosting…
mcp
Build or consume Model Context Protocol (MCP) servers and clients in .NET using the official MCP C# SDK, including stdio, Streamable HTTP, tools, prompts, resources, and capability negotiation. USE FOR: .NET MCP servers or clients; stdio versus HTTP transport choices; tools, resources, prompts, completions, and…