Agent skill

Managedcode Communication

by managedcode in managedcode/dotnet-skills

Use ManagedCode.Communication when a .NET application needs explicit result objects, structured errors, and predictable service or API boundaries instead of exception-driven control flow.

MITAuto-check passedBackend & APIs

Install Managedcode Communication

skills CLI
$ npx skills add managedcode/dotnet-skills --skill managedcode-communication -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install managedcode/dotnet-skills managedcode-communication --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/managedcode/dotnet-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/catalog/Libraries/ManagedCode-Communication/skills/managedcode-communication .claude/skills/managedcode-communication && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
managedcode-communication
GitHub stars
486
Token cost
~1.8k tokens
SKILL.md length
549 words
Files
2
Skills in repo
81
Repo updated
First seen
Licence
MIT

At a glance

Use ManagedCode.Communication when a .NET application needs explicit result objects, structured errors, and predictable service or API boundaries instead of exception-driven control flow.

  • Works in 6 steps: Confirm the boundary where the library… → Keep result creation and error mapping… → Pattern-match result objects at the… → …
  • : integrating ManagedCode.Communication into services
  • SKILL.md covers Trigger On, Install, Workflow and Practical Usage, plus 3 more sections
  • Calls dotnet

What it does

Managedcode Communication is an agent skill from managedcode/dotnet-skills. Use ManagedCode.Communication when a .NET application needs explicit result objects, structured errors, and predictable service or API boundaries instead of exception-driven control flow. USE FOR: integrating ManagedCode.Communication into services or APIs; replacing exception-driven result handling with explicit results; reviewing service boundaries that return. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `manifest.json`). Compatibility notes: Requires a .NET application, service layer, or API boundary that integrates ManagedCode.Communication.

It sits in Backend & APIs, covering Microservices and Codebase knowledge for agents. It works with .NET. The repository describes itself as: Installable .NET skill catalog and CLI for Codex, Claude Code, GitHub Copilot, and Gemini. The licence is MIT.

When your agent uses it

  • : integrating ManagedCode.Communication into services
  • Replacing exception-driven result handling with explicit results
  • Reviewing service boundaries that return
  • : unrelated stacks

Example prompts

  • “/managedcode-communication”

Requirements

  • Compatibility (from SKILL.md): Requires a .NET application, service layer, or API boundary that integrates ManagedCode.Communication.

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the boundary where the library belongs
  2. Keep result creation and error mapping explicit instead of mixing exceptions, nulls, and ad-hoc tuples.
  3. Pattern-match result objects at the boundary that converts them into user-facing responses.
  4. Do not hide domain failures behind generic success wrappers.
  5. Configure framework integration only where it removes manual translation
  6. Validate positive, negative, and error-path handling after integration.

What it can do on your machine

Read from SKILL.md and the folder at commit 535dd55. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires a .NET application, service layer, or API boundary that integrates ManagedCode.Communication.

    From compatibility in the SKILL.md frontmatter.

Context cost

Managedcode Communication loads about 1.8k tokens when it runs. Until then it costs about 156 tokens; SKILL.md has 549 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~156
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from managedcode/dotnet-skills at commit 535dd55, republished under its MIT licence (© managedcode). 549 words, ~1,758 tokens.

Download SKILL.mdSave it as .claude/skills/managedcode-communication/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
managedcode-communication
description
Use ManagedCode.Communication when a .NET application needs explicit result objects, structured errors, and predictable service or API boundaries instead of exception-driven control flow. USE FOR: integrating ManagedCode.Communication into services or APIs; replacing exception-driven result handling with explicit results; reviewing service boundaries that return. 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 changes are made.
compatibility
Requires a .NET application, service layer, or API boundary that integrates ManagedCode.Communication.

ManagedCode.Communication

Trigger On

  • integrating ManagedCode.Communication into services or APIs
  • replacing exception-driven result handling with explicit results
  • reviewing service boundaries that return success or failure payloads
  • documenting result-pattern usage across ASP.NET Core or application services
  • mapping application errors to RFC 7807 problem details, Minimal API results, SignalR filters, or Orleans call filters

Install

Use the package that matches the boundary. Current upstream release reviewed: v10.2.2.

bash
dotnet add package ManagedCode.Communication
dotnet add package ManagedCode.Communication.AspNetCore
dotnet add package ManagedCode.Communication.Extensions
dotnet add package ManagedCode.Communication.Orleans

For pinned project files:

xml
<PackageReference Include="ManagedCode.Communication" Version="10.2.2" />
<PackageReference Include="ManagedCode.Communication.AspNetCore" Version="10.2.2" />
<PackageReference Include="ManagedCode.Communication.Extensions" Version="10.2.2" />
<PackageReference Include="ManagedCode.Communication.Orleans" Version="10.2.2" />

Workflow

  1. Confirm the boundary where the library belongs:
    • service result contracts
    • application manager boundaries
    • API endpoints that translate results into HTTP responses
  2. Keep result creation and error mapping explicit instead of mixing exceptions, nulls, and ad-hoc tuples.
  3. Pattern-match result objects at the boundary that converts them into user-facing responses.
  4. Do not hide domain failures behind generic success wrappers.
  5. Configure framework integration only where it removes manual translation:
    • ConfigureCommunication() for ASP.NET Core logging and converters
    • WithCommunicationResults() for Minimal API endpoint or group conversion
    • Orleans or SignalR packages only when those runtime filters are actually in use
  6. Validate positive, negative, and error-path handling after integration.
mermaid
flowchart LR
  A["Domain or service operation"] --> B["ManagedCode.Communication result"]
  B --> C["Application or API boundary"]
  C --> D["HTTP response or caller-visible contract"]

Practical Usage

Read path with explicit failures
csharp
public sealed class OrderService(IOrderRepository orders)
{
    public async Task<Result<OrderDto>> GetAsync(Guid id, CancellationToken ct)
    {
        var order = await orders.FindAsync(id, ct);

        return order is null
            ? Result<OrderDto>.FailNotFound($"Order {id} was not found.")
            : Result<OrderDto>.Succeed(OrderDto.From(order));
    }
}

Use this shape when absence, validation, authorization, or domain rejection is an expected outcome. Reserve exceptions for unexpected infrastructure faults.

Write path through Minimal APIs
csharp
var builder = WebApplication.CreateBuilder(args);

builder.Services.ConfigureCommunication();

var app = builder.Build();

app.MapGroup("/orders")
   .WithCommunicationResults()
   .MapPost(string.Empty, async (CreateOrder command, OrderService orders, CancellationToken ct) =>
        await orders.CreateAsync(command, ct));

Handlers can return Result or Result<T> and let the extension package map failures to HTTP results and problem details at the API boundary.

Compose validation and domain steps
csharp
public async Task<Result<OrderReceipt>> CreateAsync(CreateOrder command, CancellationToken ct)
{
    var validation = Validate(command);
    if (validation.IsFailed)
    {
        return Result<OrderReceipt>.Fail(validation.Problem!);
    }

    return await Result<Order>.From(() => BuildOrder(command))
        .ThenAsync(order => SaveAsync(order, ct))
        .Then(order => Result<OrderReceipt>.Succeed(new OrderReceipt(order.Id, order.CreatedAt)));
}

Use railway-style composition when each step can return a result and the caller should stop at the first real failure.

Show full SKILL.md (292 more words)Show less

Options And Constraints

  • Result, Result<T>, CollectionResult<T>, and Problem are the core surfaces. Keep them at service/API boundaries rather than leaking framework-specific HTTP results into domain code.
  • CollectionResult<T> plus PaginationRequest / PaginationOptions should own paged API metadata instead of ad-hoc (items, total) tuples.
  • Minimal APIs can use WithCommunicationResults() on one endpoint or an entire group. Prefer the group form only when every child endpoint follows the same result contract.
  • ManagedCode.Communication.Orleans is for grain-call integration and serialization boundaries; use it with the Orleans skill when reviewing grain APIs.
  • v10.2.2 adds native ICommandExecutor reliability: bounded retry/backoff and jitter, whole-sequence timeouts, circuit breaking, rate limiting, idempotency, OpenTelemetry signals, and an IHttpClientFactory resilience handler. Keep one retry owner, honor Retry-After, and require idempotent side effects before enabling retries.
  • Task and ValueTask result and railway paths are now symmetric, and primitive failures have dedicated coverage. Use ValueTask only for operations that frequently complete synchronously and are consumed once; test both success and failure shapes after upgrading.
  • Orleans command execution can use distributed rate limiting and durable idempotency, but it requires the documented commandStore grain storage and explicit UseOrleansCommandExecution() configuration. Do not silently replace application-owned operation identity or retry policy.

Deliver

  • guidance on where explicit result objects improve clarity
  • usage boundaries for translating results into API or caller responses
  • validation expectations for success and failure flows
  • package and integration choices for the actual runtime boundary

Validate

  • result handling is consistent across the boundary that uses the library
  • callers do not fall back to exception-only logic for normal failure cases
  • negative and error scenarios are documented and tested
  • Minimal API endpoints return expected success and RFC 7807 failure shapes
  • pagination metadata is stable when CollectionResult<T> is used
  • Orleans or SignalR integration is covered by runtime-level tests when those packages are installed

© managedcode, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in catalog/Libraries/ManagedCode-Communication/skills/managedcode-communication of managedcode/dotnet-skills.

  • SKILL.md
  • manifest.json

Open the folder on GitHubat commit 535dd55

Compare with similar skills

Managedcode Communication next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Managedcode Communication compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Managedcode Communication this skillmanagedcode/dotnet-skills486—~1.8kAutomated safety check: PassMIT
.NET Core ExpertJeffallan/claude-skills12k—~1.3kAutomated safety check: PassMIT
Project Workflow Analysis Blueprint Generatorgithub/awesome-copilot40k1 repos~2.7kAutomated safety check: PassMIT
Dt Obs ServicesDynatrace/dynatrace-for-ai161—~3.3kAutomated safety check: PassApache-2.0
Large Codebase Knowledge Base BuilderTencent/teamai-cli5.1k—~4.4kAutomated safety check: PassCustom licence
Aspire Service DefaultsAaronontheweb/dotnet-skills1.2k1 repos~2.6kAutomated safety check: PassMIT

Similar skills

  • .NET Core Expert

    Jeffallan/claude-skills

    Guides building .NET 8 services with minimal APIs, clean architecture, Entity Framework Core, MediatR CQRS and JWT authentication, with build and test checks.

    12k GitHub stars~1.3k tokensUpdated 4 days ago
    Backend & APIsAuto-check passed
  • Official

    Comprehensive technology-agnostic prompt generator for documenting end-to-end application workflows.

    40k GitHub starsUsed in 1 repo~2.7k tokens
    Backend & APIsAuto-check passed
  • Dt Obs Services

    Dynatrace/dynatrace-for-ai

    Service performance monitoring with RED metrics (Rate, Errors, Duration) and runtime-specific telemetry for Java, .NET, Node.js, Python, PHP, and Go.

    161 GitHub stars~3.3k tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed
  • Compresses a large multi-repository codebase into a structured knowledge base through architecture reverse-engineering, a Graph RAG graph and AST analysis.

    5.1k GitHub stars~4.4k tokensUpdated yesterday
    Knowledge ManagementAuto-check passed
  • Aspire Service Defaults

    Aaronontheweb/dotnet-skills

    Sets up a shared ServiceDefaults project for .NET Aspire apps that centralizes OpenTelemetry, health checks, HTTP resilience and service discovery for every service.

    1.2k GitHub starsUsed in 1 repo~2.6k tokens
    DevOps & CloudAuto-check passed
  • QA Find Bugs MCP

    bex-co/beancount-io

    Hunt bugs in the Beancount.io remote MCP server by driving the real POST /api-gateway/mcp endpoint with JSON-RPC and real MCP clients, checking transport, discovery, credential boundaries, tool and…

    294 GitHub stars~3k tokensUpdated today
    Backend & APIsAuto-check passed

More from managedcode/dotnet-skills

All 81 skills in this repo
  • Analyzer Config

    managedcode/dotnet-skills

    Use a repo-root .editorconfig to configure free .NET analyzer and style rules.

    486 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Archunitnet

    managedcode/dotnet-skills

    Use the open-source free ArchUnitNET library for architecture rules in .NET tests.

    486 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Aspire

    managedcode/dotnet-skills

    Build, upgrade, and operate Aspire 13.5.x C or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults, integrations, dashboard, testing, MCP, and deployment patterns for…

    486 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Aspnet Core

    managedcode/dotnet-skills

    Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging, and deployment patterns on current .NET.

    486 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Asynkron Profiler

    managedcode/dotnet-skills

    Use the open-source free Asynkron.Profiler dotnet tool for CLI-first CPU, allocation, exception, contention, and heap profiling of .NET commands or existing trace artifacts.

    486 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Azure Functions

    managedcode/dotnet-skills

    Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable Functions patterns.

    486 GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Works with

Questions about Managedcode Communication

What does Managedcode Communication do?

Use ManagedCode.Communication when a .NET application needs explicit result objects, structured errors, and predictable service or API boundaries instead of exception-driven control flow. Managedcode Communication is an agent skill from managedcode/dotnet-skills.NET application needs explicit result objects, structured errors, and predictable service or API boundaries instead of exception-driven control flow.

When should I use Managedcode Communication?

Managedcode Communication fits situations like: : integrating ManagedCode.Communication into services; replacing exception-driven result handling with explicit results; reviewing service boundaries that return; : unrelated stacks.

How do I install Managedcode Communication in Claude Code?

Run `npx skills add managedcode/dotnet-skills --skill managedcode-communication -a claude-code`. Or copy the skill folder (catalog/Libraries/ManagedCode-Communication/skills/managedcode-communication in managedcode/dotnet-skills) into .claude/skills/managedcode-communication in your project. Claude Code loads it when a task matches its description.

How do I install Managedcode Communication in Codex?

Run `npx skills add managedcode/dotnet-skills --skill managedcode-communication -a codex`. Or copy the skill folder (catalog/Libraries/ManagedCode-Communication/skills/managedcode-communication in managedcode/dotnet-skills) into .agents/skills/managedcode-communication in your project. Codex loads it when a task matches its description.

Can I use Managedcode Communication in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add managedcode/dotnet-skills --skill managedcode-communication -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/managedcode-communication, .gemini/skills/managedcode-communication, .github/skills/managedcode-communication and .opencode/skills/managedcode-communication in your project.

What does Managedcode Communication need to run?

Going by SKILL.md and its folder, Managedcode Communication needs the command-line tools its instructions call (dotnet). Compatibility (from SKILL.md): Requires a .NET application, service layer, or API boundary that integrates ManagedCode.Communication..

Does Managedcode Communication access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Managedcode Communication safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Managedcode Communication use?

Managedcode Communication is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Managedcode Communication use?

About 1.8k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Managedcode Communication?

Skills that share tags, products or a category with Managedcode Communication: .NET Core Expert (Jeffallan/claude-skills, 12k stars), Project Workflow Analysis Blueprint Generator (github/awesome-copilot, 40k stars), Dt Obs Services (Dynatrace/dynatrace-for-ai, 161 stars) and Large Codebase Knowledge Base Builder (Tencent/teamai-cli, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Managedcode Communication?

managedcode (a GitHub organization) maintains it in managedcode/dotnet-skills, which has 486 GitHub stars. The repository holds 81 skills in this directory. The repository was last updated on October 7, 2026.

Source: managedcode/dotnet-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.