<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf" -->

---
title: How I Use dotnet-claude-kit: Making Claude Code Write...
description: dotnet-claude-kit is a free, MIT-licensed Claude Code plugin built to fix four recurring failures when using Claude on .NET projects: legacy patterns,...
canonical: https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How I Use dotnet-claude-kit: Making Claude Code Write Senior-Level… | daily.dev
og:description: dotnet-claude-kit is a free, MIT-licensed Claude Code plugin built to fix four recurring failures when using Claude on .NET projects: legacy patterns,...
og:url: https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf
og:image: https://api.daily.dev/og/posts/HR5ocqaqf.png
og:image:alt: How I Use dotnet-claude-kit: Making Claude Code Write Senior-Level…
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How I Use dotnet-claude-kit: Making Claude Code Write Senior-Level…

**[Code with Mukesh](https://daily.dev/sources/codewithmukesh)** · [@iammukeshm](https://daily.dev/iammukeshm) · 18 min read · 10 upvotes · 4 comments

## Summary

dotnet-claude-kit is a free, MIT-licensed Claude Code plugin built to fix four recurring failures when using Claude on .NET projects: legacy patterns, architecture roulette, token-expensive file reading, and lack of quality gates. It ships 47 skills, 10 specialist agents, 16 slash commands, and a 20-tool Roslyn MCP server that lets Claude query the C# compiler semantically instead of reading source files (30–150 tokens vs 500–2,000 per file). The everyday workflow centers on four commands: /spec, /plan, /scaffold, and /verify. The Roslyn MCP server is highlighted as the highest-value component, enabling roughly 10x token savings on codebase exploration. The kit supports Vertical Slice, Clean Architecture, DDD, and Modular Monolith patterns, and includes maintenance commands for code review, dependency auditing, architecture drift detection, and cleanup. The author built the kit and openly acknowledges its opinionated defaults, each backed by ADRs.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://codewithmukesh.com/blog/dotnet-claude-kit-guide>

## Questions this post answers

### How much do Roslyn MCP tools reduce token usage compared to Claude reading source files directly in a .NET project?

A semantic query through the Roslyn MCP server costs roughly 30 to 150 tokens, compared to 500 to 2,000 tokens for reading the source file it replaces, a roughly 10x reduction. Across a full session of codebase exploration, measured usage showed 60 to 80 percent fewer tokens overall on a real .NET solution.

_For teams optimizing AI agent costs on large .NET codebases, daily.dev surfaces practical token-efficiency techniques like this._

### How do I install dotnet-claude-kit for Claude Code on a .NET 10 project?

Install the Roslyn MCP server as a global dotnet tool with dotnet tool install -g CWM.RoslynNavigator, then inside a Claude Code session run /plugin marketplace add codewithmukesh/dotnet-claude-kit followed by /plugin install dotnet-claude-kit. Finally run /dotnet-init in the project to generate a customized CLAUDE.md. The whole process takes about two minutes and requires the .NET 10 SDK, with Docker optional for Testcontainers-based tests.

_Developers setting up AI coding assistants for .NET can track setup guides like this on daily.dev._

### Which popular .NET NuGet packages changed their commercial licensing terms and could break a project during an update?

MediatR 13+, MassTransit 9+, FluentAssertions 8+, and AutoMapper 15+ all changed licensing terms to commercial models. Running an automatic update-all across dependencies can shift a project's legal position before any code changes, so dependency health checks should flag these version thresholds specifically rather than just checking for stale packages or CVEs.

_Developers managing .NET dependency upgrades can find licensing and versioning gotchas like these on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@sai80** · 0 upvotes

> You could just learn to code and save the money

**@kartiknvj** · 0 upvotes

> The Roslyn MCP number is the part worth pulling out: 30 to 150 tokens for a symbol lookup against 500 to 2,000 for the whole file changes what fits in a single pass. Giving the model a compiler-backed index also means the answer to "who calls this" is exact instead of inferred. Have you measured whether the smaller context changed edit accuracy, or mainly cost?

## Similar posts on daily.dev

- [20 Advanced Claude Code Tips for .NET Developers](https://daily.dev/posts/20-advanced-claude-code-tips-for-net-developers-pvzjo58ni) · Code with Mukesh · 8 upvotes · 0 comments
- [Onboarding Claude Code like a new developer: Lessons from 17 years of development](https://daily.dev/posts/onboarding-claude-code-like-a-new-developer-lessons-from-17-years-of-development-dna8a19yg) · Claude · 9 upvotes · 0 comments
- [How Claude Skills Replaced Our Documentation](https://daily.dev/posts/how-claude-skills-replaced-our-documentation-lfxb2loug) · DEV · 7 upvotes · 0 comments
- [How We Use Claude Code at Serokell](https://daily.dev/posts/how-we-use-claude-code-at-serokell-xqpyzepya) · Serokell · 0 upvotes · 0 comments

---

Tags: [#.net](https://daily.dev/tags/.net), [#c#](https://daily.dev/tags/c#), [#mcp](https://daily.dev/tags/mcp), [#claude-code](https://daily.dev/tags/claude-code)

[View this post on daily.dev](https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How I Use dotnet-claude-kit: Making Claude Code Write Senior-Level…","url":"https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf"},"datePublished":"2026-07-25T01:42:32.339Z","dateModified":"2026-09-13T19:00:18.294Z","description":"dotnet-claude-kit is a free, MIT-licensed Claude Code plugin built to fix four recurring failures when using Claude on .NET projects: legacy patterns,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f5b9d38170182f98310521ce69a42e3e?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f5b9d38170182f98310521ce69a42e3e?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Code with Mukesh","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Person","name":"Mukesh Murugan","url":"https://daily.dev/iammukeshm","image":"https://lh3.googleusercontent.com/a-/AFdZucr2UBIpOeVTWohK8XKuXPOutNG6hgyQMz7CYj7LEA=s100","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":790}},"commentCount":4,"discussionUrl":"https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":10},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":4}],"keywords":".net,c#,mcp,claude-code","timeRequired":"PT18M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Code with Mukesh","item":"https://daily.dev/sources/codewithmukesh"},{"@type":"ListItem","position":3,"name":"How I Use dotnet-claude-kit: Making Claude Code Write Senior-Level…"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf","comment":[{"@type":"Comment","text":"You could just learn to code and save the money","datePublished":"2026-07-28T01:48:35.542Z","url":"https://daily.dev/posts/HR5ocqaqf#c-gaJq3CbR1","author":{"@type":"Person","name":"Sai","url":"https://daily.dev/sai80","image":"https://media.daily.dev/image/upload/s--O0TOmw4y--/f_auto/v1715772965/public/noProfile"}},{"@type":"Comment","text":"The Roslyn MCP number is the part worth pulling out: 30 to 150 tokens for a symbol lookup against 500 to 2,000 for the whole file changes what fits in a single pass. Giving the model a compiler-backed index also means the answer to “who calls this” is exact instead of inferred. Have you measured whether the smaller context changed edit accuracy, or mainly cost?","datePublished":"2026-07-27T18:44:20.382Z","url":"https://daily.dev/posts/HR5ocqaqf#c-qj2foPoDa","author":{"@type":"Person","name":"kartik-nvjk","url":"https://daily.dev/kartiknvj","image":"https://media.daily.dev/image/upload/s--3gGgsVCw--/f_auto/v1781456774/avatars/avatar_TvTVeiMdkRCqWUDullFmy?_a=BAMAMiWQ0"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/how-i-use-dotnet-claude-kit-making-claude-code-write-senior-level--hr5ocqaqf#faq","mainEntity":[{"@type":"Question","name":"How much do Roslyn MCP tools reduce token usage compared to Claude reading source files directly in a .NET project?","acceptedAnswer":{"@type":"Answer","text":"A semantic query through the Roslyn MCP server costs roughly 30 to 150 tokens, compared to 500 to 2,000 tokens for reading the source file it replaces, a roughly 10x reduction. Across a full session of codebase exploration, measured usage showed 60 to 80 percent fewer tokens overall on a real .NET solution. For teams optimizing AI agent costs on large .NET codebases, daily.dev surfaces practical token-efficiency techniques like this."}},{"@type":"Question","name":"How do I install dotnet-claude-kit for Claude Code on a .NET 10 project?","acceptedAnswer":{"@type":"Answer","text":"Install the Roslyn MCP server as a global dotnet tool with dotnet tool install -g CWM.RoslynNavigator, then inside a Claude Code session run /plugin marketplace add codewithmukesh/dotnet-claude-kit followed by /plugin install dotnet-claude-kit. Finally run /dotnet-init in the project to generate a customized CLAUDE.md. The whole process takes about two minutes and requires the .NET 10 SDK, with Docker optional for Testcontainers-based tests. Developers setting up AI coding assistants for .NET can track setup guides like this on daily.dev."}},{"@type":"Question","name":"Which popular .NET NuGet packages changed their commercial licensing terms and could break a project during an update?","acceptedAnswer":{"@type":"Answer","text":"MediatR 13+, MassTransit 9+, FluentAssertions 8+, and AutoMapper 15+ all changed licensing terms to commercial models. Running an automatic update-all across dependencies can shift a project's legal position before any code changes, so dependency health checks should flag these version thresholds specifically rather than just checking for stale packages or CVEs. Developers managing .NET dependency upgrades can find licensing and versioning gotchas like these on daily.dev."}}]}
```

