Skip to content

azurebackup: Add Copilot skills for telemetry reporting and new tool workflow#2570

Merged
shrja-ms merged 9 commits into
microsoft:mainfrom
shrja-ms:user/azurebackup-telemetry-skill
May 8, 2026
Merged

azurebackup: Add Copilot skills for telemetry reporting and new tool workflow#2570
shrja-ms merged 9 commits into
microsoft:mainfrom
shrja-ms:user/azurebackup-telemetry-skill

Conversation

@shrja-ms
Copy link
Copy Markdown
Contributor

@shrja-ms shrja-ms commented May 4, 2026

Summary

Adds two Copilot skills under \ ools/Azure.Mcp.Tools.AzureBackup/skills/\ to automate recurring Azure Backup MCP workflows:

1. \�zurebackup-telemetry-report\ — Weekly Telemetry Report Generator

Automates the weekly telemetry report by:

  • Running 10 KQL queries against \ddazureclients.kusto.windows.net/AzureDevExp\
  • Applying 3-way error classification: Customer (4xx) / Azure Service / MCP Tool Bug
  • Correlating with merged PRs, releases, and known bug IDs (BUG-1 through BUG-8)
  • Producing an Outlook-compatible HTML report with KPI boxes, per-tool table, error deep dive, and action items

Includes:

  • \SKILL.md\ — Full procedure, error classification decision tree, bug tracker

  • eferences/kql-queries.md\ — All 10 production KQL queries with 3-way classification
  • \�ssets/report-template.html\ — Outlook-compatible HTML template with placeholders

2. \�zurebackup-add-tool\ — New Command Workflow

Guides the full lifecycle of adding a new Azure Backup MCP command across 8 phases:

  1. Implementation — Options, service layer, command, registration, JSON context, telemetry tags
  2. Input Validation — Null checks, GUID validation, ARM ID parsing
  3. Unit Tests — \CommandUnitTestsBase, required test patterns
  4. Live Tests — Record mode, push recordings, verify Playback
  5. CI Validation — Build, format, spell check, \Build-Local.ps1\
  6. ToolDescriptionEvaluator — Score >= 0.4, top 3 ranking
  7. Documentation — azmcp-commands.md, e2eTestPrompts.md, changelog
  8. PR Checklist — 12-point final checklist

File Structure

\
tools/Azure.Mcp.Tools.AzureBackup/skills/
├── azurebackup-telemetry-report/
│ ├── SKILL.md
│ ├── references/kql-queries.md
│ └── assets/report-template.html
└── azurebackup-add-tool/
└── SKILL.md
\\

Testing

No code changes — skills are Copilot instruction files only. Validated by generating this week's report using the skill.

Invoking Livetests

Copilot submitted PRs are not trustworthy by default. Users with \write\ access to the repo need to validate the contents of this PR before leaving a comment with the text /azp run mcp - pullrequest - live. This will trigger the necessary livetest workflows to complete required validation.

shrja-ms added 3 commits May 4, 2026 13:16
Add a Copilot skill under tools/Azure.Mcp.Tools.AzureBackup/skills/ that
automates generation of weekly telemetry reports by:

- Running KQL queries against the ddazureclients Kusto cluster
- Classifying errors into Customer (4xx) / Azure Service / MCP Tool Bug
- Correlating with merged PRs, releases, and known bug IDs
- Producing an Outlook-compatible HTML report

Includes:
- SKILL.md with full procedure and error classification decision tree
- references/kql-queries.md with all 10 production KQL queries
- assets/report-template.html with Outlook-compatible HTML template
Add a Copilot skill that guides the full lifecycle of adding a new
Azure Backup MCP command:

- Phase 1: Implementation (options, service, command, registration)
- Phase 2: Input validation checklist
- Phase 3: Unit tests with required test patterns
- Phase 4: Live tests with Record/Playback workflow
- Phase 5: CI validation (build, format, spell check)
- Phase 6: ToolDescriptionEvaluator scoring
- Phase 7: Documentation updates
- Phase 8: PR submission checklist
… methodology

- BUG-1 (backup_status ArgumentNullException) is fixed in microsoft#2518 (code
  included in merged PR, though PR title only lists BUG-3,4,5,6,8)
- Fix unit test count methodology: count [Fact] + [InlineData] for
  runnable test cases, not [Fact] + [Theory] for method count
- Add Release column to bug tracker table
- Add note about verifying PR diff vs title for bug coverage
Copilot AI review requested due to automatic review settings May 4, 2026 08:12
@shrja-ms shrja-ms requested a review from a team as a code owner May 4, 2026 08:12
@github-project-automation github-project-automation Bot moved this to Untriaged in Azure MCP Server May 4, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds repository-local Copilot skills for the Azure Backup toolset: one to generate weekly telemetry reports and one to guide contributors through adding new Azure Backup commands. It fits into the codebase as operational/developer documentation rather than product code.

Changes:

  • Adds a weekly Azure Backup telemetry-report skill plus a KQL reference file.
  • Adds an Outlook-oriented HTML template for the generated report.
  • Adds an Azure Backup “new tool” workflow skill covering implementation, testing, validation, and PR steps.

Several of the new instructions are currently inaccurate enough to miscount metrics, skew telemetry output, or leave contributors with incomplete validation steps.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 12 comments.

File Description
tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-telemetry-report/SKILL.md End-to-end workflow for generating weekly telemetry reports.
tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-telemetry-report/references/kql-queries.md KQL query set backing the telemetry-report skill.
tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-telemetry-report/assets/report-template.html HTML scaffold for the telemetry report email/export.
tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-add-tool/SKILL.md Contributor workflow for adding new Azure Backup commands.

Comment thread tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-add-tool/SKILL.md Outdated
Comment thread tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-add-tool/SKILL.md Outdated
Comment thread tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-telemetry-report/SKILL.md Outdated
Comment thread tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-add-tool/SKILL.md Outdated
Comment thread tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-add-tool/SKILL.md Outdated
Comment thread tools/Azure.Mcp.Tools.AzureBackup/skills/azurebackup-add-tool/SKILL.md Outdated
Telemetry report skill (SKILL.md + kql-queries.md):
- Add case-sensitivity note for Kusto bag key access (microsoft#6)
- Fix week-over-week query range to include current partial week (microsoft#7)
- Add InvalidOperationException to MCP Tool Bug classification (microsoft#8)
- Add missing KQL queries 11-13 for WorkloadType, DatasourceType,
  OperationScope custom dimensions (microsoft#9)
- Fix live test count to use [Fact] only, avoiding double-count with
  [LiveTestOnly] on same method (microsoft#5)
- Update decision tree to include InvalidOperationException

Add-tool skill (SKILL.md):
- Fix broken relative link to new-command.md (5 levels up, not 3) (microsoft#1)
- Fix live test snippet to use [Fact] + CallToolAsync pattern, not
  non-existent [RecordedTest]/RunCommandAndAssert (microsoft#2, microsoft#11)
- Add missing Update-AzCommandsMetadata.ps1 step after docs update (microsoft#3)
- Add AOT/native build verification step (Build-Local.ps1 -BuildNative) (microsoft#4)
- Fix vault/vaultType to reference AzureBackupOptionDefinitions, not
  OptionDefinitions.Common (microsoft#10)
- Expand git add scope to include README.md and eng/vscode/README.md (microsoft#12)
- Add commands metadata regeneration and AOT build to PR checklist
@shrja-ms
Copy link
Copy Markdown
Contributor Author

shrja-ms commented May 4, 2026

/azp run mcp - pullrequest

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

shrja-ms added 2 commits May 4, 2026 16:26
…cker

The link verification step requires absolute paths from repo root,
not relative paths. Convert all ./references/ and ../../../ links
to /tools/Azure.Mcp.Tools.AzureBackup/skills/... format.
Link checker requires https://github.com/microsoft/mcp/blob/main/... format,
not repo-root-relative paths.
Copy link
Copy Markdown
Contributor

@jongio jongio left a comment

Choose a reason for hiding this comment

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

Skill files are well-structured and the telemetry workflow is thorough. One bug in the KQL queries that will produce incorrect report data, plus a note on internal URLs.

…BI URLs with placeholder

- Query 1 (primary per-tool health) was missing InvalidOperationException
  in the McpToolBug case, causing inconsistency with Queries 2 and 4
- Replace hardcoded Power BI dashboard URLs in report template with
  {{POWERBI_DASHBOARD_URL}} placeholder (public repo, internal GUIDs)
@shrja-ms shrja-ms requested a review from jongio May 5, 2026 15:01
@shrja-ms shrja-ms enabled auto-merge (squash) May 5, 2026 15:20
@anannya03
Copy link
Copy Markdown
Contributor

Please also add a changelog entry.

@anannya03
Copy link
Copy Markdown
Contributor

Apart from the above highlighted points, everything else looks good to me. Thanks

@shrja-ms shrja-ms requested a review from anannya03 May 7, 2026 05:34
Copy link
Copy Markdown
Contributor

@jongio jongio left a comment

Choose a reason for hiding this comment

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

Addresses my previous feedback. Both the KQL query inconsistency and the internal URLs are fixed.

…lemetry-skill

# Conflicts:
#	tools/Azure.Mcp.Tools.AzureBackup/docs/new-tools.md
@github-project-automation github-project-automation Bot moved this from Untriaged to In Progress in Azure MCP Server May 8, 2026
@shrja-ms shrja-ms merged commit 47412a1 into microsoft:main May 8, 2026
15 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Azure MCP Server May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants