Build or review gRPC services and clients in .NET. USE FOR: ASP.NET Core gRPC, protobuf contracts, unary or streaming RPC, gRPC client factory, interceptors, deadlines, cancellation, channel reuse, backend service integration. DO NOT USE FOR: broad browser-facing APIs without gRPC-Web tradeoff review, SignalR realtime hubs, plain REST APIs. INVOKES: dotnet build/test and focused service or client smoke checks when code changes.
SkillScore95Maintained
Automatic
◆Coding pack
Last verified 8/19/2026
What it changes
Passed 21 of 22 test cases with the skill, and 18 of 22 without it.
Without skill82%
With skill95%
Checks it passed that the model alone missed
The client call sets an explicit deadline parameter.
The client invocation sets an explicit deadline parameter.
The gRPC client is registered using AddGrpcClient in IServiceCollection.
and 1 more in the full report
3 fixed18 passed either way1 still failing0 broke
Pass-rate lift
+14 pp
Tokens
+23%
Agent turns
0%
Response time
-23%
Model gemini-3.6-flashMeasured 8/19/2026v221 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 3
Prompt
After updating the Microsoft servicing package versions in our .NET solution, should automated scripts force re-generating C# protobuf files if the underlying .proto definitions have not changed?
What was checked, without and with the skill
Checked
Without skill
With skill
Protobuf outputs are regenerated only when proto inputs or generator packages change.
Missed
Passed
case-18 · gemini-3.6-flash · 8/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md111 lines3 files
gRPC for .NET
Trigger On
building backend-to-backend RPC services or clients
adding protobuf contracts, streaming calls, or interceptors
deciding between gRPC, HTTP APIs, and SignalR
optimizing gRPC performance, deadlines, cancellation, or connection reuse
integrating service-to-service communication in microservices
Do Not Use For
public browser-first APIs unless gRPC-Web limitations are explicitly acceptable
SignalR hub design, realtime UI fan-out, or websocket-style client collaboration
generic ASP.NET Core minimal APIs or REST controllers with no protobuf/RPC requirement
non-.NET gRPC work unless the user asks for cross-stack contract guidance
Load References
references/patterns.md for proto design, streaming implementations, interceptors, health checks, load balancing, and client factory setup.
references/anti-patterns.md for common channel, deadline, streaming, message-size, and exception-handling mistakes.
Workflow
Validate the architecture fit before touching code.
prefer gRPC for backend RPC, strong contracts, low-latency calls, or streaming
prefer REST or minimal APIs for broad browser compatibility and loosely coupled public APIs
prefer SignalR for browser/client realtime fan-out and UI collaboration
Treat .proto files as the source of truth.
keep package names, csharp_namespace, service names, and versioning deliberate
reserve removed field numbers and avoid reusing tags
use wrapper types or explicit messages when optionality matters
Choose the RPC shape from the interaction model.
unary for request/response
server streaming for large or progressive result sets
client streaming for uploads or batches
bidirectional streaming for coordinated two-way flows
Expert knowledge of the libvlc C API (3.x and 4.x), the multimedia framework behind VLC media player. Use when helping with LibVLC or LibVLCSharp for media playback, streaming, or transcoding. USE FOR: LibVLC Skill implementation, review, migration, debugging, or documentation work. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when c