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.
npx skills add Postpartum-genushyacinthus29/dotnet-skills --skill dotnet-microsoft-agent-frameworkgit clone --depth 1 https://github.com/Postpartum-genushyacinthus29/dotnet-skillsWrote 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.
[](https://agentmods.dev/skills/postpartum-genushyacinthus29/dotnet-skills/dotnet-microsoft-agent-framework)<a href="https://agentmods.dev/skills/postpartum-genushyacinthus29/dotnet-skills/dotnet-microsoft-agent-framework"><img src="https://agentmods.dev/badge/skills/postpartum-genushyacinthus29/dotnet-skills/dotnet-microsoft-agent-framework/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.
<a href="https://agentmods.dev/skills/postpartum-genushyacinthus29/dotnet-skills/dotnet-microsoft-agent-framework"><img src="https://agentmods.dev/badge/skills/postpartum-genushyacinthus29/dotnet-skills/dotnet-microsoft-agent-framework.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00040 | $0.02552 |
| Opus 5 | $0.00020 | $0.01276 |
| Sonnet 5 | $0.00008 | $0.00510 |
| Haiku 4.5 | $0.00004 | $0.00255 |
Grade A, and why
dotnet-microsoft-agent-framework 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 12d 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.
This is a copy
97% identical to dotnet-microsoft-agent-framework — 2 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Microsoft Agent Framework
Trigger On
- building or reviewing
.NETcode that usesMicrosoft.Agents.*,Microsoft.Extensions.AI,AIAgent,AgentThread,AgentSession, or Agent Framework hosting packages - choosing between
ChatClientAgent, Responses agents, hosted agents, custom agents, Anthropic agents, workflows, or durable agents - authoring preview-era
Microsoft.Agents.AI.Workflows.Declarative*packages or wrapping a workflow withworkflow.AsAIAgent() - adding tools, MCP, A2A, OpenAI-compatible hosting, AG-UI, DevUI, background responses, or OpenTelemetry
- migrating from Semantic Kernel agent APIs or aligning AutoGen-style multi-agent patterns to Agent Framework
- using Anthropic Claude models (haiku, sonnet, opus) via
AnthropicClientor through Azure Foundry withAnthropicFoundryClient
Workflow
- Decide whether the problem should stay deterministic. If plain code or a typed workflow without LLM autonomy is enough, do that instead of adding an agent.
- Choose the execution shape first: single
AIAgent, explicit programmaticWorkflow, workflow-as-agent wrapper, declarative workflow when YAML portability is explicitly required, Azure Functions durable agent, ASP.NET Core hosted agent, AG-UI remote UI, or DevUI local debugging. - Choose the agent type and provider intentionally. Prefer the simplest agent that satisfies the threading, tooling, and hosting requirements.
- Keep agents stateless and keep conversation or long-lived state in provider-owned session objects. Most persistence guidance still centers on
AgentThread, while newer middleware and background-response examples may surfaceAgentSession. Treat both as opaque provider-specific state. - Add only the tools and middleware that the scenario needs. Narrow the tool surface, require approval for side effects, and treat MCP, A2A, and third-party services as trust boundaries.
- For workflows, model executors, edges, request-response ports, checkpoints, shared state, and human-in-the-loop explicitly rather than hiding control flow in prompts.
- Prefer Responses-based protocols for new remote/OpenAI-compatible integrations unless you specifically need Chat Completions compatibility.
- Use durable agents only when you truly need Azure Functions serverless hosting, durable thread storage, or deterministic long-running orchestrations.
- Verify preview status, package maturity, docs recency, and provider-specific limitations before locking a production architecture.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/agent-framework-router/AGENT.md 4.9 KB
- references/devui.md 1.9 KB
- references/examples.md 5.6 KB
- references/hosting.md 5.4 KB
- references/mcp.md 3.7 KB
- references/middleware.md 6.3 KB
- references/migration.md 4.1 KB
- references/official-docs-index.md 17 KB
- references/official-docs/integrations/ag-ui/backend-tool-rendering.md 23 KB
- references/official-docs/integrations/ag-ui/frontend-tools.md 18 KB
- references/official-docs/integrations/ag-ui/getting-started.md 24 KB
- references/official-docs/integrations/ag-ui/human-in-the-loop.md 39 KB
- references/official-docs/integrations/ag-ui/index.md 12 KB
- references/official-docs/integrations/ag-ui/security-considerations.md 10.0 KB
- references/official-docs/integrations/ag-ui/state-management.md 34 KB
- references/official-docs/integrations/ag-ui/testing-with-dojo.md 7.7 KB
- references/official-docs/migration-guide/from-autogen/index.md 68 KB
- references/official-docs/migration-guide/from-semantic-kernel/index.md 29 KB
- references/official-docs/migration-guide/from-semantic-kernel/samples.md 1.0 KB
- references/official-docs/overview/agent-framework-overview.md 9.2 KB
- references/official-docs/support/faq.md 1.1 KB
- references/official-docs/support/index.md 1.1 KB
- references/official-docs/support/troubleshooting.md 887 B
- references/official-docs/support/upgrade/index.md 221 B
- references/official-docs/tutorials/agents/agent-as-function-tool.md 1.8 KB
- references/official-docs/tutorials/agents/agent-as-mcp-tool.md 4.8 KB
- references/official-docs/tutorials/agents/create-and-run-durable-agent.md 22 KB
- references/official-docs/tutorials/agents/enable-observability.md 9.2 KB
- references/official-docs/tutorials/agents/function-tools-approvals.md 10 KB
- references/official-docs/tutorials/agents/function-tools.md 7.9 KB
- references/official-docs/tutorials/agents/images.md 3.8 KB
- references/official-docs/tutorials/agents/memory.md 17 KB
- references/official-docs/tutorials/agents/middleware.md 1.8 KB
- references/official-docs/tutorials/agents/multi-turn-conversation.md 6.0 KB
- references/official-docs/tutorials/agents/orchestrate-durable-agents.md 18 KB
- references/official-docs/tutorials/agents/persisted-conversation.md 6.0 KB
- references/official-docs/tutorials/agents/run-agent.md 8.9 KB
- references/official-docs/tutorials/agents/structured-output.md 7.7 KB
- references/official-docs/tutorials/agents/third-party-chat-history-storage.md 20 KB
- references/official-docs/tutorials/overview.md 1.2 KB
- references/official-docs/tutorials/plugins/use-purview-with-agent-framework-sdk.md 6.7 KB
- references/official-docs/tutorials/quick-start.md 8.2 KB
- references/official-docs/tutorials/workflows/agents-in-workflows.md 13 KB
- references/official-docs/tutorials/workflows/checkpointing-and-resuming.md 21 KB
- references/official-docs/tutorials/workflows/requests-and-responses.md 20 KB
- references/official-docs/tutorials/workflows/simple-concurrent-workflow.md 15 KB
- references/official-docs/tutorials/workflows/simple-sequential-workflow.md 13 KB
- references/official-docs/tutorials/workflows/workflow-builder-with-factories.md 5.0 KB
- references/official-docs/tutorials/workflows/workflow-with-branching-logic.md 79 KB
- references/official-docs/user-guide/agents/agent-background-responses.md 10 KB
- references/official-docs/user-guide/agents/agent-memory.md 18 KB
- references/official-docs/user-guide/agents/agent-middleware.md 20 KB
- references/official-docs/user-guide/agents/agent-rag.md 13 KB
- references/official-docs/user-guide/agents/agent-tools.md 10 KB
- references/official-docs/user-guide/agents/agent-types/a2a-agent.md 4.3 KB
- references/official-docs/user-guide/agents/agent-types/anthropic-agent.md 13 KB
- references/official-docs/user-guide/agents/agent-types/azure-openai-chat-completion-agent.md 8.2 KB
- references/official-docs/user-guide/agents/agent-types/azure-openai-responses-agent.md 19 KB
- references/official-docs/user-guide/agents/agent-types/chat-client-agent.md 4.8 KB
- references/official-docs/user-guide/agents/agent-types/custom-agent.md 13 KB
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.
- 12d ago First seen · 129 lines · 40 tokens per session scan A 7e95871d827f
dotnet-microsoft-agent-framework is a skill published in the GitHub repository Postpartum-genushyacinthus29/dotnet-skills (10 stars, last pushed 2d ago), licensed MIT. It adds 40 tokens to every session and 2,552 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 97% identical to dotnet-microsoft-agent-framework, differing in 2 lines, and is treated as a copy.
Other skills, from other repositories
dotnet-techne-cross-repo-impact
Use when reviewing a .NET pull request for breaking changes that may affect other microservice repositories. Detects cross-repo API, DTO, endpoint, EF entity, and NuGet-package breaks, and checks whether a compatible downstream PR already exists. Keywords: cross-repo impact, breaking change, microservice…
dotnet-techne-csharp-type-design-performance
Use when designing types and collections for hot paths and low-allocation .NET code. Keywords: readonly struct, sealed class, ValueTask, Span, FrozenDictionary, FrozenSet, allocation optimisation.
dotnet-techne-synopsis
Use when you need blast-radius analysis, dependency graphs, cross-repo impact, breaking-change diff, or architectural overview of .NET workspaces. Keywords: blast radius, dependency graph, impact analysis, cross-repo, call graph, endpoint map, EF Core lineage, breaking change, daemon, reindex.
dotnet-techne-csharp-api-design
Use when designing or changing public C#/.NET APIs with compatibility and versioning constraints. Keywords: breaking change, API design, backward compatibility, binary compatibility, deprecation strategy, versioning.
dotnet-techne-csharp-concurrency-patterns
Use when choosing .NET concurrency patterns for async I/O, queues, pipelines, or thread safety. Keywords: async/await, channels, dataflow, Rx, lock contention, producer consumer, parallel processing.
dotnet-techne-inspect
Use when you need to inspect NuGet package APIs, list public types, or decompile method/property signatures. Keywords: inspect package API, list types, decompile type, method signatures, NuGet interface.