Hello ๐, Iโm a software engineer with more than 10 years experience. I have a dream to quit 9 to 5 job to run my own business. At first Iโd like to start self-entrepreneurship related to software consulting, development and delivery. โฌ๏ธ
Hello ๐, Iโm a software engineer with more than 10 years experience. I have a dream to quit 9 to 5 job to run my own business. At first Iโd like to start self-entrepreneurship related to software consulting, development and delivery. โฌ๏ธ
Microsoft quietly published 99 ready-made .NET skills for AI Agents.
Most .NET developers have no idea they exist ๐
These are not toy examples
They are official and open-sourced.
And they work across Claude Code, Codex, GitHub Copilot, and Cursor.
Quick reminder first.
A skill is a folder of instructions that your AI loads only when a task matches.
You write the recipe once, and it follows your steps every time.
Microsoft ships these in the dotnet/skills repo: 14 plugins, around 95 skills.
A plugin is just a group of related skills.
Here are 5 worth installing today:
๐ญ. ๐ฑ๐ผ๐๐ป๐ฒ๐-๐ฑ๐ฎ๐๐ฎ
The optimizing-ef-core-queries skill finds N+1 problems, fixes tracking modes, and removes common EF Core performance traps.
๐ฎ. ๐ฑ๐ผ๐๐ป๐ฒ๐-๐๐ฒ๐๐
The largest plugin: 22 skills for running, filtering, and migrating tests between frameworks.
๐ฏ. ๐ฑ๐ผ๐๐ป๐ฒ๐-๐๐ฝ๐ด๐ฟ๐ฎ๐ฑ๐ฒ
Migrates a project from .NET 8 to 10, and turns on nullable reference types.
๐ฐ. ๐ฑ๐ผ๐๐ป๐ฒ๐-๐ฎ๐๐ฝ๐ป๐ฒ๐
Creates Web API endpoints and file-upload endpoints in Minimal APIs the right way.
๐ฑ. ๐ฑ๐ผ๐๐ป๐ฒ๐-๐ฎ๐ถ
Builds, debugs, and tests MCP servers with the C# SDK.
Installing them in Claude Code takes 4 steps:
https://t.co/j9AhJjYMUe
But here is the catch.
These skills know .NET.
But they do not know YOUR project.
They cannot tell where you put your entities, or that you don't use repositories, or that your handlers return Result<T>.
That is the gap your own skills fill.
โ Microsoft's skills โ general .NET tasks
โ Your own skills โ your house rules and conventions
Pair them, and Claude (or other AI agent) has both the framework and your style.
In my newest article, I break down the whole system:
โ What a skill is and the building blocks inside one
โ How to write the description so a skill triggers at the right moment
โ How to encode your conventions: rich entities, no repositories, full features
โ Using the Skill Creator to bundle your real code files
โ The complete Microsoft dotnet/skills setup
Read the full guide here:
๐ https://t.co/j9AhJjYMUe
Have you tried any of Microsoft's .NET skills yet, or is this the first you're hearing of them?
โโ
๐๐ฒ๐๐ ๐๐ผ๐ผ๐น๐ ๐ผ๐ณ ๐๐ต๐ฒ ๐๐ฒ๐ฒ๐ธ:
Redis Iris is a real-time context engine that transforms fragmented data into live, agent-ready context and memory. Try for free today: https://t.co/H5HavL4t5t
exe[.]dev runs persistent VMs for the agent era. SSH and root, plus HTTPS and auth out of the box. Secrets injected at the network edge stay out of the LLM's hands. Run agents, internal tools, side projects, anything: https://t.co/TMnjphLFpS
โโ
โป๏ธ Repost to help other .NET developers discover these skills
โ Follow me ( @AntonMartyniuk ) to improve your .NET and Architecture Skills
10 Secret features in ASP .NET Core that Senior developers use, but middles and juniors don't know.
What are they? ๐
1๏ธโฃ Problem Details (RFC 9457)
Built-in, standard error response format for APIs. Simply use Results.Problem to send clean, standardized error messages.
2๏ธโฃ Strongly Typed Configuration with IOptionsSnapshot
Hot reload configuration changes instantly, even after your app has started. Great for updating settings without restarting your app.
โณ https://t.co/mfkFiyG49q
3๏ธโฃ Output Caching Middleware
Quickly cache responses to speed up your API. Reduces database calls and makes your app respond faster with minimal setup.
4๏ธโฃ Method Injection in Controllers
You don't need [FromServices] anymore โ inject dependencies directly into your Controller methods.
5๏ธโฃ HttpLogging Middleware
Automatically logs HTTP requests and responses. Essential for troubleshooting and monitoring your APIs without manual logging.
โณ https://t.co/IPBaEYL5OA
6๏ธโฃ Microsoft Identity
Easily add authentication and authorization to your apps with built-in tools. Simplifies security setup, especially when working with EF Core.
โณ https://t.co/qSCryxMWgU
7๏ธโฃ Dynamic Attribute-based Authorization
Customize user permissions dynamically using IAuthorizationRequirement and AuthorizationHandler. Allows complex authorization rules with dynamic flexibility.
โณ https://t.co/qnjnEqhINh
8๏ธโฃ Server-Sent Events (SSE) (.NET 10)
Send real-time updates from your server to clients without WebSockets complexity. Great for live notifications, updates, and simple real-time scenarios.
โณ https://t.co/MSASXIScDY
9๏ธโฃ HybridCache
Combines local and distributed caching automatically. Speeds up data access and improves reliability without complex configurations.
โณ https://t.co/w1Jf3zXM6a
๐ Feature Management
Turn features on or off without redeploying your app. Ideal for feature toggles, step-by-step deployments and A/B testing.
Did you know about these secret ASP .NET Core features? Which surprised you the most? ๐
โ
โป๏ธ Repost to help your network learn about ASP .NET Core
โ Follow me ( @AntonMartyniuk ) for more
#dotnet
C# Scripting is here, and it's awesome!
You can now run C# (.cs) files directly, without a project.
Just type dotnet run app.cs, it's all you need.
Here's everything you should know: https://t.co/uUE7W7EAp0
What are the best practices for API error handling?
I always start with this - API errors need to be presented in a consistent way.
- Provide a clear and consistent structure for your error response
- Implement logging and monitoring
- Use descriptive error messages
- Document common errors
- Donโt leak sensitive data
Wouldnโt it be great to have a standard for returning API errors?
Surprise - there is!
Itโs called Problem Details.
You can learn more about API error handling best practices here: https://t.co/q7CVlfcDwy
How many ways to implement Idempotency do you know?
These are the 4 most common I have seen.
1. Database Unique Constraints
This method fits well with your love for clean, straightforward solutions in scenarios like user registration or order processing.
You can use a unique key to prevent duplicate operations. For example, a transaction_id column with a unique index ensures each transaction is processed only once.
Pros:
โข Reliable and simple, with no additional infrastructure required.
โข Ensures strong consistency at the database layer.
โข Familiar and easy to implement for teams.
Cons:
โข Can introduce performance bottlenecks for high write traffic.
2. In-Memory Tracking
You maintain a record of processed requests in memory. Before processing a new request, check the in-memory store to see if it has already been handled.
Pros:
โข Simple and fast to implement.
โข No additional infrastructure is needed.
โข Ideal for single-node setups or short-lived services.
Cons:
โข Data is lost if the service restarts or crashes.
โข Not suitable for distributed systems without coordination.
โข Limited by the memory size and scale of the system.
โข be careful with multi-threading.
3. Distributed Cache with Redis
You use Redis (or similar distributed cache) to store a unique identifier (e.g., request ID) for each operation.
Before processing a new request, check if the request ID exists. If it does, skip processing or return the original result.
Pros:
โข High performance due to Redis's speed.
โข Works well for stateless services.
Cons:
โข Cache expiration needs to be carefully managed.
โข Requires Redis setup and potential scaling for high traffic.
4. Message Duplicate Detection
For event-driven systems, this approach leverages the capabilities of a message broker.
For example, Azure Service Bus provides built-in duplicate detection for queues and topics. When enabled, Service Bus keeps a history of all messages sent to the queue or topic for a configurable amount of time.
Any duplicate messages with the same MessageId are automatically discarded during this interval.
Pros:
โข Offloads responsibility for deduplication to the messaging system.
โข Scales well in distributed, high-throughput environments.
โข Simplifies application logic by handling duplicates at the messaging layer.
Cons:
โข Limited to the features provided by the message broker.
โข Adds dependency on external messaging infrastructure.
โข Requires proper configuration to ensure deduplication works.
What's your favorite way to handle idempotency?
๐๐ผ๐ ๐๐ผ ๐๐ฒ๐น๐ฒ๐ฐ๐ ๐๐ฒ๐๐ถ๐ด๐ป ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป?
Choosing the correct design pattern in software engineering is critical to practical problem-solving. This guide simplifies the process, helping you decide between patterns based on specific needs. It offers concise descriptions and valuable use cases for each pattern, making understanding and applying them in real-world scenarios easier.
To select a pattern, we must first go through the problem identification. If the problem is related to:
๐ธ Object Creation? โ Creational Patterns
๐ธ Object Assembly? โ Structural Patterns
๐ธ Object Interactions? โ Behavioral Patterns
So, let's dive in.
๐ญ. ๐๐ฟ๐ฒ๐ฎ๐๐ถ๐ผ๐ป๐ฎ๐น ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐
๐น Singleton: Use when a single instance of a class is needed. Some examples are logging and database connections.
๐น Factory Method: Decouple object creation from usage. For example, you create different types of database connections based on configuration.
๐น Abstract Factory: Create families of related objects. For example, I build parsers for different file formats (e.g., JSON, XML, CSV).
๐น Builder: Constructing complex objects step by step. For example, if you need to create a complex domain object.
๐น Prototype: Creating duplicate objects and reusing cached objects to reduce database calls.
๐ฎ. ๐ฆ๐๐ฟ๐๐ฐ๐๐๐ฟ๐ฎ๐น ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐
๐น Adapter: Make incompatible interfaces compatible. For example, it integrates a new logging library into an existing system that expects a different interface.
๐น Composite: Represent part-whole hierarchies. For example, graphic objects in a drawing application can be grouped and treated uniformly
๐น Proxy: Control access to objects. For example, lazy loading of a high-resolution image in a web application.
๐น Decorator: Dynamically add/remove behavior. For example, we are implementing compression or encryption on top of file streams.
๐น Bridge: Decouple abstraction from implementation. For example, I am separating platform-specific code from core logic.
๐ฏ. ๐๐ฒ๐ต๐ฎ๐๐ถ๐ผ๐ฟ๐ฎ๐น ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐
๐น Strategy: Define a family of algorithms. These algorithms allow users to choose different sorting or compression algorithms.
๐น Observer: Maintain a consistent state by being notified of changes and, for example, notifying subscribers of events in a messaging system.
๐น Command: Encapsulate a request as an object. For example, I implement undo/redo functionality in text or image editor.
๐น State: Encapsulate state-specific behavior. For example, we are handling different states of a user interface element (e.g., enabled, disabled, selected).
๐น Template Method: Define the skeleton of an algorithm in operation, deferring some steps to subclasses and implementing a base class for unit testing with customizable setup and teardown steps.
Ultimately, we came up with the pattern we needed for our problem.
#softwareengineering #programming #softwaredesign
Build your own stock price dashboard with SignalR.
I built a real-time stock price monitoring system with a bit of JavaScript and .NET.
The initial stock price is returned from third-party API, which gives us the current market price.
However, the "real-time" aspect is mocked for simplicity.
I wanted to focus on SignalR anyhow.
Check it out here: https://t.co/iw3qd5001M
Are you using docker-compose for local development but considering .NET Aspire?
I documented my entire migration process, including any hiccups I ran into along the way.
Check it out here: https://t.co/0ayhyBk298
What's the difference between Domain events and Integration Events?
We could treat them as Private and Public events.
Another way to look at it is Internal vs External events.
However, what matters is the intent of each type of event.
๐ช๐ต๐ฎ๐ ๐ฎ๐ฟ๐ฒ ๐๐ต๐ฒ ๐บ๐ฎ๐ถ๐ป ๐๐น๐ผ๐๐ฑ ๐๐ฒ๐๐ถ๐ด๐ป ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐?
I've just released the new issue of my ๐ป๐ฒ๐๐๐น๐ฒ๐๐๐ฒ๐ฟ to more than 35k+ addresses.
This week's newsletter discusses the challenges we often encounter when creating distributed systems and how ๐๐น๐ผ๐๐ฑ ๐๐ฒ๐๐ถ๐ด๐ป ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป๐ can help us overcome them.
Also, you will see ๐๐ผ๐ฎ๐ฑ-๐ฏ๐ฎ๐น๐ฎ๐ป๐ฐ๐ถ๐ป๐ด ๐ผ๐ฝ๐๐ถ๐ผ๐ป๐ ๐ณ๐ผ๐ฟ ๐๐๐๐ฟ๐ฒ and how to select the right one.
๐ Check it out from the following link: https://t.co/pI5yQzXxER.
I hope you will enjoy it!
--
๐ @CatioTech, your Copilot for Tech Architecture, proudly brings you this newsletter issue.
#softwareengineering #cloudcomputing #systemdesign