Official agent skill

Analyze Test Run

by microsoft in microsoft/GitHub-Copilot-for-Azure

Analyze a GitHub Actions integration test run and produce a skill invocation report with failure root-cause issues.

OfficialMITAuto-check passedTesting & QA

Install Analyze Test Run

skills CLI
$ npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-test-run -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/GitHub-Copilot-for-Azure analyze-test-run --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/GitHub-Copilot-for-Azure.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/analyze-test-run .claude/skills/analyze-test-run && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
analyze-test-run
GitHub stars
255
Token cost
~2.5k tokens
SKILL.md length
1,096 words
Files
3 (incl. references)
Skills in repo
56
Repo updated
First seen
Licence
MIT

At a glance

Analyze a GitHub Actions integration test run and produce a skill invocation report with failure root-cause issues.

  • Works in 3 steps: Download & Parse → Build Summary Report → File Issues for Failures
  • Tasks that involve Failing and flaky tests
  • SKILL.md covers When to Use, Input, MCP Tools and Workflow, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Analyze Test Run is an agent skill from microsoft/GitHub-Copilot-for-Azure, published by the product's own GitHub organization. Analyze a GitHub Actions integration test run and produce a skill invocation report with failure root-cause issues. TRIGGERS: analyze test run, skill invocation rate, test run report, compare test runs, skill invocation summary, test failure analysis, run report, test results, action run report

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/issue-template.md` and `references/report-format.md`).

It sits in Testing & QA, covering Failing and flaky tests, Integration testing and CI/CD. It works with GitHub Actions and Microsoft Azure. The repository describes itself as: GitHub Copilot for Azure. The licence is MIT.

When your agent uses it

  • Tasks that involve Failing and flaky tests
  • Tasks that involve Integration testing
  • Tasks that involve CI/CD

Example prompts

  • “/analyze-test-run”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Download & Parse
  2. Build Summary Report
  3. File Issues for Failures

What it can do on your machine

Read from SKILL.md and the folder at commit d8f4f4e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Analyze Test Run loads about 2.5k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 78 tokens; SKILL.md has 1,096 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft/GitHub-Copilot-for-Azure at commit d8f4f4e, republished under its MIT licence (© microsoft). 1,096 words, ~2,471 tokens.

Download SKILL.mdSave it as .claude/skills/analyze-test-run/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
analyze-test-run
description
Analyze a GitHub Actions integration test run and produce a skill invocation report with failure root-cause issues. TRIGGERS: analyze test run, skill invocation rate, test run report, compare test runs, skill invocation summary, test failure analysis, run report, test results, action run report
license
MIT
metadata.author
Microsoft
metadata.version
1.0.6

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:

    javascript
    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:

    javascript
    // 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.

Show full SKILL.md (442 more words)Show less
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:
    javascript
    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:
javascript
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

© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .github/skills/analyze-test-run of microsoft/GitHub-Copilot-for-Azure.

  • SKILL.md
  • references/issue-template.md
  • references/report-format.md

Open the folder on GitHubat commit d8f4f4e

Compare with similar skills

Analyze Test Run next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Analyze Test Run compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Analyze Test Run this skillmicrosoft/GitHub-Copilot-for-Azure255—~2.5kAutomated safety check: PassMIT
CI Triagecanton-network/splice118—~1.4kAutomated safety check: PassApache-2.0
GreptimeDB Fuzz CI Failure InvestigationGreptimeTeam/greptimedb6.7k—~4.4kAutomated safety check: PassApache-2.0
CI Failure Triage and RepairChachamaru127/claude-code-harness3.2k1 repos~1.1kAutomated safety check: NotesMIT
Megatron-LM CI Failure TriageNVIDIA/Megatron-LM18k—~1.6kAutomated safety check: PassApache-2.0
CI Fixwarpdotdev/oz-skills825—~790Automated safety check: PassMIT

Similar skills

  • CI Triage

    canton-network/splice

    Triage a failed splice GitHub Actions job (cn-test-failures ref) into a reproducible evidence packet - fetch job log and artifact, isolate the flagged lines, check the known flake families for…

    118 GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Diagnoses a failed GreptimeDB fuzz CI job by pulling its GitHub Actions logs and fuzz artifacts, then matching the evidence to the local source code.

    6.7k GitHub stars~4.4k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • CI Failure Triage and Repair

    Chachamaru127/claude-code-harness

    Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.

    3.2k GitHub starsUsed in 1 repo~1.1k tokens
    DevOps & CloudAuto-check: notes
  • Official

    Investigates a failing GitHub Actions run or job for Megatron-LM, finds the root cause plus the PR and test author involved, and files a structured bug issue.

    18k GitHub stars~1.6k tokensUpdated today
    DevOps & CloudAuto-check passed
  • CI Fix

    warpdotdev/oz-skills

    Diagnose and fix GitHub Actions CI failures. An agent skill from warpdotdev/oz-skills.

    825 GitHub stars~790 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Official

    Adds dotnet/maui-specific context for investigating failing PR checks and broken nightly builds: pipelines, Helix logs, binlogs and merge-readiness verdicts.

    23k GitHub stars~2k tokensUpdated today
    Testing & QAAuto-check passed

More from microsoft/GitHub-Copilot-for-Azure

All 56 skills in this repo
  • Capacity

    microsoft/GitHub-Copilot-for-Azure

    Official

    Discovers available Azure OpenAI model capacity across regions and projects.

    255 GitHub starsUsed in 2 repos~1.7k tokens
    Auto-check passed
  • Deploy Model

    microsoft/GitHub-Copilot-for-Azure

    Official

    Unified Azure OpenAI model deployment skill with intelligent intent-based routing.

    255 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Entra Agent Id

    microsoft/GitHub-Copilot-for-Azure

    Official

    Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant)…

    255 GitHub starsUsed in 3 repos~4k tokens
    Auto-check passed
  • Microsoft Foundry

    microsoft/GitHub-Copilot-for-Azure

    Official

    Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end.

    255 GitHub starsUsed in 1 repo~6.7k tokens
    Auto-check passed
  • Azure Storage

    microsoft/GitHub-Copilot-for-Azure

    Official

    Azure Storage Services including Blob Storage, File Shares, Queue Storage, Table Storage, and Data Lake.

    255 GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check passed
  • Azure Diagnostics

    microsoft/GitHub-Copilot-for-Azure

    Official

    Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage.

    255 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed

Questions about Analyze Test Run

What does Analyze Test Run do?

Analyze a GitHub Actions integration test run and produce a skill invocation report with failure root-cause issues. Analyze Test Run is an agent skill from microsoft/GitHub-Copilot-for-Azure, published by the product's own GitHub organization. Analyze a GitHub Actions integration test run and produce a skill invocation report with failure root-cause issues.

When should I use Analyze Test Run?

Analyze Test Run fits situations like: tasks that involve Failing and flaky tests; tasks that involve Integration testing; tasks that involve CI/CD.

How do I install Analyze Test Run in Claude Code?

Run `npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-test-run -a claude-code`. Or copy the skill folder (.github/skills/analyze-test-run in microsoft/GitHub-Copilot-for-Azure) into .claude/skills/analyze-test-run in your project. Claude Code loads it when a task matches its description.

How do I install Analyze Test Run in Codex?

Run `npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-test-run -a codex`. Or copy the skill folder (.github/skills/analyze-test-run in microsoft/GitHub-Copilot-for-Azure) into .agents/skills/analyze-test-run in your project. Codex loads it when a task matches its description.

Can I use Analyze Test Run in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-test-run -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/analyze-test-run, .gemini/skills/analyze-test-run, .github/skills/analyze-test-run and .opencode/skills/analyze-test-run in your project.

What does Analyze Test Run need to run?

SKILL.md names no scripts, command-line tools or credentials: Analyze Test Run is instructions for the agent only.

Does Analyze Test Run access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Analyze Test Run safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Analyze Test Run use?

Analyze Test Run is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Analyze Test Run use?

About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.1k tokens, read only when the agent opens those files.

What are the alternatives to Analyze Test Run?

Skills that share tags, products or a category with Analyze Test Run: CI Triage (canton-network/splice, 118 stars), GreptimeDB Fuzz CI Failure Investigation (GreptimeTeam/greptimedb, 6.7k stars), CI Failure Triage and Repair (Chachamaru127/claude-code-harness, 3.2k stars) and Megatron-LM CI Failure Triage (NVIDIA/Megatron-LM, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Analyze Test Run?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/GitHub-Copilot-for-Azure, which has 255 GitHub stars. The repository holds 56 skills in this directory. The repository was last updated on October 7, 2026.

Source: microsoft/GitHub-Copilot-for-Azure on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.