make-wpf-service

make-wpf-service is a skill for Claude Code from christian289/dotnet-with-claudecode. It costs 60 tokens per session (1,175 once invoked), scanned A, original, MIT.

A code generator for creating a WPF service, its optional interface, and its dependency-injection registration. WPF is Microsoft's desktop UI framework for Windows.

In plain words
What is it for?
Use it to scaffold services such as data-export or file-management services, with or without a separate interface.
Why use it?
It removes repetitive setup when adding a service layer to a WPF application.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter. Also seen: names the AskUserQuestion tool; positional $N argument.

Part of the wpf-dev-pack plugin — 28 skills, 10 agents, 4 hooks, 2 MCP servers shipped together

Good fit Use it to scaffold services such as data-export or file-management services, with or without a separate interface.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/christian289/dotnet-with-claudecode/make-wpf-service
Install

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.

Any agent
npx skills add christian289/dotnet-with-claudecode --skill make-wpf-service
Clone the repo
git clone --depth 1 https://github.com/christian289/dotnet-with-claudecode

Made for: Claude Code.

Or install wpf-dev-pack, the plugin that ships this one along with the rest of its 28 skills, 10 agents, 4 hooks, 2 MCP servers.

Wrote 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.

agentmods badge for make-wpf-service

README.md
[![agentmods](https://agentmods.dev/badge/skills/christian289/dotnet-with-claudecode/make-wpf-service/github.svg)](https://agentmods.dev/skills/christian289/dotnet-with-claudecode/make-wpf-service)
Your own site
<a href="https://agentmods.dev/skills/christian289/dotnet-with-claudecode/make-wpf-service"><img src="https://agentmods.dev/badge/skills/christian289/dotnet-with-claudecode/make-wpf-service/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.

agentmods 80×15 button for make-wpf-service

Your own site · 80×15
<a href="https://agentmods.dev/skills/christian289/dotnet-with-claudecode/make-wpf-service"><img src="https://agentmods.dev/badge/skills/christian289/dotnet-with-claudecode/make-wpf-service.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 60 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,175 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00060 $0.01175
Opus 5 $0.00030 $0.00588
Sonnet 5 $0.00012 $0.00235
Haiku 4.5 $0.00006 $0.00118

Measured 6d ago against content hash c150c7399e4c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

make-wpf-service 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 6d 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.

wpf-dev-pack/skills/make-wpf-service/SKILL.md · 169 lines

How it starts

The opening of the file, as written. The whole thing — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.

WPF Service Generator

If $0 is empty, use the AskUserQuestion tool to ask: "Enter the Service name (e.g., DataExport, FileManager)". Do NOT proceed until a valid name is provided. Use the response as the ServiceName for all subsequent steps.

Generate a $0Service with interface + implementation class + DI registration. Automatically places files in the correct project based on solution structure. If --no-interface is appended, skip interface generation.

  • Replace {Namespace} with the project's root namespace detected from csproj or existing code.

Usage

# Interface + Implementation + DI registration
/wpf-dev-pack:make-wpf-service DataExport

# Implementation only (no interface) — for simple services
/wpf-dev-pack:make-wpf-service FileManager --no-interface

Execution Procedure

Step 1: Parse $0

  • $0 is the service name (without Service suffix — auto-appended)
    • e.g., DataExportIDataExportService.cs + DataExportService.cs
  • --no-interface flag: Skip interface generation (class-only)

Step 2: Locate Target Projects

Search for solution file and identify projects by naming convention:

Project Suffix Purpose Files Placed
.Abstractions Interfaces I$0Service.cs
.Core Business logic $0Service.cs (UI-independent)
.WpfServices WPF-dependent services $0Service.cs (if needs WPF types)
.WpfApp Application DI registration in App.xaml.cs

Fallback rules (keep the interface visible to both the implementation and the app):

  • No .Abstractions project → place the interface in .Core (beside the implementation). Do NOT put it in the WPF app project: .Core cannot reference the app, so an interface placed there is unreachable from the implementation in .Core.
  • No .Core or .WpfServices (no separate logic project) → place both interface and implementation in the app's Services/ folder.
  • Single project solution → both files in Services/ folder.

Read the full file on GitHub · 169 lines

Changes

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.

  1. 6d ago First seen · 169 lines · 60 tokens per session scan A c150c7399e4c

Subscribe to this mod's changes

make-wpf-service is a skill published in the GitHub repository christian289/dotnet-with-claudecode (41 stars, last pushed 1mo ago), licensed MIT. It adds 60 tokens to every session and 1,175 once invoked, about $0.0003 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.

Related

Other skills, from other repositories

mapsui

Use when embedding interactive 2D maps in .NET desktop (WinForms/WPF) or mobile (MAUI) applications — tile layers, vector features, map controls. Mapsui: cross-platform .NET map component library.

znlgis/opengis-skills · 49 tokens

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…

managedcode/dotnet-skills · 122 tokens

mvvm

Implement the Model-View-ViewModel pattern in .NET applications with proper separation of concerns, data binding, commands, and testable ViewModels using MVVM Toolkit. USE FOR: implementing UI separation with Model-View-ViewModel; using MVVM Toolkit (CommunityToolkit.Mvvm) for ViewModels; designing testable UI…

managedcode/dotnet-skills · 120 tokens

sharpconsoleui

Use SharpConsoleUI to build full terminal (TUI) applications in .NET — equally suited to full-screen single-window apps and multi-window desktops with overlapping draggable windows — using a compositor, a DOM layout engine, and 40+ reactive controls (data tables, tree views, forms, an embedded PTY terminal, markdown…

managedcode/dotnet-skills · 190 tokens

blazor

Build and review Blazor applications across server, WebAssembly, web app, and hybrid scenarios with correct component design, state flow, rendering, and hosting choices. USE FOR: building interactive web UIs with C# instead of JavaScript; choosing between Server, WebAssembly, or Auto render modes; designing component…

managedcode/dotnet-skills · 119 tokens

winforms

Build, maintain, or modernize Windows Forms applications with practical guidance on designer-driven UI, event handling, data binding, MVP separation, and migration to modern .NET. USE FOR: working on Windows Forms UI, event-driven workflows, or classic LOB applications; migrating WinForms from .NET Framework to modern…

managedcode/dotnet-skills · 122 tokens