Document AI agent skill-usage telemetry#1229
Conversation
Extend the Microsoft-collected CLI telemetry page to cover the agent telemetry hooks installed by 'aspire agent init': the three event types (skill_invocation, tool_invocation, reference_file_read), the exact low-cardinality fields recorded, the privacy guarantees (only Aspire-owned skill/tool names and skill-relative reference paths; never absolute paths, repo or user names, file contents, or tool arguments), and the ASPIRE_CLI_AGENT_TELEMETRY_OPTOUT / --no-telemetry-hooks opt-out paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
Remove the AI-only opt-out section (ASPIRE_CLI_AGENT_TELEMETRY_OPTOUT) and the 'aspire agent init --no-telemetry-hooks' note. The single ASPIRE_CLI_TELEMETRY_OPTOUT switch disables all CLI telemetry including AI agent skill usage. Soften the over-claimed opt-out re-check wording. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the Aspire CLI telemetry reference documentation to include the new AI agent skill-usage telemetry that’s emitted via the aspire agent init-installed PostToolUse hook and recorded through the existing CLI telemetry pipeline.
Changes:
- Adds an “AI agent skill usage” subsection under Scope describing how the
PostToolUsehook forwards usage events toaspire agent telemetry. - Adds a new Data points entry (v13.5) and a dedicated section documenting the three event types and the low-cardinality fields recorded.
- Documents privacy guarantees and clarifies that
ASPIRE_CLI_TELEMETRY_OPTOUTdisables this telemetry as well.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| Aspire CLI telemetry is collected when using the CLI to run commands. Telemetry is gathered during normal CLI usage, unless you have [opted out](#how-to-opt-out) of telemetry collection. | ||
|
|
||
| ### AI agent skill usage | ||
|
|
||
| When you run `aspire agent init`, Aspire installs Aspire's AI skills and a `PostToolUse` hook into each detected agent client's user-level configuration (for example, GitHub Copilot CLI and Claude Code). The hook lets Aspire understand which of its AI skills and tools are actually used so the team can invest in the most valuable ones. | ||
|
|
||
| After each agent tool use, the hook inspects the event and—only when an **Aspire** skill, Aspire MCP tool, or Aspire skill reference file was involved—forwards a low-cardinality usage event to the hidden `aspire agent telemetry` command, which records it through the same CLI telemetry pipeline. Tool uses that don't involve Aspire skills or tools are ignored. See [AI agent skill usage data](#ai-agent-skill-usage-data) for exactly what's recorded. |
| - `tool_invocation` — an Aspire MCP tool was called. | ||
| - `reference_file_read` — a reference file bundled alongside an Aspire skill was read. | ||
|
|
||
| Each event records only the following low-cardinality, Aspire-owned values: |
alistairmatthews
left a comment
There was a problem hiding this comment.
Please apply my suggestion. Otherwise, good to go.
|
|
||
| When you run `aspire agent init`, Aspire installs Aspire's AI skills and a `PostToolUse` hook into each detected agent client's user-level configuration (for example, GitHub Copilot CLI and Claude Code). The hook lets Aspire understand which of its AI skills and tools are actually used so the team can invest in the most valuable ones. | ||
|
|
||
| After each agent tool use, the hook inspects the event and—only when an **Aspire** skill, Aspire MCP tool, or Aspire skill reference file was involved—forwards a low-cardinality usage event to the hidden `aspire agent telemetry` command, which records it through the same CLI telemetry pipeline. Tool uses that don't involve Aspire skills or tools are ignored. See [AI agent skill usage data](#ai-agent-skill-usage-data) for exactly what's recorded. |
There was a problem hiding this comment.
This sentence is long and confusing.
| After each agent tool use, the hook inspects the event and—only when an **Aspire** skill, Aspire MCP tool, or Aspire skill reference file was involved—forwards a low-cardinality usage event to the hidden `aspire agent telemetry` command, which records it through the same CLI telemetry pipeline. Tool uses that don't involve Aspire skills or tools are ignored. See [AI agent skill usage data](#ai-agent-skill-usage-data) for exactly what's recorded. | |
| After each agent tool use, the hook checks if an **Aspire** skill, Aspire MCP tool, or Aspire skill reference file was involved. If so, the hook inspects the event and forwards a low-cardinality usage event to the hidden `aspire agent telemetry` command. The command records the event through the same CLI telemetry pipeline. Tool uses that don't involve Aspire skills or tools are ignored. See [AI agent skill usage data](#ai-agent-skill-usage-data) for exactly what's recorded. |
Summary
Extends the Microsoft-collected CLI telemetry reference page to document the AI agent skill-usage telemetry installed by
aspire agent init:PostToolUsehook.skill_invocation,tool_invocation,reference_file_read) and the exact low-cardinality fields recorded.ASPIRE_CLI_TELEMETRY_OPTOUTswitch disables all CLI telemetry, including AI agent skill usage.English source only; translations are handled by the localization workflow.
The implementation shipped in microsoft/aspire#18009 (merged to
main, Aspire 13.5); the canonical hook scripts live in microsoft/aspire-skills#30. This doc has been verified against the merged behavior — the documented event types and recorded fields match the tags the shippedaspire agent telemetrycommand emits.Part of microsoft/aspire#18008