Dev & Engineering ✓ Microsoft · Official

Copilot Chat OpenTelemetry Instrumentation

A repository-specific guide for consistent OpenTelemetry instrumentation in Copilot Chat.

60/ 100
Recommended

Generally reliable with disclosed limitations; trial as directed and keep a rollback path.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 194k
Last updated
11d ago
License
MIT
open-telemetryotlpspan-instrumentationtelemetry-metrics
+3copilot-chattrace-propagationagent-monitoring

What does this skill do, and when should you use it?

This skill guides OpenTelemetry work in the Copilot Chat extension within the Visual Studio Code repository. It covers four agent execution paths: the foreground agent, in-process Copilot CLI, terminal Copilot CLI, and Claude Code, along with IOTelService and span, metric, event, and propagation conventions. Implementation changes are expected to stay synchronized with the user monitoring documentation, architecture documentation, and tests. It is best suited to developers maintaining telemetry in this codebase, rather than to users seeking a general-purpose OpenTelemetry tutorial or standalone runtime.

It requires reading agent_monitoring.md and agent_monitoring_arch.md before changing telemetry and updating the relevant documentation in the same change. It specifies how to create invoke_agent, chat, execute_tool, and execute_hook spans through IOTelService, use constants from genAiAttributes.ts, and choose between truncation and captureContent gating for content attributes. It documents the Copilot CLI Bridge SpanProcessor, Claude SDK message-to-GenAI span synthesis, cross-boundary trace propagation, and the separation between OTLP, file, SQLite, and debug-panel outputs. It also requires synchronized updates to settings, environment-variable translation, exportable operation names, and unit tests, with TypeScript, OTel/Bridge test, and manual dashboard/debug-panel checks.

Good fit
  • A developer maintaining foreground Copilot Chat agents needs consistent invoke_agent, tool, and hook span names, attributes, and error-status handling.
  • A maintainer changing the in-process Copilot CLI needs to preserve the Bridge SpanProcessor, span hierarchy, traceparent handling, and hook context.
  • A developer modifying Claude subprocess telemetry needs to synthesize spans from SDK messages and record chat spans through the local language-model server.
  • A contributor adding a metric, event, attribute, or OTel setting needs to update the public exports, monitoring documentation, and matching tests.
  • A maintainer investigating differences between Agent Debug Log and OTLP or SQLite output needs to verify EXPORTABLE_OPERATION_NAMES and the debug-panel isolation rules.

How do you install this skill?

Before you use it
  • No TypeScript checks, unit tests, or Aspire/Agent Debug Log end-to-end validation were executed.
  • Before adoption, verify that the referenced source paths, exporter filters, content-capture settings, and SDK internal fields match this revision.
  • Telemetry may contain prompts, tool arguments, session identifiers, or model responses; confirm that captureContent, truncation, hashing, and exporter policies meet organizational privacy requirements.
  • If the monitoring backend or dependencies require overseas network access, provide a reachable, proxied, or offline alternative for mainland-China users.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
  • Local filesystem
Install first
  • Node.js
  • OpenTelemetry SDK v2

The source does not document a separate installer or client-registration procedure. You can check out the repository and inspect the skill with:

git clone https://github.com/microsoft/vscode.git
cd vscode
cat .github/skills/otel/SKILL.md

The skill is located at .github/skills/otel/; the source does not explain how to register it with a particular Agent Skills client.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/microsoft/vscode.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.github/skills/otel" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Follow .github/skills/otel/SKILL.md to add an execute_tool span for a new tool and update agent_monitoring.md, the architecture document, and tests.

In an Agent Skills-compatible client, explicitly request a repository task covered by the skill, for example: "Follow .github/skills/otel/SKILL.md to add an execute_tool span for a new tool and update agent_monitoring.md, the architecture document, and tests." Before submitting a change, run npx tsc --noEmit --project tsconfig.json from extensions/copilot/, followed by npm test -- --grep "OTel\|Bridge"; then check the Aspire Dashboard and the VS Code Agent Debug Log. The skill defines no standalone command, script, or argument interface.

What are this skill's strengths and limitations?

Pros
  • It is specific to the Copilot Chat extension in the VS Code repository, naming concrete files, classes, attribute namespaces, and test locations.
  • It distinguishes four execution models and their different strategies: direct instrumentation, CLI bridging, environment forwarding, and Claude message synthesis.
  • It accounts for debug-panel, OTLP, file, and SQLite export behavior, including legacy-attribute dual emission and content-capture rules.
  • It provides checklists for configuration changes, cross-boundary propagation, bridge changes, and validation.
Limitations
  • Its scope is tightly limited to the Copilot Chat extension described by `.github/skills/otel/SKILL.md` in microsoft/vscode; it is not presented as a general OpenTelemetry design.
  • It assumes familiarity with the VS Code repository layout and internal services such as IOTelService, NodeOTelService, and the Copilot CLI bridge.
  • The Copilot CLI bridge accesses the OpenTelemetry SDK v2 internal `_spanProcessors` state, creating a risk if the SDK structure changes.
  • The source provides no standalone installation workflow, complete test results, or dedicated adaptation guidance for other platforms.
  • The Claude SDK has no file exporter, while the CLI runtime supports only `otlp-http`; the CLI SDK's single captureContent setting affects both the debug panel and OTLP.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Copilot Chat OpenTelemetry Instrumentation this page ✓ Microsoft · Official 60 · Recommended ★ 194k 11d ago MIT
Copilot Chat Troubleshooter ✓ Microsoft · Official 49 · Use with care ★ 194k 11d ago MIT
NeMo Relay Context Isolation ✓ NVIDIA · Official 55 · Use with care ★ 3.6k 11d ago Apache-2.0
Copilot MCP Widget Builder ✓ Microsoft · Official 49 · Use with care ★ 2.7k 3mo ago MIT
VS Code Insiders UI Automation ✓ Microsoft · Official 46 · Use with care ★ 194k 11d ago MIT

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Recommended
60/ 100 5-point scale 3.0 / 5
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
1Trust19 / 25 · 3.8/5

The skill specifies use of the IOTelService abstraction, truncation, captureContent gating, hashing of sensitive identifiers, and Debug Panel/OTLP isolation, while documenting process-environment and SDK-internal-access risks. It lacks per-change user confirmation, an explicit rollback procedure, and dependency security verification, so full marks are not justified.

2Reliability9 / 20 · 2.3/5

It provides architecture maps, operation conventions, graceful-degradation requirements, configuration-sync checklists, unit-test guidance, and validation commands. However, this review is static, the referenced implementation files and test results are not included, and runtime/error-path reproducibility is unproven; the score remains within the static ceiling.

3Adaptability10 / 15 · 3.3/5

The audience, trigger scenarios, four agent paths, and rejected patterns are clearly described. Non-fit boundaries, formal input/output contracts, and Chinese-language support are limited. The core skill is not entirely dependent on overseas services, but referenced external monitoring backends may have reachability differences, warranting a deduction.

4Convention10 / 15 · 3.3/5

The document uses progressive sections, tables, code examples, and procedural checklists, with MIT licensing and Microsoft repository provenance available as governance evidence. It lacks a skill-specific version, changelog, explicit maintenance owner, update path, and complete installation/troubleshooting guidance.

5Effectiveness7 / 15 · 2.3/5

The skill offers directly usable guidance for core OTel instrumentation work, including architecture, naming, content handling, synchronization, and validation steps. Its usefulness depends on additional source and monitoring documents not supplied here, and no end-to-end output evidence is present, so the static maximum applies.

6Verifiability5 / 10 · 2.5/5

Specific source paths, test locations, CI-related validation commands, and known risks make the guidance partially auditable. No executed test results or independent corroboration are included, so static calibration limits this to 5.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Jul 20, 2026 Reviewed revision 5b3e1be7be9e Review evidence[1][2][3][4][5][6][7][8][9][10][11]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Will this skill automatically add OpenTelemetry to any project?
No. It is engineering guidance for the Copilot Chat extension in microsoft/vscode. It describes implementation, documentation, configuration, and test changes, but does not claim to be a standalone auto-instrumentation tool.
Must OpenTelemetry be enabled to use the guidance?
No. The documented selection uses NodeOTelService when OTel is enabled and InMemoryOTelService when it is disabled. The in-memory implementation still supports the Agent Debug Log with captured spans, metrics, and logs.
Can a new attribute use a hard-coded string key?
No. The skill requires adding and using constants from genAiAttributes.ts. New Copilot attributes should prefer github.copilot.*, while renamed copilot_chat.* keys must continue to be emitted alongside their preferred replacements.
What is the main known risk when changing the Copilot CLI bridge?
The bridge accesses the SDK's internal `_delegate._activeSpanProcessor._spanProcessors` structure. The skill requires retaining a runtime guard, degrading gracefully if that shape changes, and updating the architecture documentation and bridge unit test.

More skills from this repository

All from microsoft/vscode

Dev & Engineering ✓ Microsoft · Official

Copilot Chat Troubleshooter

Explain unexpected agent behavior, latency, and tool failures from Copilot Chat debug logs.

★ 194k FS 49 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Insiders UI Automation

Automate VS Code Insiders and Copilot Chat through Playwright and CDP.

★ 194k FS 46 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Agent Host Log Investigator

Trace session, transport, and host failures in Agent Host debug exports.

★ 194k FS 55 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Telemetry Error Fix Guide

Trace unhandled telemetry errors to invalid-data producers instead of masking the crash site.

★ 194k FS 52 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Copilot Session Troubleshooter

Explain unexpected Copilot CLI behavior from session-log evidence.

★ 194k FS 51 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Codebase Customization Initializer

Explore a codebase and create or update customization files that help AI coding agents work effectively.

★ 194k FS 45 Not recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

Custom Agent Builder

Create a focused .agent.md agent from a job description and the user’s conversation context.

★ 194k FS 42 Not recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

Agent Host E2E Test Assistant

Maintain VS Code Agent Host end-to-end tests with strict replay fixtures.

★ 194k FS 56 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Agent Customization Assistant

Create, repair, and troubleshoot VS Code Agent customization files and their loading behavior.

★ 194k FS 55 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Chat Performance Lab

Benchmark chat rendering and detect memory growth across VS Code builds.

★ 194k FS 53 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Local VS Code Web Workbench

Validate VS Code workbench and Agents window changes in a local vscode.dev instance.

★ 194k FS 53 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Chat Customizations Editor Skill

Guides developers through safe changes and testing for VS Code’s chat customization management UI.

★ 194k FS 52 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

CPU Profile Analyzer

Find performance bottlenecks in V8 and DevTools performance files.

★ 194k FS 52 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Code OSS Development Log Viewer

Locate and inspect the latest Code OSS development logs.

★ 194k FS 51 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Project Instruction Builder

Turn conversation patterns and preferences into a durable project instruction file.

★ 194k FS 51 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Workflow Skill Builder

Turns a conversation's working method into a reusable SKILL.md.

★ 194k FS 50 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Performance Investigation Workflow

Automate repeatable VS Code scenarios and collect performance and memory evidence.

★ 194k FS 47 Use with care 11d ago
Automation & Ops ✓ Microsoft · Official

Azure Pipelines Validation Assistant

Validate VS Code Azure DevOps pipeline changes without waiting for full CI feedback.

★ 194k FS 47 Use with care 11d ago
Automation & Ops ✓ Microsoft · Official

Hook Policy Builder

Turn agent behavior requirements into executable lifecycle hooks.

★ 194k FS 46 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Reusable Prompt Creator

Turn recurring tasks into reusable .prompt.md files.

★ 194k FS 45 Not recommended 11d ago

Related skills