Claude Marketplaces
SkillsMCP serversMarketplacesDigestTools
Submit

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP servers by category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control
Claude Marketplaces

An independent directory of skills, plugins and MCP servers for Claude Code. Not affiliated with Anthropic.

Browse

  • Skills
  • MCP servers
  • Marketplaces
  • Weekly digest
  • Skill index
  • MCP index
  • Marketplace index

Site

  • About
  • Tools
  • Submit
  • Feedback
  • Privacy
  • llms.txt
  • Plugins reference

Maker

  • Snug
  • Agent Caffeine
  • knobs
  • Wax
  • Vectoys
  • mertduzgun.com
Crafted at
Skills/Testing & QA
microsoft avatar

Analyze Test Run

microsoft/github-copilot-for-azureOfficial

If you're running integration tests in GitHub Actions and need to understand why things failed, this skill downloads artifacts, parses JUnit XML and skill reports, and produces a comprehensive breakdown of test results, skill invocation rates, and confidence scores. It goes further by filing GitHub issues for each failure with actual root cause analysis, pulling context from agent metadata and test logs to categorize problems like skills not being invoked, deployment failures, or quota exhaustion. The skill even checks for duplicate issues before filing. Built for the Microsoft Azure Copilot team's workflow, it tracks the three-skill deployment chain for azure-deploy tests specifically. Saves you from manually digging through artifacts and logs to figure out what went wrong and where.

installs
847
GitHub stars
217
last updated
Jun 11, 2026
View on GitHubSave

Install

$ npx -y skills add microsoft/github-copilot-for-azure --skill analyze-test-run --agent claude-code

Installs into .claude/skills of the current project.

Files

Analyze Test Run

Downloads artifacts from a GitHub Actions integration test run, generates a summarized skill invocation report, and files GitHub issues for each test failure with root-cause analysis.

When to Use

  • Summarize results of a GitHub Actions integration test run
  • Calculate skill invocation rates for the skill under test
  • For azure-deploy tests: track the full deployment chain (azure-prepare → azure-validate → azure-deploy)
  • Compare skill invocation across two runs
  • File issues for test failures with root-cause context

Input

ParameterRequiredDescription
Run ID or URLYesGitHub Actions run ID (e.g. 22373768875) or full URL
Comparison RunNoSecond run ID/URL for side-by-side comparison

MCP Tools

All tools use owner: "microsoft" and repo: "GitHub-Copilot-for-Azure" as fixed parameters. method selects the operation within the tool.

ToolmethodKey ParameterPurpose
actions_getget_workflow_runresource_id: run IDFetch run status and metadata
actions_listlist_workflow_run_artifactsresource_id: run IDList all artifacts for a run
actions_getdownload_workflow_run_artifactresource_id: artifact IDGet a temporary download URL for an artifact ZIP
get_job_logs—run_id + failed_only: trueRetrieve job logs when artifact content is inaccessible
search_issues—query: search stringFind existing open issues before creating new ones
create_issue—title, body, labels, assigneesFile a new GitHub issue for a test failure

Workflow

Phase 1 — Download & Parse

  1. Extract the numeric run ID from the input (strip URL prefix if needed)

  2. Fetch run metadata using the MCP actions_get tool:

    actions_get({ method: "get_workflow_run", owner: "microsoft", repo: "GitHub-Copilot-for-Azure", resource_id: "<run-id>" })
    
  3. List artifacts using the MCP actions_list tool, then download each relevant artifact:

    // List artifacts
    actions_list({ method: "list_workflow_run_artifacts", owner: "microsoft", repo: "GitHub-Copilot-for-Azure", resource_id: "<run-id>" })
    // Download individual artifacts by ID
    actions_get({ method: "download_workflow_run_artifact", owner: "microsoft", repo: "GitHub-Copilot-for-Azure", resource_id: "<artifact-id>" })
    

    The download returns a temporary URL. Fetch the ZIP archive from that URL and extract it locally. If the environment restricts outbound HTTP (e.g. AWF sandbox), record in the analysis report that artifact content was unavailable and fall back to job logs via the get_job_logs MCP tool.

  4. Locate these files in the downloaded artifacts:

    • junit.xml — test pass/fail/skip/error results
    • *-SKILL-REPORT.md — generated skill report with per-test details
    • agent-metadata-*.md files — raw agent session logs per test

    ⚠️ Note: If artifact ZIP files cannot be downloaded due to network restrictions, or if downloaded files cannot be extracted, use the get_job_logs MCP tool to identify test failures and produce a best-effort analysis from whatever data is accessible.

Phase 2 — Build Summary Report

Produce a markdown report with four sections. See report-format.md for the exact template.

Section 1 — Test Results Overview

Parse junit.xml to build:

MetricValue
Total testscount from <testsuites tests=…>
Executedtotal − skipped
Skippedcount of <skipped/> elements
Passedexecuted − failures − errors
Failedcount of <failure> elements
Test Pass Ratepassed / executed as %

Include a per-test table with name, duration (from time attribute, convert seconds to Xm Ys), and Pass/Fail result.

Section 2 — Skill Invocation Rate

Read the SKILL-REPORT.md "Per-Test Case Results" sections. For each executed test determine whether the skill under test was invoked.

The skills to track depend on which integration test suite the run belongs to:

azure-deploy integration tests — track the full deployment chain:

SkillHow to detect
azure-prepareMentioned as invoked in the narrative or agent-metadata
azure-validateMentioned as invoked in the narrative or agent-metadata
azure-deployMentioned as invoked in the narrative or agent-metadata

Build a per-test invocation matrix (Yes/No for each skill) and compute rates:

SkillInvocation Rate
azure-deployX% (n/total)
azure-prepareX% (n/total)
azure-validateX% (n/total)
Full skill chain (P→V→D)X% (n/total)

The azure-deploy integration tests exercise the full deployment workflow where the agent is expected to invoke azure-prepare, azure-validate, and azure-deploy in sequence. This three-skill chain tracking is specific to azure-deploy tests only.

All other integration tests — track only the skill under test:

SkillInvocation Rate
{skill-under-test}X% (n/total)

For non-deploy tests (e.g. azure-prepare, azure-ai, azure-kusto), only track whether the primary skill under test was invoked. Do not include azure-prepare/azure-validate/azure-deploy chain columns.

Section 3 — Report Confidence & Pass Rate

Extract from SKILL-REPORT.md:

  • Skill Invocation Success Rate (from the report's statistics section)
  • Overall Test Pass Rate (from the report's statistics section)
  • Average Confidence (from the report's statistics section)

Section 4 — Comparison (only when a second run is provided)

Repeat Phase 1–3 for the second run, then produce a side-by-side delta table. See report-format.md § Comparison.

Phase 3 — File Issues for Failures

For every test with a <failure> element in junit.xml:

  1. Read the failure message and file:line from the XML
  2. Read the actual line of code from the test file at that location
  3. Read the agent-metadata-*.md for that test from the artifacts
  4. Read the corresponding section in the SKILL-REPORT.md for context on what the agent did
  5. Determine root cause category:
    • Skill not invoked — agent bypassed skills and used manual commands
    • Deployment failure — infrastructure or RBAC error during deployment
    • Timeout — test exceeded time limit
    • Assertion mismatch — expected files/links not found
    • Quota exhaustion — Azure region quota prevented deployment
  6. Search for existing open issue before creating a new one using the search_issues MCP tool:
    search_issues({
      owner: "microsoft", repo: "GitHub-Copilot-for-Azure",
      query: "Integration test failure: {skill} in:title is:open"
    })
    
    Match criteria: an open issue whose title and body describe a similar problem. If a match is found, skip issue creation for this failure and note the existing issue number(s) in the summary report.
  7. If no existing issue was found, create a GitHub issue using the create_issue MCP tool, assign the label with the name of the skill, and assign it to the code owners listed in .github/CODEOWNERS file based on which skill it is for:
create_issue({
  owner: "microsoft", repo: "GitHub-Copilot-for-Azure",
  title: "Integration test failure: <skill> – <keywords> [<root-cause-category>]",
  labels: ["bug", "integration-test", "test-failure", "<skill>"],
  body: "<body>",
  assignees: ["<codeowners>"]
})

Title format: Integration test failure: {skill} – {keywords} [{root-cause-category}]

  • {keywords}: 2-4 words from the test name — app type (function app, static web app) + IaC type (Terraform, Bicep) + trigger if relevant
  • {root-cause-category}: one of the categories from step 5 in brackets

Issue body template — see issue-template.md.

⚠️ Note: Do NOT include the Error Details (JUnit XML) or Agent Metadata sections in the issue body. Keep issues concise with the diagnosis, prompt context, skill report context, and environment sections only. ⚠️ Note: Do NOT create issues for skill invocation test failures.

For azure-deploy integration tests, include an "azure-deploy Skill Invocation" section showing whether azure-deploy was invoked (Yes/No), with a note that the full chain is azure-prepare → azure-validate → azure-deploy. For all other integration tests, include a "{skill} Skill Invocation" section showing only whether the primary skill under test was invoked.

Error Handling

ErrorCauseFix
no artifacts foundRun has no uploadable reportsVerify the run completed the "Export report" step
HTTP 404 on actions_getInvalid run ID or no accessCheck the run ID and ensure the MCP token has repo access
rate limit exceededToo many GitHub API callsWait and retry; reduce concurrent MCP tool calls
Artifact ZIP download blockedAWF sandbox restricts outbound HTTP to blob storageUse get_job_logs MCP tool to get failure details from job logs; produce best-effort analysis from metadata

References

  • report-format.md — Output report template
  • issue-template.md — GitHub issue body template
SKILL.md on GitHub

Sponsors

SnugThe clipboard manager you and your agent can use, safelyAgent CaffeineClose your lid, come back to finished workWaxBlock anything with supervision, without erasing your iPhoneOpen StepsSponsoredFree and open-source skills that make AI coding agents easier to understand, verify, and control.

Details

Repository
github.com/microsoft/github-copilot-for-azure
Categories
Testing & QA, Git & Pull Requests, AI & Agent Building, Cloud & Infrastructure
First seen
Apr 16, 2026

More from microsoft/github-copilot-for-azure

All 40
  • Airunway Aks Setup
  • Analyze Skill Issues
  • Azure Cloud Migrate
  • Azure Cost
  • Azure Enterprise Infra Planner
  • Azure Kubernetes
  • Azure Quotas
  • Azure Reliability
  • Azure Upgrade
  • Entra Agent Id
  • Investigate Integration Test
  • Skill Reviewer
  • Submit Skill Fix Pr
  • Vally Eval
  • Azure Ai103.7K
  • Azure Cost Optimization103.2K
  • Azure Deploy103.2K
  • Azure Storage103.2K
  • Azure Diagnostics103.1K
  • Microsoft Foundry103.1K
  • Appinsights Instrumentation103K
  • Azure Aigateway103K
  • Azure Compliance103K
  • Azure Kusto103K

Recommended

More Testing & QA
1new-silvermoon avatarandroid-testingnew-silvermoon/awesome-android-agent-skillsComprehensive testing strategy involving Unit, Integration, Hilt, and Screenshot tests.842installs
2mindrally avatartestingmindrally/skillsGeneral testing best practices and guidelines for writing comprehensive, maintainable tests across different testing frameworks and languages.833installs
3microsoft avataranalyze-test-runmicrosoft/azure-skillsanalyze test run825installs
4postplusai avatarprompt-preflight-qapostplusai/postplus-skillsReview storyboard prompts and video-request prompts before generation. Use this when a prompt draft already exists and you need to catch weak first frames, drif821installs
5greekr4 avatarplaywright-bot-bypassgreekr4/playwright-bot-bypassThis skill should be used when the user asks to "bypass bot detection", "avoid CAPTCHA", "stealth browser automation", "undetected playwright", "bypass Google b774installs
6aradotso avatartaiwan-equity-research-coveragearadotso/trending-skillstaiwan equity research coverage755installs