Skip to content

OTEL setup skills for .NET, JS, and Python - #698

Draft
Rodrigo Brandão (rodrigobr-msft) wants to merge 6 commits into
mainfrom
users/robrandao/otel-skill
Draft

OTEL setup skills for .NET, JS, and Python#698
Rodrigo Brandão (rodrigobr-msft) wants to merge 6 commits into
mainfrom
users/robrandao/otel-skill

Conversation

@rodrigobr-msft

Copy link
Copy Markdown
Contributor

This pull request adds support for Python to the Microsoft 365 Agents SDK skills plugins, updates OpenTelemetry (OTel) observability documentation and assets for all supported languages (TypeScript/JavaScript, .NET, and Python), and improves plugin documentation and versioning. The main changes are grouped below.

Python SDK Support:

  • Added a new agents-for-python plugin, including plugin metadata files and marketplace registration, to provide skills for building agents with the Microsoft 365 Agents SDK for Python. (agent-plugins/agents-for-python/plugin.json, agent-plugins/agents-for-python/.claude-plugin/plugin.json, .claude-plugin/marketplace.json, [1] [2] [3]
  • Updated documentation to reference the new Python plugin, including installation instructions and directory listings. (agent-plugins/README.md, [1] [2] [3] [4]

OpenTelemetry/Observability Enhancements:

  • Added and documented new OTel skills for TypeScript/JavaScript, .NET, and Python, including detailed references for telemetry signals and integration steps. (agent-plugins/agents-for-js/skills/agents-sdk-typescript-otel/references/sdk-signals.md, agent-plugins/agents-for-net/skills/agents-sdk-dotnet-otel/references/sdk-signals.md, [1] [2]
  • Updated skill documentation to guide users on using OTel skills for observability, replacing previous manual setup instructions with skill-based guidance. (agent-plugins/agents-for-js/skills/agents-sdk-typescript/SKILL.md, agent-plugins/agents-for-net/skills/agents-sdk-dotnet/SKILL.md, [1] [2]

Aspire Dashboard Assets:

  • Added PowerShell scripts for starting a local Aspire Dashboard container for both TypeScript/JavaScript and .NET OTel skills, improving local observability tooling. (agent-plugins/agents-for-js/skills/agents-sdk-typescript-otel/assets/start-aspire-dashboard.ps1, agent-plugins/agents-for-net/skills/agents-sdk-dotnet-otel/assets/start-aspire-dashboard.ps1, [1] [2]

Version and Marketplace Updates:

  • Bumped plugin versions for agents-for-js and agents-for-dotnet to 1.2.0 and registered the new Python plugin at version 1.2.0 in the marketplace. (agent-plugins/agents-for-js/plugin.json, agent-plugins/agents-for-net/plugin.json, .claude-plugin/marketplace.json, [1] [2] [3]

Documentation Improvements:

  • Expanded the main plugin README to include Python skills, new OTel skills, and updated browsing instructions for all language directories. (agent-plugins/README.md, [1] [2]

These updates ensure comprehensive observability support and Python parity across the Microsoft 365 Agents SDK plugin ecosystem.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds cross-language OpenTelemetry skills and introduces Python plugin support.

Changes:

  • Adds OTel setup, signal references, and Aspire scripts for .NET, JavaScript, and Python.
  • Registers the Python plugin and updates plugin versions.
  • Updates plugin discovery and installation documentation.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
README.md Documents available plugins.
agent-plugins/README.md Adds Python and OTel skills.
agent-plugins/agents-for-python/skills/agents-sdk-python-otel/SKILL.md Adds Python OTel guidance.
agent-plugins/agents-for-python/skills/agents-sdk-python-otel/references/sdk-signals.md Documents Python telemetry signals.
agent-plugins/agents-for-python/skills/agents-sdk-python-otel/assets/start-aspire-dashboard.ps1 Starts the local dashboard.
agent-plugins/agents-for-python/plugin.json Defines the Python plugin.
agent-plugins/agents-for-python/.claude-plugin/plugin.json Adds Python plugin metadata.
agent-plugins/agents-for-net/skills/agents-sdk-dotnet/SKILL.md Delegates observability guidance.
agent-plugins/agents-for-net/skills/agents-sdk-dotnet-otel/SKILL.md Adds .NET OTel guidance.
agent-plugins/agents-for-net/skills/agents-sdk-dotnet-otel/references/sdk-signals.md Documents .NET telemetry signals.
agent-plugins/agents-for-net/skills/agents-sdk-dotnet-otel/assets/start-aspire-dashboard.ps1 Starts the local dashboard.
agent-plugins/agents-for-net/plugin.json Bumps the .NET plugin version.
agent-plugins/agents-for-js/skills/agents-sdk-typescript/SKILL.md Delegates observability guidance.
agent-plugins/agents-for-js/skills/agents-sdk-typescript-otel/SKILL.md Adds JavaScript/TypeScript OTel guidance.
agent-plugins/agents-for-js/skills/agents-sdk-typescript-otel/references/sdk-signals.md Documents JavaScript telemetry signals.
agent-plugins/agents-for-js/skills/agents-sdk-typescript-otel/assets/start-aspire-dashboard.ps1 Starts the local dashboard.
agent-plugins/agents-for-js/plugin.json Bumps the JavaScript plugin version.
.claude-plugin/marketplace.json Updates marketplace registrations.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +142 to +144
self.logger_provider.shutdown()
self.meter_provider.shutdown()
self.tracer_provider.shutdown()
Instrument a handler with bounded attributes:

```csharp
using Activity? activity =
| Turn context | `agents.turn.send_activities` |
| Connector | `agents.connector.reply_to_activity`, `agents.connector.send_to_conversation`, `agents.connector.update_activity`, `agents.connector.delete_activity`, `agents.connector.create_conversation`, `agents.connector.get_conversations`, `agents.connector.get_conversation_members`, `agents.connector.upload_attachment`, `agents.connector.get_attachment_info`, `agents.connector.get_attachment` |
| Storage | `agents.storage.read`, `agents.storage.write`, `agents.storage.delete` |
| User token client | `agents.user_token_client.get_user_token`, `agents.user_token_client.sign_out`, `agents.user_token_client.exchange_token`, `agents.user_token_client.get_token_or_sign_in_resource`, `agents.user_token_client.get_token_status`, `agents.user_token_client.get_aad_tokens` |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Skill to describe OTEL Registration for JS/Py/net

2 participants