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…
Query the integration-test storage account to find why a specific skill's tests are failing.
$ npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-skill-issues -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/GitHub-Copilot-for-Azure analyze-skill-issues --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-skill-issues .claude/skills/analyze-skill-issues && rm -rf skills-srcUse ~/.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/
Install the "analyze-skill-issues" agent skill from https://github.com/microsoft/GitHub-Copilot-for-Azure/tree/main/.github/skills/analyze-skill-issues into .claude/skills/analyze-skill-issues/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-skill-issues", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/GitHub-Copilot-for-Azure/tree/main/.github/skills/analyze-skill-issuesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-skill-issues -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/GitHub-Copilot-for-Azure analyze-skill-issues --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/GitHub-Copilot-for-Azure.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/analyze-skill-issues .agents/skills/analyze-skill-issues && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "analyze-skill-issues" agent skill from https://github.com/microsoft/GitHub-Copilot-for-Azure/tree/main/.github/skills/analyze-skill-issues into .agents/skills/analyze-skill-issues/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-skill-issues", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-skill-issues -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/GitHub-Copilot-for-Azure analyze-skill-issues --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/GitHub-Copilot-for-Azure.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/analyze-skill-issues .cursor/skills/analyze-skill-issues && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "analyze-skill-issues" agent skill from https://github.com/microsoft/GitHub-Copilot-for-Azure/tree/main/.github/skills/analyze-skill-issues into .cursor/skills/analyze-skill-issues/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-skill-issues", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/GitHub-Copilot-for-Azure.git --path .github/skills/analyze-skill-issues--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-skill-issues -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/GitHub-Copilot-for-Azure analyze-skill-issues --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/GitHub-Copilot-for-Azure.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/analyze-skill-issues .gemini/skills/analyze-skill-issues && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "analyze-skill-issues" agent skill from https://github.com/microsoft/GitHub-Copilot-for-Azure/tree/main/.github/skills/analyze-skill-issues into .gemini/skills/analyze-skill-issues/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-skill-issues", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/GitHub-Copilot-for-Azure analyze-skill-issuesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-skill-issues -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/GitHub-Copilot-for-Azure.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/analyze-skill-issues .github/skills/analyze-skill-issues && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "analyze-skill-issues" agent skill from https://github.com/microsoft/GitHub-Copilot-for-Azure/tree/main/.github/skills/analyze-skill-issues into .github/skills/analyze-skill-issues/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-skill-issues", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-skill-issues -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/GitHub-Copilot-for-Azure analyze-skill-issues --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/GitHub-Copilot-for-Azure.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/analyze-skill-issues .opencode/skills/analyze-skill-issues && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "analyze-skill-issues" agent skill from https://github.com/microsoft/GitHub-Copilot-for-Azure/tree/main/.github/skills/analyze-skill-issues into .opencode/skills/analyze-skill-issues/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analyze-skill-issues", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
analyze-skill-issuesQuery the integration-test storage account to find why a specific skill's tests are failing.
Analyze Skill Issues is an agent skill from microsoft/GitHub-Copilot-for-Azure, published by the product's own GitHub organization. Query the integration-test storage account to find why a specific skill's tests are failing. Reads blob-stored test result files and surfaces error details. TRIGGERS: why is skill failing, skill test failures, debug skill tests, skill failing tests, analyze skill failures, why are tests failing for skill, skill test errors, investigate skill issues. DO NOT USE FOR: analyzing a GitHub Actions run report or comparing test runs across runs (use analyze-test-run).
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/blob-structure.md`).
It sits in Testing & QA, covering Failing and flaky tests, Integration testing and CI/CD. It works with Microsoft Azure, GitHub Actions and Model Context Protocol. The repository describes itself as: GitHub Copilot for Azure. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d8f4f4e. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
azFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use az, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Analyze Skill Issues loads about 2.1k tokens when it runs, and up to ~2.4k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 962 words of instructions outside code blocks.
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.
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.
The full file from microsoft/GitHub-Copilot-for-Azure at commit d8f4f4e, republished under its MIT licence (© microsoft). 962 words, ~2,109 tokens.
.claude/skills/analyze-skill-issues/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Queries the strdashboarddevveobvk Azure Storage account that stores all integration test results and retrieves error details for a given skill.
| Property | Value |
|---|---|
| Storage account | strdashboarddevveobvk |
| Container | integration-reports |
| Blob path pattern | {date}/{run_id}/{skill_name}/[{test_name}/]<file> — see Blob Path Layout |
| Blob discovery | mcp_azure_mcp_storage_blob_get — list blobs to find the right paths |
| Blob content download | az storage blob download ... --file "$env:TEMP\<filename>" — local path reported in summary |
| Best for | Diagnosing why a skill's integration tests are failing |
TOOL USAGE — MANDATORY: Use
mcp_azure_mcp_storage_blob_getto enumerate and identify the correct blob paths. Then useaz storage blob downloadto download and read the content of those blobs. These tools serve different purposes and are both always required — they are not alternatives.
Resolve the user's skill name to its canonical directory name using the Skill Name Mapping.
MCP tools are used exclusively for blob discovery — finding which blob paths exist. All calls require account: "strdashboarddevveobvk" and container: "integration-reports". Use az storage blob download (see Phase 2) to read blob content.
| Tool | Purpose | Key parameters |
|---|---|---|
mcp_azure_mcp_storage_blob_get | List blob names and metadata (does not return file content) | account, container; omit blob to list all |
mcp_azure_mcp_storage_blob_container_get | Verify the container exists | account, container |
Every response MUST include all of the following. Do not omit any item:
vscode://file/ link⚠️ MANDATORY: The Referenced Files section is not optional. Always resolve
$env:TEMPto the actual path (runecho $env:TEMP) and include a clickable link for every file downloaded. If this section is missing from your response, the output is incomplete.
TOOL RESPONSIBILITIES:
mcp_azure_mcp_storage_blob_getis used exclusively for blob discovery (listing available paths).az storage blob downloadis used exclusively for reading blob content. Both are always required.
Resolve the skill name using the Skill Name Mapping.
List all blobs in the container to discover available date/run paths:
mcp_azure_mcp_storage_blob_get({ account: "strdashboarddevveobvk", container: "integration-reports" })This returns a flat list of all blob names. Filter for entries that:
yyyy-mm-dd within the last 7 days/{skill_name}/ in the pathtoken-usage.json or agent-metadata.jsonGroup the matching blobs by date (descending) and by run ID (the second path segment).
Limit scope: If the user specified a date in their prompt, use only that date. Otherwise, take the 3 most recent dates from the filtered results and discard the rest. Do not process more than 3 dates.
For each matching blob path identified in Phase 1, download it to a local temp file and read its content:
az storage blob download --account-name strdashboarddevveobvk --container-name integration-reports `
--name "<full-blob-path>" --file "$env:TEMP\<filename>" --auth-mode login --no-progressUse just the last path segment as <filename>.
⚠️ REQUIRED: After each download, immediately append the resolved local path to your working list of referenced files. Run
echo $env:TEMPonce to resolve the actual temp directory. Every downloaded file must appear in the Referenced Files section of your final response — this is not optional.
Priority order for files to read (most useful first):
*.json files that are NOT token-usage.json or agent-metadata.json — these contain test pass/fail results and error messages*-SKILL-REPORT.md or *report*.json files — contain skill invocation details and test narrativesjunit.xml blobs if present — contain structured test failure messagesFor each test result file, extract:
Look specifically for fields such as:
"status": "failed" or "passed": false"error", "errorMessage", "failureMessage", "message" JSON keys<failure> or <error> XML elements in JUnit formatError: or FAIL prefixed lines in text reportsPresent the findings grouped by test name:
## Failures for <skill-name> — <date> (Run: <run_id>)
### <test-name>
- **Status:** failed
- **Error:** <error message>
- **Detail:** <stack trace or additional context, truncated to ~10 lines>
### <test-name-2>
...At the end of the summary, include a Referenced Files section listing every file that was downloaded as a clickable VS Code link. Resolve $env:TEMP to the actual Windows temp path (e.g. C:\Users\<user>\AppData\Local\Temp) and format each entry as a markdown link using the vscode://file/ URI scheme with forward slashes:
## Referenced Files
- [<filename1>](vscode://file/C:/Users/<user>/AppData/Local/Temp/<filename1>)
- [<filename2>](vscode://file/C:/Users/<user>/AppData/Local/Temp/<filename2>)
- ...To resolve the actual temp path, run echo $env:TEMP in the terminal before constructing the links.
Include:
Date iteration rule: Process the most recent date first. Only proceed to the next date if the current date yields zero failures. Stop as soon as failures are found — do not process all 3 dates if the first one has results.
See Blob Path Layout for the full container tree structure.
| Error | Cause | Remediation |
|---|---|---|
| No blobs found for skill | Skill has not run tests recently, or name is wrong | Verify skill name using the mapping table; tests run Tue–Sat on a schedule |
| Blob list is empty | Container access issue or wrong account | Confirm account: "strdashboarddevveobvk" and that the user has Azure CLI credentials |
| Blob content not readable | File is binary or corrupted | Skip that blob and try adjacent blobs for the same test |
| All tests show as skipped | The skill's test schedule hasn't run yet today | Check tests/skills.json for the skill's schedule and check a prior day's date prefix |
token-usage.json / agent-metadata.json only | Correct path but no result files | The test run may have crashed before writing results; check the run ID in GitHub Actions |
© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .github/skills/analyze-skill-issues of microsoft/GitHub-Copilot-for-Azure.
Open the folder on GitHubat commit d8f4f4e
Analyze Skill Issues 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Analyze Skill Issues this skillmicrosoft/GitHub-Copilot-for-Azure | 255 | — | ~2.1k | Automated safety check: Pass | MIT | |
| CI Triagecanton-network/splice | 118 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Azsdk Common Pipeline AnalysisAzure/azure-sdk-tools | 134 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Azsdk Common Pipeline FixerAzure/azure-sdk-tools | 134 | — | ~831 | Automated safety check: Pass | MIT | |
| Debug Playwright Prowquay/quay | 2.8k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| GreptimeDB Fuzz CI Failure InvestigationGreptimeTeam/greptimedb | 6.7k | — | ~4.4k | Automated safety check: Pass | Apache-2.0 |
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…
Azure/azure-sdk-tools
Analyze Azure SDK CI/CD pipeline failures into a structured diagnosis, and define the required output format.
Azure/azure-sdk-tools
Automatically fix Azure SDK CI/CD pipeline failures by applying code changes and verifying locally.
quay/quay
Deep-dive diagnosis of a Playwright test failure already isolated to one Quay Prow/OpenShift CI run: downloads its GCS artifacts (results.json, JUnit, build/pod logs, Jaeger traces), classifies real…
GreptimeTeam/greptimedb
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.
comet-ml/opik
Investigates a failed Opik end-to-end test from CI, TestOps or a local run, decides regression versus flake, and proposes a fix without editing tests.
microsoft/GitHub-Copilot-for-Azure
Discovers available Azure OpenAI model capacity across regions and projects.
microsoft/GitHub-Copilot-for-Azure
Unified Azure OpenAI model deployment skill with intelligent intent-based routing.
microsoft/GitHub-Copilot-for-Azure
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)…
microsoft/GitHub-Copilot-for-Azure
Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end.
microsoft/GitHub-Copilot-for-Azure
Azure Storage Services including Blob Storage, File Shares, Queue Storage, Table Storage, and Data Lake.
microsoft/GitHub-Copilot-for-Azure
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage.
Categories
Query the integration-test storage account to find why a specific skill's tests are failing. Analyze Skill Issues is an agent skill from microsoft/GitHub-Copilot-for-Azure, published by the product's own GitHub organization. Query the integration-test storage account to find why a specific skill's tests are failing.
Analyze Skill Issues fits situations like: : analyzing a GitHub Actions run report; comparing test runs across runs (use analyze-test-run).
Run `npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-skill-issues -a claude-code`. Or copy the skill folder (.github/skills/analyze-skill-issues in microsoft/GitHub-Copilot-for-Azure) into .claude/skills/analyze-skill-issues in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/GitHub-Copilot-for-Azure --skill analyze-skill-issues -a codex`. Or copy the skill folder (.github/skills/analyze-skill-issues in microsoft/GitHub-Copilot-for-Azure) into .agents/skills/analyze-skill-issues in your project. Codex loads it when a task matches its description.
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-skill-issues -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-skill-issues, .gemini/skills/analyze-skill-issues, .github/skills/analyze-skill-issues and .opencode/skills/analyze-skill-issues in your project.
Going by SKILL.md and its folder, Analyze Skill Issues needs the command-line tools its instructions call (az).
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.
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.
Analyze Skill Issues is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k 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 311 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Analyze Skill Issues: CI Triage (canton-network/splice, 118 stars), Azsdk Common Pipeline Analysis (Azure/azure-sdk-tools, 134 stars), Azsdk Common Pipeline Fixer (Azure/azure-sdk-tools, 134 stars) and Debug Playwright Prow (quay/quay, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.