Conversation
There was a problem hiding this comment.
Pull request overview
Adds a local snapshot of Microsoft Learn documentation and companion reference notes for the dotnet-microsoft-agent-framework skill, expanding coverage across agents, workflows, hosting/integrations (A2A, AG-UI, MCP), migration, and support docs.
Changes:
- Added/updated a large set of mirrored “official docs” markdown pages (overview, tutorials, user guide, integrations, migration, support).
- Added skill-specific reference summaries (hosting, MCP, middleware, migration, DevUI, examples) and a docs index map.
- Added/updated the router agent and skill metadata describing when/how to apply this skill content.
Reviewed changes
Copilot reviewed 56 out of 259 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/user-guide/agents/agent-types/a2a-agent.md | Adds A2A agent type documentation (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/user-guide/agents/agent-tools.md | Adds tools overview/reference for agents (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/user-guide/agents/agent-rag.md | Adds RAG guidance for Agent Framework (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/user-guide/agents/agent-background-responses.md | Adds background responses documentation (primarily .NET; Python note). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/workflows/workflow-builder-with-factories.md | Adds workflow builder factories tutorial (Python with C# “coming soon”). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/workflows/simple-sequential-workflow.md | Adds sequential workflow tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/workflows/simple-concurrent-workflow.md | Adds concurrent workflow tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/workflows/agents-in-workflows.md | Adds “agents in workflows” tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/quick-start.md | Adds quick start tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/plugins/use-purview-with-agent-framework-sdk.md | Adds Purview integration tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/overview.md | Adds tutorials landing page text. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/structured-output.md | Adds structured output tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/run-agent.md | Adds run-agent tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/persisted-conversation.md | Adds persisted conversations tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/multi-turn-conversation.md | Adds multi-turn conversation tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/middleware.md | Adds middleware tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/memory.md | Adds memory/context provider tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/images.md | Adds images/multimodal tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/function-tools.md | Adds function tools tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/function-tools-approvals.md | Adds HITL approvals tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/enable-observability.md | Adds observability tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/agent-as-mcp-tool.md | Adds agent-as-MCP-tool tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/tutorials/agents/agent-as-function-tool.md | Adds agent-as-function-tool tutorial (C# + Python). |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/support/upgrade/index.md | Adds upgrade hub stub for this skill snapshot. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/support/troubleshooting.md | Adds troubleshooting stub page. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/support/index.md | Adds support landing page content. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/support/faq.md | Adds FAQ page content. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/overview/agent-framework-overview.md | Adds top-level product overview page. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/migration-guide/from-semantic-kernel/samples.md | Adds migration samples pointers page. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/integrations/ag-ui/testing-with-dojo.md | Adds AG-UI Dojo testing tutorial. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/integrations/ag-ui/security-considerations.md | Adds AG-UI security considerations reference. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs/integrations/ag-ui/index.md | Adds AG-UI integration overview. |
| .codex/skills/dotnet-microsoft-agent-framework/references/official-docs-index.md | Adds local snapshot index + map of mirrored pages. |
| .codex/skills/dotnet-microsoft-agent-framework/references/migration.md | Adds skill-level migration notes summary. |
| .codex/skills/dotnet-microsoft-agent-framework/references/middleware.md | Adds skill-level middleware summary/patterns. |
| .codex/skills/dotnet-microsoft-agent-framework/references/mcp.md | Adds skill-level MCP summary/boundaries. |
| .codex/skills/dotnet-microsoft-agent-framework/references/hosting.md | Adds skill-level hosting/protocols summary. |
| .codex/skills/dotnet-microsoft-agent-framework/references/examples.md | Adds recipe index pointing to tutorials. |
| .codex/skills/dotnet-microsoft-agent-framework/references/devui.md | Adds DevUI positioning and usage boundaries. |
| .codex/skills/dotnet-microsoft-agent-framework/agents/agent-framework-router/AGENT.md | Adds router agent definition for framework-specific triage. |
| .codex/skills/dotnet-microsoft-agent-framework/SKILL.md | Updates skill definition and guidance content. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| ## Create an A2A Agent using the well known agent card location | ||
|
|
||
| The following scenario uses the well-known agent card location. | ||
| It passes the root URI of the A2A agent host to the `A2ACardResolver` constructor, and the resolver will look for the agent card at `https://your-a2a-agent-host/.well-known/agent-card.json`. |
| ## Create an A2A Agent | ||
|
|
||
| The following scenario uses the well-known agent card location. | ||
| It passes the base URL of the A2A agent host to the `A2ACardResolver` constructor, and the resolver looks for the agent card at `https://your-a2a-agent-host/.well-known/agent.json`. |
| from agent_framework.a2a import A2AAgent | ||
|
|
||
| # Get agent card from the well-known location | ||
| agent_card = await resolver.get_agent_card(relative_card_path="/.well-known/agent.json") |
| response = await agent.run(ChatMessage(role=Role.USER, text="Summarize zero trust in one sentence.")) | ||
| print(response) | ||
|
|
||
| if __name__ == "__main__": |
| def get_weather_details(self) -> int: | ||
| """Get the detailed weather for the last requested location.""" | ||
| if self.last_location is None: | ||
| return "No location specified yet." | ||
| return f"The detailed weather in {self.last_location} is cloudy with a high of 15°C, low of 7°C, and 60% humidity." |
| and generate responses. | ||
| The following diagram illustrates the core components and their interactions in an AI agent: | ||
|
|
|
|
||
| A **workflow** can express a predefined sequence of operations that can include AI agents as components while maintaining consistency and reliability. Workflows are designed to handle complex and long-running processes that might involve multiple agents, human interactions, and integrations with external systems. | ||
|
|
||
| The execution sequence of a workflow can be explicitly defined, allowing for more control over the execution path. The following diagram illustrates an example of a workflow that connects two AI agents and a function: |
|
|
||
| # Security Considerations for AG-UI | ||
|
|
||
| AG-UI enables powerful real-time interactions between clients and AI agents. This bidirectional communication requires some security considerations. The following document covers essential security practices for building securing your agents exposed through AG-UI. |
| 👋 Welcome! There are a variety of ways to get supported in the Agent Framework world. | ||
|
|
||
| | Your preference | What's available | | ||
| |---|---| | ||
| | Read the docs | [This learning site](/agent-framework/) is the home of the latest information for developers | | ||
| | Visit the repo | Our open-source [GitHub repository](https://github.com/microsoft/agent-framework) is available for perusal and suggestions | | ||
| | Connect with the Agent Framework Team | Visit our [GitHub Discussions](https://github.com/microsoft/agent-framework/discussions) to get supported quickly with our [CoC](https://github.com/microsoft/agent-framework/blob/main/CODE_OF_CONDUCT.md) actively enforced | | ||
| | Office Hours | We will be hosting regular office hours; the calendar invites and cadence are located here: [Community.MD](https://github.com/microsoft/agent-framework/blob/main/COMMUNITY.md) | |
| 👋 Welcome! There are a variety of ways to get supported in the Agent Framework world. | ||
|
|
||
| | Your preference | What's available | | ||
| |---|---| | ||
| | Read the docs | [This learning site](/agent-framework/) is the home of the latest information for developers | | ||
| | Visit the repo | Our open-source [GitHub repository](https://github.com/microsoft/agent-framework) is available for perusal and suggestions | | ||
| | Connect with the Agent Framework Team | Visit our [GitHub Discussions](https://github.com/microsoft/agent-framework/discussions) to get supported quickly with our [CoC](https://github.com/microsoft/agent-framework/blob/main/CODE_OF_CONDUCT.md) actively enforced | | ||
| | Office Hours | We will be hosting regular office hours; the calendar invites and cadence are located here: [Community.MD](https://github.com/microsoft/agent-framework/blob/main/COMMUNITY.md) | |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 45222ffa8c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| }, | ||
| WorkingDirectory = workingDirectory, | ||
| }, | ||
| ownsClient: true, |
There was a problem hiding this comment.
Dispose Copilot client after each send lifecycle
This path creates a Copilot-backed agent with ownsClient: true, but SendMessageAsync rebuilds runtime conversations per send and never disposes the returned agent/session object; for GitHub Copilot that means each message can leave a started stdio CLI process running, so long chats can accumulate orphaned copilot processes and degrade or break subsequent sends. Reuse a single Copilot client per session or explicitly dispose runtime conversations after persistence.
Useful? React with 👍 / 👎.
| var isBuiltIn = providerKind.IsBuiltIn(); | ||
| var commandName = providerKind.GetCommandName(); | ||
| var displayName = providerKind.GetDisplayName(); | ||
| var defaultModelName = isBuiltIn ? providerKind.GetDefaultModelName() : string.Empty; |
There was a problem hiding this comment.
Preserve non-debug default model fallbacks
This clears defaultModelName for every external provider, so if metadata probing cannot infer a model (common on fresh Claude/Copilot setups without local config), the provider can still be marked creatable while exposing empty suggested/supported models; that allows saving agents with ModelName empty, and runtime creation later forwards that empty model into provider session/thread options, causing avoidable execution failures. Keep a non-empty default/fallback model for non-built-in providers.
Useful? React with 👍 / 👎.
No description provided.