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.
排查并修复给定的 LinaPro GitHub Actions 失败问题;修复完成后保留本地改动, 禁止自动提交、推送或创建 PR。
$ npx skills add linaproai/linapro --skill lina-community-fix-ci -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install linaproai/linapro lina-community-fix-ci --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/linaproai/linapro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/lina-community-fix-ci .claude/skills/lina-community-fix-ci && 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 "lina-community-fix-ci" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-community-fix-ci into .claude/skills/lina-community-fix-ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-community-fix-ci", 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/linaproai/linapro/tree/main/.agents/skills/lina-community-fix-ciType 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 linaproai/linapro --skill lina-community-fix-ci -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install linaproai/linapro lina-community-fix-ci --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/lina-community-fix-ci .agents/skills/lina-community-fix-ci && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "lina-community-fix-ci" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-community-fix-ci into .agents/skills/lina-community-fix-ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-community-fix-ci", 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 linaproai/linapro --skill lina-community-fix-ci -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install linaproai/linapro lina-community-fix-ci --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/lina-community-fix-ci .cursor/skills/lina-community-fix-ci && 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 "lina-community-fix-ci" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-community-fix-ci into .cursor/skills/lina-community-fix-ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-community-fix-ci", 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/linaproai/linapro.git --path .agents/skills/lina-community-fix-ci--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 linaproai/linapro --skill lina-community-fix-ci -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install linaproai/linapro lina-community-fix-ci --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/lina-community-fix-ci .gemini/skills/lina-community-fix-ci && 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 "lina-community-fix-ci" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-community-fix-ci into .gemini/skills/lina-community-fix-ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-community-fix-ci", 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 linaproai/linapro lina-community-fix-ciInstalls 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 linaproai/linapro --skill lina-community-fix-ci -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/lina-community-fix-ci .github/skills/lina-community-fix-ci && 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 "lina-community-fix-ci" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-community-fix-ci into .github/skills/lina-community-fix-ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-community-fix-ci", 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 linaproai/linapro --skill lina-community-fix-ci -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install linaproai/linapro lina-community-fix-ci --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/linaproai/linapro.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/lina-community-fix-ci .opencode/skills/lina-community-fix-ci && 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 "lina-community-fix-ci" agent skill from https://github.com/linaproai/linapro/tree/main/.agents/skills/lina-community-fix-ci into .opencode/skills/lina-community-fix-ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lina-community-fix-ci", 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.
lina-community-fix-ci排查并修复给定的 LinaPro GitHub Actions 失败问题;修复完成后保留本地改动, 禁止自动提交、推送或创建 PR。
Lina Community Fix CI is an agent skill from linaproai/linapro. 排查并修复给定的 LinaPro GitHub Actions 失败问题;修复完成后保留本地改动, 禁止自动提交、推送或创建 PR。 必须用户手动触发,禁止自动触发该技能。
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: 需要 GitHub CLI gh 已登录且具备读取 Actions run/log 权限;需要 git 与本地可执行的 make/测试命令。
It sits in DevOps & Cloud, covering Failing and flaky tests and CI/CD. It works with GitHub Actions and Git. The repository describes itself as: AI-native full-stack framework engineered for sustainable delivery. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 75395c8. 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:
gitghgoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, 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.
需要 GitHub CLI `gh` 已登录且具备读取 Actions run/log 权限;需要 `git` 与本地可执行的 make/测试命令。
From compatibility in the SKILL.md frontmatter.
Lina Community Fix CI loads about 1.8k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 447 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 linaproai/linapro at commit 75395c8, republished under its Apache-2.0 licence (© linaproai). 447 words, ~1,772 tokens.
.claude/skills/lina-community-fix-ci/SKILL.md (or your agent's skills folder).手动排查并修复 LinaPro 仓库中指定的 GitHub Actions 失败。该技能负责收集失败证据、定位根因、实施最小必要修复,并在本地尽量复现对应校验;修复完成后不得自动提交代码。
linaproai/linapro。用户指定其他仓库时使用用户指定值。git add、git commit、git push、gh pr create、gh pr edit,也不得调用 lina-community-commit-push-and-pr。本地改动保留给用户审查。git reset --hard、git checkout --、git clean、--force 推送或丢弃用户已有未提交改动。git status;若存在无关未提交改动,只修改本次修复相关路径,不还原、不混入无关变更。AGENTS.md 判断命中的规则域,读取对应 .agents/rules/*.md;未读取命中规则不得改生产代码、测试或 workflow。自然识别以下用户请求:
lina-community-fix-ci修复 CI 失败排查 GitHub Actions 失败fix this failing action处理 PR #123 的 CI修复 run 1234567890按顺序尽量解析出以下信息:
| 优先级 | 输入 | 解析方式 |
| --- | --- |
| 1 | Actions run URL / job URL | 提取 owner/repo、run_id,必要时提取 job_id |
| 2 | run ID | 在默认或指定仓库查询该 run |
| 3 | PR 编号 | 查询该 PR 最新失败 check run / workflow run |
| 4 | workflow 名 + 分支 | 查询该 workflow 在指定分支上最近失败 run |
| 5 | 仅说“修 CI” | 列出最近失败 run,请用户确认后再修 |
示例命令:
# run URL 示例:https://github.com/linaproai/linapro/actions/runs/1234567890
# job URL 示例:.../actions/runs/1234567890/job/9876543210
gh run view "$RUN_ID" -R "$REPO" --json databaseId,workflowName,displayTitle,headBranch,headSha,event,status,conclusion,url,jobs
gh pr checks "$PR_NUMBER" -R "$REPO"
gh run list -R "$REPO" --status failure --limit 10 \
--json databaseId,workflowName,displayTitle,headBranch,headSha,event,status,conclusion,url,createdAt在修改任何文件前先做只读检查:
gh auth status
git rev-parse --show-toplevel
git remote -v
git status --short --branch
git branch --show-current
git rev-parse HEAD确认:
gh 能读取目标仓库 Actions。如果权限不足、不在可信仓库、工作区有高风险脏状态且无法安全隔离修复,停止并报告阻断原因。
gh run view "$RUN_ID" -R "$REPO" \
--json databaseId,workflowName,displayTitle,headBranch,headSha,event,status,conclusion,url,jobs,createdAt,updatedAt
gh run view "$RUN_ID" -R "$REPO" --log-failed日志过大时:
gh run view "$RUN_ID" -R "$REPO" --job "$JOB_ID" --log
# 或下载完整日志后本地检索
gh api "repos/$REPO/actions/runs/$RUN_ID/logs" > "/tmp/ci-run-$RUN_ID.zip"必须提取:
.github/workflows/main-ci.yml)push / pull_request / workflow_dispatch / schedule)headSha 与分支 headBranch根据失败 workflow 读取本地或失败 SHA 对应定义:
# 优先本地当前工作区
sed -n '1,200p' .github/workflows/<workflow>.yml
# 需要对照失败提交时
git show "$HEAD_SHA:.github/workflows/<workflow>.yml"重点确认:
将失败步骤映射为可本地执行的等价命令。常见映射:
| CI 信号 | 优先本地验证 |
|---|---|
| Go 编译/单测失败 | 对应包 go test 或项目约定 make 目标 |
| Go lint 失败 | 与 workflow 相同的 lint 命令 |
| 前端单测失败 | 对应前端测试命令 |
| i18n check 失败 | i18n 校验命令 |
| make command smoke 失败 | 失败日志中的具体 make 命令 |
| OpenSpec 完成性检查失败 | openspec 相关校验 |
| 插件相关 job 失败 | 插件目录内对应测试/命令 |
| Redis/集成测试失败 | 确认本地依赖后运行对应测试 |
| E2E 失败 | 按 lina-e2e 与项目测试规范运行相关用例 |
| 仅 CI 环境问题(runner、权限、secrets、配额) | 不改业务代码;报告为环境/配置问题 |
不得猜测命令;以 workflow YAML、composite action 和失败日志中的实际命令为准。
在改代码前输出简短根因分析:
### CI 失败根因分析
- 目标:run <id> / job <name> / step <name>
- 仓库与引用:<repo> @ <branch> (<sha>)
- 失败摘要:<一句话>
- 根因判断:<代码缺陷 / 测试脆弱 / 工作流配置 / 环境依赖 / 权限或密钥 / flaky / 信息不足>
- 证据:<日志关键行、源码路径、workflow 路径>
- 拟修复范围:<文件或模块列表>
- 本地复现计划:<命令>
- 是否需要改 workflow:是/否(默认否;只有证据表明 workflow 本身错误才改)分类处理:
.github/workflows/、.github/actions/ 或 hack/ 脚本;同时读取 dev-tooling 等命中规则。根据拟修改路径读取 AGENTS.md 与命中的 .agents/rules/*.md。常见映射:
backend-go.mdapi-contract.mddatabase.mdfrontend-ui.mdtesting.mdi18n.mdplugin.mddev-tooling.mdopenspec.mddocumentation.md插件目录变更前,还要检查并遵守 apps/lina-plugins/<plugin-id>/AGENTS.md(若存在)。
按映射命令验证:
验证记录必须包含命令、退出码和关键输出摘要。失败则继续分析,不得在红的情况下宣布完成。
修复与验证结束后,停止。以下动作全部禁止,除非用户在本技能之外另行明确要求:
git add / git commit / git commit --amendgit push / git push --force / git push --force-with-leasegh pr create / gh pr comment / gh pr edit / gh workflow runlina-community-commit-push-and-pr可以向用户说明“修复已完成,本地未提交;如需提交和开 PR,可手动触发 lina-community-commit-push-and-pr”,但不得自行执行。
处理结束后用简洁结构汇报:
## CI 修复结果
- 目标仓库:
- 失败 run:
- workflow / job / step:
- 失败提交与分支:
- 根因:
- 修改文件:
- 本地验证:
- 命令与结果:
- 未覆盖风险:
- Git 状态:仍有未提交改动 / 工作区干净
- 提交状态:**未提交**(本技能禁止自动提交)
### 建议下一步
- 用户审查 diff
- 如需提交/推送/开 PR:手动触发 `lina-community-commit-push-and-pr` 或自行提交
- 如需重跑 Actions:由用户在 GitHub 重跑,或用户明确要求后再执行 `gh run rerun`最终报告不得包含密钥、token、完整敏感日志或无关大段 diff。
© linaproai, 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
Just SKILL.md in .agents/skills/lina-community-fix-ci of linaproai/linapro.
Open the folder on GitHubat commit 75395c8
Lina Community Fix CI 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 |
|---|---|---|---|---|---|---|
| Lina Community Fix CI this skilllinaproai/linapro | 161 | — | ~1.8k | 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 | |
| ReleaseSma1lboy/rove | 171 | — | ~3.1k | Automated safety check: Warn | MIT | |
| CI Watchdoglatitude-dev/latitude-llm | 4.7k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Megatron-LM CI Failure TriageNVIDIA/Megatron-LM | 18k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| CI Failure Triagen1m21n/Infinite | 272 | — | ~1.5k | Automated safety check: Pass | Custom licence |
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.
Sma1lboy/rove
Autonomously cut a Rove (@sma1lboy/rove) release end-to-end — detect the semver bump from pending changesets (flagging an upstream minor you didn't intend), run the release gates, dispatch the…
latitude-dev/latitude-llm
Continuously monitor GitHub PR CI checks and automatically fix failures until all checks pass.
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.
n1m21n/Infinite
Diagnose a failed GitHub Actions run (Windows MSVC crash, Linux clang/sanitizer, link errors) from the logs in one pass, and fix every candidate at once instead of one CI round-trip at a time.
spencerpauly/awesome-cursor-skills
When GitHub Actions fails, fetch failing job logs and assign each failing job to a separate subagent that fixes its slice of the problem in parallel.
linaproai/linapro
通过 make db.init/mock 重置数据库、重启服务、安装并启用所有内置插件、准备压测数据,并启动并发子代理; 通常需要几十分钟到数小时,且会消耗大量 Token。不得从其他技能、CI、定时任务、 Git 钩子或模糊的性能请求中触发。
linaproai/linapro
Vben Admin 5.0 前端框架开发技能。用于开发基于 Vue3、Vite、TypeScript 的中后台管理系统。
linaproai/linapro
手动触发:为 LinaPro 主仓库及 apps/lina-plugins 子模块完成提交、PR 前 rebase、推送、创建 PR, 主仓 CI 修复回路,以及 PR 合并后恢复原始分支并同步 main。禁止自动触发。
linaproai/linapro
审查 LinaPro 社区 GitHub Issues,并按项目规范和源码实现分类处理. An agent skill from linaproai/linapro.
linaproai/linapro
手动触发:将主仓库与 apps/lina-plugins 对齐最新 main 后, 按提示在两侧各建独立分支;分支就绪后继续处理提示词中的后续请求。
linaproai/linapro
审查 LinaPro 社区 GitHub Pull Request,并按项目规范发表评论. An agent skill from linaproai/linapro.
Works with
Categories
排查并修复给定的 LinaPro GitHub Actions 失败问题;修复完成后保留本地改动, 禁止自动提交、推送或创建 PR。. Lina Community Fix CI is an agent skill from linaproai/linapro.
Lina Community Fix CI fits situations like: tasks that involve Failing and flaky tests; tasks that involve CI/CD.
Run `npx skills add linaproai/linapro --skill lina-community-fix-ci -a claude-code`. Or copy the skill folder (.agents/skills/lina-community-fix-ci in linaproai/linapro) into .claude/skills/lina-community-fix-ci in your project. Claude Code loads it when a task matches its description.
Run `npx skills add linaproai/linapro --skill lina-community-fix-ci -a codex`. Or copy the skill folder (.agents/skills/lina-community-fix-ci in linaproai/linapro) into .agents/skills/lina-community-fix-ci 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 linaproai/linapro --skill lina-community-fix-ci -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lina-community-fix-ci, .gemini/skills/lina-community-fix-ci, .github/skills/lina-community-fix-ci and .opencode/skills/lina-community-fix-ci in your project.
Going by SKILL.md and its folder, Lina Community Fix CI needs the command-line tools its instructions call (git, gh and go). Compatibility (from SKILL.md): 需要 GitHub CLI `gh` 已登录且具备读取 Actions run/log 权限;需要 `git` 与本地可执行的 make/测试命令。.
SKILL.md contains no URLs. Its commands use git and gh, 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.
Lina Community Fix CI 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.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Lina Community Fix CI: CI Failure Triage and Repair (Chachamaru127/claude-code-harness, 3.2k stars), Release (Sma1lboy/rove, 171 stars), CI Watchdog (latitude-dev/latitude-llm, 4.7k 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.
linaproai (a GitHub organization) maintains it in linaproai/linapro, which has 161 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 7, 2026.
Source: linaproai/linapro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.