Analyze Test Run
microsoft/GitHub-Copilot-for-Azure
Analyze a GitHub Actions integration test run and produce a skill invocation report with failure root-cause issues.
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…
$ npx skills add canton-network/splice --skill ci-triage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install canton-network/splice ci-triage --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/canton-network/splice.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ci-triage .claude/skills/ci-triage && 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 "ci-triage" agent skill from https://github.com/canton-network/splice/tree/main/.claude/skills/ci-triage into .claude/skills/ci-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-triage", 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/canton-network/splice/tree/main/.claude/skills/ci-triageType 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 canton-network/splice --skill ci-triage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install canton-network/splice ci-triage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/canton-network/splice.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/ci-triage .agents/skills/ci-triage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ci-triage" agent skill from https://github.com/canton-network/splice/tree/main/.claude/skills/ci-triage into .agents/skills/ci-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-triage", 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 canton-network/splice --skill ci-triage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install canton-network/splice ci-triage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/canton-network/splice.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/ci-triage .cursor/skills/ci-triage && 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 "ci-triage" agent skill from https://github.com/canton-network/splice/tree/main/.claude/skills/ci-triage into .cursor/skills/ci-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-triage", 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/canton-network/splice.git --path .claude/skills/ci-triage--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 canton-network/splice --skill ci-triage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install canton-network/splice ci-triage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/canton-network/splice.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/ci-triage .gemini/skills/ci-triage && 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 "ci-triage" agent skill from https://github.com/canton-network/splice/tree/main/.claude/skills/ci-triage into .gemini/skills/ci-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-triage", 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 canton-network/splice ci-triageInstalls 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 canton-network/splice --skill ci-triage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/canton-network/splice.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/ci-triage .github/skills/ci-triage && 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 "ci-triage" agent skill from https://github.com/canton-network/splice/tree/main/.claude/skills/ci-triage into .github/skills/ci-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-triage", 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 canton-network/splice --skill ci-triage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install canton-network/splice ci-triage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/canton-network/splice.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/ci-triage .opencode/skills/ci-triage && 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 "ci-triage" agent skill from https://github.com/canton-network/splice/tree/main/.claude/skills/ci-triage into .opencode/skills/ci-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci-triage", 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.
ci-triageTriage 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…
CI Triage is an agent skill from 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 duplicates, find the root cause with commands and verbatim log output, record it in the shared triage branch and, when a small test-side fix exists, put it on a branch. Use for "triage GHA run ... my ref ...", "is this a dup", "root cause of shard failure", checkErrors WARN/ERROR failures, integration test flakes.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/conventions.md`, `references/packet-template.md` and `references/recipes.md`).
It sits in Testing & QA, covering Failing and flaky tests, CI/CD and Root cause analysis. It works with GitHub Actions. The licence is Apache-2.0.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a58ac6d. 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:
ghgitprettierFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, 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.
CI Triage loads about 1.4k tokens when it runs, and up to ~3.6k if it reads all its reference files. Until then it costs about 130 tokens; SKILL.md has 730 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 canton-network/splice at commit a58ac6d, republished under its Apache-2.0 licence (© canton-network). 730 words, ~1,350 tokens.
.claude/skills/ci-triage/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Input: one or more (GitHub run URL or id, job name, cn-test-failures ref) tuples from the user. A ref is an
issue number in the failure tracker DACH-NY/cn-test-failures, readable with a GitHub login that has DACH-NY
access. Output: one evidence packet per ref in ci-triage/, a row in ci-triage/README.md, a duplicate verdict,
and optionally a fix branch. Everything you write must be reproducible by someone else: every claim is a command
plus its verbatim output. Read references/conventions.md once before starting; it overrides defaults.
The skill lives on main; the triage data does not. Packets, ci-triage/README.md, ci-triage/HANDOVER.md and the
flake family catalogue ci-triage/known-families.md live on the shared triage branch, which is never merged. If it
is not checked out, ask the user which triage branch is current before writing anything.
gh run view <run> --json jobs) and leave the mapping open until
the user states it. If you cannot read the tracker, ask for the run URL rather than guess.references/recipes.md section 1). Classify in one pass:Tests: succeeded N, failed 0 + contains problems = checkErrors failure: the only evidence is the
flagged log lines. The console masks {} as *** and prints every ignored line with the suffix
(ignore this line in check-sbt-output.sh); the real problems are the @timestamp lines WITHOUT it.*** FAILED *** = assertion or command failure: take the failing clue and stack head.ci-triage/known-families.md on the triage branch. A match still needs the confirming grep listed there (for example the
multi-host clue 1-15 s before an ACS mismatch period). Say "duplicate of X" only after that grep.nix/canton-sources.json at the run's sha, never from canton/.
For Canton behaviour cite the jar (references/recipes.md section 6), and state the version next to every
source citation.log/<ref>/<artifact>/ (gitignored), stream with zcat.
Build the suite timeline from canton_network_test.clog.gz, then correlate flagged timestamps to it and
to the canton log. Chase "what is it waiting on, and why" until the cause is a concrete event with a
timestamp; do not stop at the timeout symptom.git merge-base --is-ancestor <sha> origin/<branch>: a missing
backport is the most common resolution for release-line failures.references/packet-template.md: command, then verbatim output, per finding.
Add the README row (mapping table, overview table, cross-cutting notes when a pattern spans refs).
Add new families or occurrences to ci-triage/known-families.md.origin/main (or the release line for a backport, cherry-pick -x -s), in its own worktree so the triage
branch stays checked out (references/recipes.md section 8), named
<user>/fix-<ref>-<slug> (backports: <user>/backport-<ref>-<pr>-<release-line>), where <user> is your own
short git prefix, so the branch carries the cn-test-failures ref; when one branch fixes several refs, use the
parent ref and list the others in the README row. Single-subject commit with a CI tag and DCO sign-off, no
code comments, no AI attribution. State plainly what was and was not verified.
Do not compile or start Canton unless asked; cheap checks only (scalafmtCheck, prettier --check,
config greps).[skip ci] and -s. Report: one line per ref with
duplicate verdict and fix state, then the branch tips.canton/ source line numbers: it is a stale rsync copy.© canton-network, Apache-2.0. 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 3 other files (references) in .claude/skills/ci-triage of canton-network/splice.
Open the folder on GitHubat commit a58ac6d
CI Triage 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 |
|---|---|---|---|---|---|---|
| CI Triage this skillcanton-network/splice | 118 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Analyze Test Runmicrosoft/GitHub-Copilot-for-Azure | 255 | — | ~2.5k | Automated safety check: Pass | MIT | |
| GreptimeDB Fuzz CI Failure InvestigationGreptimeTeam/greptimedb | 6.7k | — | ~4.4k | Automated safety check: Pass | Apache-2.0 | |
| CI Failure Triage and RepairChachamaru127/claude-code-harness | 3.2k | 1 repos | ~1.1k | Automated safety check: Notes | MIT | |
| Megatron-LM CI Failure TriageNVIDIA/Megatron-LM | 18k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| CI Fixwarpdotdev/oz-skills | 825 | — | ~790 | Automated safety check: Pass | MIT |
microsoft/GitHub-Copilot-for-Azure
Analyze a GitHub Actions integration test run and produce a skill invocation report with failure root-cause issues.
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.
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.
NVIDIA/Megatron-LM
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.
warpdotdev/oz-skills
Diagnose and fix GitHub Actions CI failures. An agent skill from warpdotdev/oz-skills.
microsoft/GitHub-Copilot-for-Azure
Query the integration-test storage account to find why a specific skill's tests are failing.
canton-network/splice
Repo-wide coding conventions enforced by pre-commit (copyright headers, scalafmt, Daml warts, TS formatting) so generated code matches on the first pass.
Works with
Categories
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…. CI Triage is an agent skill from 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 duplicates, find the root cause with commands and verbatim log output, record it in the shared triage branch and, when a small test-side fix exists, put it on a branch.
CI Triage fits situations like: triage GHA run .; tasks that involve Failing and flaky tests; tasks that involve CI/CD.
Run `npx skills add canton-network/splice --skill ci-triage -a claude-code`. Or copy the skill folder (.claude/skills/ci-triage in canton-network/splice) into .claude/skills/ci-triage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add canton-network/splice --skill ci-triage -a codex`. Or copy the skill folder (.claude/skills/ci-triage in canton-network/splice) into .agents/skills/ci-triage 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 canton-network/splice --skill ci-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ci-triage, .gemini/skills/ci-triage, .github/skills/ci-triage and .opencode/skills/ci-triage in your project.
Going by SKILL.md and its folder, CI Triage needs the command-line tools its instructions call (gh, git and prettier).
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. 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.
CI Triage is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.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 2.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with CI Triage: Analyze Test Run (microsoft/GitHub-Copilot-for-Azure, 255 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.
canton-network (a GitHub organization) maintains it in canton-network/splice, which has 118 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.
Source: canton-network/splice on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.