Agent Skillstimeplus-io/proton › ci-diagnostics

ci-diagnostics

GitHub

诊断 Proton CI 失败及性能对比结果,通过 GitHub Checks 和上传报告定位问题。适用于 PR 检查失败、CI URL 或测试故障场景,输出失败原因分类及下一步调试建议。

.claude/skills/ci-diagnostics/SKILL.md timeplus-io/proton

Trigger Scenarios

PR 有红色或失败的检查 用户粘贴 CI URL 询问管道中的测试失败 提及 CI 失败

Install

npx skills add timeplus-io/proton --skill ci-diagnostics -g -y
More Options

Non-standard path

npx skills add https://github.com/timeplus-io/proton/tree/develop/.claude/skills/ci-diagnostics -g -y

Use without installing

npx skills use timeplus-io/proton@ci-diagnostics

指定 Agent (Claude Code)

npx skills add timeplus-io/proton --skill ci-diagnostics -a claude-code -g -y

安装 repo 全部 skill

npx skills add timeplus-io/proton --all -g -y

预览 repo 内 skill

npx skills add timeplus-io/proton --list

SKILL.md

Frontmatter
{
    "name": "ci-diagnostics",
    "description": "Diagnose Proton CI failures and performance comparison results from GitHub checks and uploaded reports. Make sure to use this skill whenever CI checks are mentioned, a PR has red or failing checks, the user pastes a CI URL, or asks about test failures in the pipeline, even if they just ask 'why is CI failing'."
}

CI Diagnostics

Inputs

  • PR number or URL
  • optional check name substring
  • optional direct report URL

First step: collect check status

For a PR:

gh pr view "$PR" --json title,body,url
gh pr checks "$PR"
REPO=$(gh repo view --json nameWithOwner --jq .nameWithOwner)
SHA=$(gh pr view "$PR" --json commits --jq '.commits[-1].oid')
gh api "repos/$REPO/commits/$SHA/status"

Use the commit status payload to find:

  • failing or pending contexts
  • target_url links for uploaded HTML reports, raw logs, or performance artifacts

Proton report layout

CI uploads reports under:

<pr-number>/<commit-sha>/<normalized-check-name>...

The normalization logic is defined in:

Normalize a check name with lowercase and replacements for spaces, (, ), and ,.

Failure triage workflow

  1. List failing contexts from gh pr checks or commit statuses.
  2. Open each target_url report first.
  3. If the report is sparse, inspect the linked raw log.
  4. For test reports, summarize:
    • failing test names
    • first common error signature
    • whether the failure looks deterministic, flaky, infra, or environment-specific
  5. Map failures back to touched areas in the diff.

Performance comparison workflow

Performance comparison artifacts upload:

  • report.html
  • all-queries.html
  • all-query-metrics.tsv
  • queries.rep
  • images/flamegraphs

If you have a report.html URL, inspect sibling artifacts by replacing the filename in the same prefix.

When reviewing perf results:

  • start from the summary in report.html
  • inspect all-query-metrics.tsv for the biggest client_time regressions
  • distinguish broad regressions from a few outlier queries
  • correlate with touched execution paths, joins, windows, aggregations, or storage reads

Output expectations

Always report:

  1. failing checks
  2. best report/log URL for each failing check
  3. likely failure class: code bug, flaky test, infra, dependency, or timeout/resource limit
  4. smallest next debugging action

For performance changes also report:

  1. whether the regression is broad or narrow
  2. the most affected workload family
  3. whether more local benchmarking is needed before code changes

Version History

  • 7be2219 Current 2026-08-20 08:20

Same Skill Collection

.claude/skills/alloc-profile/SKILL.md
.claude/skills/build-and-verify/SKILL.md
.claude/skills/cpp-coding/SKILL.md
.claude/skills/create-worktree/SKILL.md
.claude/skills/review/SKILL.md
.claude/skills/sql-usage/SKILL.md

Metadata

Files
0
Version
7be2219
Hash
84f0a06d
Indexed
2026-08-20 08:20

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-28 01:41
浙ICP备14020137号-1 $Carte des visiteurs$