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.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionanalyze-test-runExecute the skills CLI command in your project's root directory to begin installation:
Fetches analyze-test-run from microsoft/github-copilot-for-azure and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate analyze-test-run. Access via /analyze-test-run in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
180
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
180
stars
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.
| Parameter | Required | Description |
|---|---|---|
| Run ID or URL | Yes | GitHub Actions run ID (e.g. 22373768875) or full URL |
| Comparison Run | No | Second run ID/URL for side-by-side comparison |
All tools use owner: "microsoft" and repo: "GitHub-Copilot-for-Azure" as fixed parameters. method selects the operation within the tool.
| Tool | method |
Key Parameter | Purpose |
|---|---|---|---|
actions_get |
get_workflow_run |
resource_id: run ID |
Fetch run status and metadata |
actions_list |
list_workflow_run_artifacts |
resource_id: run ID |
List all artifacts for a run |
actions_get |
download_workflow_run_artifact |
resource_id: artifact ID |
Get a temporary download URL for an artifact ZIP |
get_job_logs |
— | run_id + failed_only: true |
Retrieve job logs when artifact content is inaccessible |
search_issues |
— | query: search string |
Find existing open issues before creating new ones |
create_issue |
— | title, body, labels, assignees |
File a new GitHub issue for a test failure |
Extract the numeric run ID from the input (strip URL prefix if needed)
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>" })
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.
Locate these files in the downloaded artifacts:
junit.xml — test pass/fail/skip/error results*-SKILL-REPORT.md — generated skill report with per-test detailsagent-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_logsMCP tool to identify test failures and produce a best-effort analysis from whatever data is accessible.
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:
| Metric | Value |
|---|---|
| Total tests | count from <testsuites tests=…> |
| Executed | total − skipped |
| Skipped | count of <skipped/> elements |
| Passed | executed − failures − errors |
| Failed | count of <failure> elements |
| Test Pass Rate | passed / 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:
| Skill | How to detect |
|---|---|
azure-prepare |
Mentioned as invoked in the narrative or agent-metadata |
azure-validate |
Mentioned as invoked in the narrative or agent-metadata |
azure-deploy |
Mentioned as invoked in the narrative or agent-metadata |
Build a per-test invocation matrix (Yes/No for each skill) and compute rates:
| Skill | Invocation Rate |
|---|---|
| azure-deploy | X% (n/total) |
| azure-prepare | X% (n/total) |
| azure-validate | X% (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:
| Skill | Invocation 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:
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.
For every test with a <failure> element in junit.xml:
agent-metadata-*.md for that test from the artifactssearch_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.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 bracketsIssue 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 | Cause | Fix |
|---|---|---|
no artifacts found |
Run has no uploadable reports | Verify the run completed the "Export report" step |
HTTP 404 on actions_get |
Invalid run ID or no access | Check the run ID and ensure the MCP token has repo access |
rate limit exceeded |
Too many GitHub API calls | Wait and retry; reduce concurrent MCP tool calls |
| Artifact ZIP download blocked | AWF sandbox restricts outbound HTTP to blob storage | Use get_job_logs MCP tool to get failure details from job logs; produce best-effort analysis from metadata |
Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
microsoft/github-copilot-for-azure
cexll/myclaude
github/awesome-copilot
github/awesome-copilot
dotnet/skills
microsoft/playwright-cli
analyze-test-run fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Useful defaults in analyze-test-run — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
analyze-test-run has been reliable in day-to-day use. Documentation quality is above average for community skills.
Solid pick for teams standardizing on skills: analyze-test-run is focused, and the summary matches what you get after install.
We added analyze-test-run from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
I recommend analyze-test-run for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
Keeps context tight: analyze-test-run is the kind of skill you can hand to a new teammate without a long onboarding doc.
Registry listing for analyze-test-run matched our evaluation — installs cleanly and behaves as described in the markdown.
analyze-test-run is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
analyze-test-run reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 71