Use when System.Text.Json work is not a plain POCO round-trip — inspecting/mutating JSON without a model (including answering a few questions about an unknown payload), editing JSON whose shape is not controlled by the app, reading or writing at high…
richlander/dotnet-package-skills
SkillsMP has collected 34 skills from richlander/dotnet-package-skills. Open a skill to review its source and details.
- Latest recorded source activity
- SkillsMP catalog refreshed
- skills collected
- 34
- GitHub stars
- 1
- GitHub forks
- 0
Skills in this repository
Showing 34 of 34 collected skills.
Use when targeting recent .NET runtimes (8/9/10+) and you need the newer, stricter System.Text.Json behavior or APIs a model trained on older docs may not know — the JsonSerializerOptions.Strict preset, AllowDuplicateProperties, RespectNullableAnnotations /…
Use when migrating serialization code from Newtonsoft.Json (Json.NET) to System.Text.Json — replacing JsonConvert / JsonSerializerSettings / [JsonProperty] and reconciling the behavioral differences that compile clean but silently change output…
Use when System.Text.Json runs under Native AOT or trimming (PublishAot / PublishTrimmed), or when you want the faster, reflection-free serialization path — i.e. a JsonSerializerContext with [JsonSerializable]. Reflection-based JsonSerializer compiles but…
Use when the action itself is the hard part — especially a dedicated synchronous/asynchronous action class, Command.Action assignment, shared action bases, dependency-carrying actions, cancellation, Task<int>, exit codes, or splitting Parse(args) from…
Use when declaring or configuring System.CommandLine inputs — Option<T> and Argument<T>: names vs aliases, Description, HelpName, completion, Required, DefaultValueFactory, Arity, stable-2.x case-insensitive known values, collection parsing, existing…
Use when building or modifying a .NET command-line app with System.CommandLine (RootCommand, Command, Option<T>, Argument<T>) on the current GA / 2.x–3.x API. This library had a large breaking redesign at 2.0 GA, so training data and web snippets are FULL of…
Use when building or modifying a .NET command-line app with System.CommandLine (RootCommand, Command, Option<T>, Argument<T>) on the current GA / 2.x–3.x API. This library had a large breaking redesign at 2.0 GA, so training data and web snippets are FULL of…
Use when the action itself is the hard part — returning Task<int> from an async action, choosing the process exit code from what the action returns, and splitting Parse(args) from Invoke/InvokeAsync so the ParseResult can be inspected in between. SetHandler…
Use when building or modifying a .NET command-line app with System.CommandLine (RootCommand, Command, Option<T>, Argument<T>) on the current GA / 2.x–3.x API. This library had a large breaking redesign at 2.0 GA, so training data and web snippets are FULL of…
Use when declaring or configuring System.CommandLine inputs — Option<T> and Argument<T>: names vs aliases, Description, Required, DefaultValueFactory, Arity, restricting a value to a fixed set with AcceptOnlyFromAmong, requiring that a file or directory path…
Use when migrating a .NET CLI from System.CommandLine 2.0.0-beta (beta1–beta4) to the GA / 3.x API, or when you see removed beta symbols (SetHandler, AddOption, AddCommand, AddGlobalOption, BinderBase<T>, IConsole, HelpBuilder, getDefaultValue:, IsRequired,…
Use when targeting System.CommandLine 3.x specifically — the members added over 2.x GA (Argument<T>.CaptureRemainingTokens, the AcceptOnlyFromAmong(StringComparer,...) overload, RootCommand.HelpName) and the current TFM targeting (net10.0 + netstandard2.0, no…
Use when building a multi-command System.CommandLine app (nested Command hierarchy), sharing options across subcommands with Recursive (global) options, or customizing help output. HelpBuilder and IConsole are gone — custom help is a…
Use when System.Text.Json needs custom value handling — a JsonConverter<T> for a type STJ can't round-trip out of the box (custom dates, value objects, unions), string enums, or polymorphic (base/derived) serialization with a type discriminator.
Use when a .NET program (de)serializes JSON with System.Text.Json — reading/writing DTOs, configuring JsonSerializerOptions, migrating from Newtonsoft.Json, or hitting a compile-clean behavioral difference. The #1 trap: STJ matches property names…
Use when a report needs rich visual elements — bar charts, stacked/proportional bars, alert boxes, tree hierarchies, term/definition glossaries, or code blocks — instead of hand-drawn ASCII or manual Markdown. Markout ships these as data types (Metric,…
Use when a single value must render dense in Markdown but decompose into typed columns in TSV/JSONL — before/after changes, fractions, shares, percentages, segment breakdowns, deltas and goal polarity — or when building metric / role-matrix / verdict cards…
Use when a Markout report must adapt to its data — show or hide whole sections, drop table columns that are empty/uniform, filter output to a chosen set of sections, or render one model into several shapes ("one model, many views"). This is Markout's…
Use when generating Markdown or other structured output (plain text, ANSI, pretty tables, TSV/JSONL) from C# objects instead of hand-built strings — CLIs, tools, reports, agent output. Markout is a source-generated .NET serializer: it looks like…
Use when you need output other than default Markdown — plain text / Unicode, ANSI terminal (Spectre), pretty aligned tables, or TSV/JSONL exports — or when one model must serve several formats from a single render path (a CLI `--format` switch). Pick the…
Microsoft.Extensions.AI (IChatClient) usage and migration gotchas. Use when building or fixing chat clients, tool/function calling, or middleware pipelines with Microsoft.Extensions.AI — above all that automatic tool calling requires building the client with…
Lightweight, AOT-friendly NuGet client library for .NET: query versions, download and extract .nupkg packages, and search nuget.org. It is NOT the official NuGet.Protocol / NuGet.Client API — the surface is much smaller and the shapes differ. Key rules: you…
Source-generated .NET serializer that renders annotated objects as Markdown. Reach for it when a CLI or tool needs structured, readable output instead of hand-built strings. It looks like System.Text.Json source generation but the rules differ — there is NO…
The complete Markout coding-agent integration guide: installation, the required 3-part source-generation pattern (annotate, register on a partial MarkoutSerializerContext, serialize through it), the full attribute reference (including MarkoutLink,…
Experiment harness shell for the custom MCP delivery environment on the Markout task. Carries no inline grounding; curated package context is delivered only via the get_package_context MCP tool when the agent chooses to call it (gate under test =…
Experiment harness shell: attaches the real NuGet.Mcp.Server to the Markout task. Carries no inline grounding; package context is delivered only via the real server's get_package_context tool (README or the package's shipped agent doc, depending on what ships…
Experiment harness shell for the MCP delivery environment (ambiguous multi-package triage). Carries no inline grounding; package context for any referenced package is delivered only via the get_package_context / summarize_package_context MCP tools when the…
Experiment harness shell for the MCP delivery environment (multi-package triage). Carries no inline grounding; package context for any referenced package is delivered only via the get_package_context MCP tool when the agent chooses to call it.
Experiment harness shell that attaches the real upstream NuGet MCP server (NuGet.Mcp.Server). Carries no inline grounding; package context is delivered only via the server's get_package_context tool when the agent chooses to call it.
How to fetch a NuGet package's own authoritative docs with the dotnet-inspect CLI before writing or editing code against it. Use whenever a task requires calling or implementing against a NuGet package's API — especially a package you are not fully confident…
Experiment harness shell for the MCP delivery environment. Carries no inline grounding; package context is delivered only via the get_package_context MCP tool when the agent chooses to call it.
Official System.CommandLine package README and getting-started documentation. System.CommandLine provides robust support for command-line parsing, invocation, and shell completions in .NET applications. Use when building or working with System.CommandLine…
Experiment harness shell for the MCP delivery environment (resident-API probe). Carries no inline grounding; System.Text.Json context is delivered only via the get_package_context MCP tool when the agent chooses to call it.