Triage des échecs CI

VérifiéSûr

Diagnostique les vérifications GitHub Actions en échec : liste les échecs, classe des hypothèses falsifiables, confirme la cause racine par les logs, puis applique et vérifie le correctif minimal.

Spar Skills Guide Bot
DevOpsIntermédiaire
02/11/2026
Claude CodeCodex
#ci-triage#github-actions#debugging#root-cause#verification

Recommandé pour

Synthèse automatique

Diagnostique les vérifications GitHub Actions en échec sur une PR ou une branche en listant les échecs, en classant des hypothèses falsifiables, en confirmant la cause racine par les journaux, puis en appliquant et vérifiant le correctif minimal autorisé.

Points forts

  • Impose d'énumérer des hypothèses et la commande la plus rapide pour les réfuter avant toute investigation.
  • Exige des preuves dans les journaux avant de proposer ou d'appliquer un correctif.
  • Limite la modification au plus petit changement autorisé et demande la commande de vérification exacte issue du workflow CI.
  • Distingue explicitement une demande de correction d'une demande de revue en lecture seule.

Limites

  • Ne couvre que GitHub Actions et dépend de l'authentification et des droits du CLI `gh`.
  • Ne décrit ni détection des échecs instables, ni relance des jobs, ni correction de problèmes d'infrastructure.
  • Les commandes autorisées sont restreintes à `gh pr`, `gh run`, `git branch` et `git log`, ce qui peut bloquer certaines investigations.

Analyse de sécurité

Sûr
Score qualité80/100

The skill is a read-only CI diagnosis workflow built entirely on benign GitHub CLI and git inspection commands; there is no rm, curl|sh, credential handling, obfuscation, or instruction-override content. The only notable concerns are the mildly permissive authorization phrasing and the Step 6 suggestion to run the project's CI command, which exceeds the declared tool allowlist but is a normal, non-destructive developer action.

Points d'attention
  • •Step 5 contains authorization-assumption language ('existing authorization counts', 'Ask only at the root AGENTS.md boundaries') that could nudge an agent to make edits without explicit confirmation; impact is limited because the declared tool surface is read-only.
  • •Step 6 asks the agent to run 'the same command CI runs' (e.g. the workflow's build/test command), which falls outside the declared `gh`/`git` read-only tool allowlist — a scope expansion, though a conventional and non-destructive one.
  • •No destructive, exfiltrating, or obfuscated actions: all declared commands (`gh pr checks`, `gh pr view`, `gh run list/view --log-failed`, `git branch --show-current`, `git log`) are read-only inspection; logs may contain environment values but nothing instructs sending them anywhere.
Comment cette analyse est faite

Exemples

Triage a red PR
CI is red on PR #482. List the failing checks, rank your hypotheses, and confirm the root cause before changing anything.
Fix a lint failure
The lint job on my branch failed. Run CI triage and apply the smallest authorized fix, then verify it with the exact command CI uses.
Investigate a test job
Why did the test workflow fail on feature/login? Investigate the logs, report the confirmed cause, and propose a fix without editing files.

name: ci-triage description: "Diagnoses failing GitHub Actions checks on a PR or branch: lists the failures, ranks falsifiable hypotheses, confirms the root cause with log evidence, then applies and verifies the smallest authorized fix. Use when CI is red, a check or workflow run fails, or the user asks why a build, lint or test job failed." allowed-tools: Bash(gh pr *), Bash(gh run *), Bash(git branch *), Bash(git log *)

CI Triage

Step 1 — List failures Run gh pr checks on the current PR and list every failing check by name. For a push-triggered run with no PR, use gh run list --branch <branch> --limit 5 instead.

Step 2 — Hypotheses first, before any investigation For each failing check, enumerate your top 3 hypotheses with the single fastest command to falsify each (usually starting with gh run view <id> --log-failed). Present this list to the user. Do not start running commands or reading files yet.

Step 3 — Investigate Test each hypothesis from cheapest to most expensive; read-only investigation needs no additional confirmation. Stop and report findings after each hypothesis before moving to the next.

Step 4 — Confirm root cause State the confirmed root cause clearly. Do not guess or propose a fix until you have evidence.

Step 5 — Apply the authorized fix For a fix request, make the smallest supported change within the task. For a review-only request, report the proposed fix without editing. Ask only at the root AGENTS.md boundaries; existing authorization counts.

Step 6 — Verification command After the fix is applied, run and report the exact command that confirms it resolves the failure before pushing — the same command CI runs (from the workflow YAML), not an approximation.


Current PR info (Claude Code fills these in; in Codex, run the commands):

  • Branch: !git branch --show-current
  • Recent commits: !git log --oneline -5

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/ci-failure-triage-mvg6txae/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/ci-failure-triage-mvg6txae' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/ci-failure-triage-mvg6txae/download' --output '.skill-downloads/ci-failure-triage-mvg6txae/SKILL.md.part' && mv '.skill-downloads/ci-failure-triage-mvg6txae/SKILL.md.part' '.skill-downloads/ci-failure-triage-mvg6txae/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash(gh pr *), Bash(gh run *), Bash(git branch *), Bash(git log *)

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/ci-failure-triage-mvg6txae/SKILL.md' && test -s '.skill-downloads/ci-failure-triage-mvg6txae/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/ci-triage' && cp -R '.skill-downloads/ci-failure-triage-mvg6txae' '.claude/skills/ci-triage'

Codex
test -f '.skill-downloads/ci-failure-triage-mvg6txae/SKILL.md' && test -s '.skill-downloads/ci-failure-triage-mvg6txae/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/ci-triage' && cp -R '.skill-downloads/ci-failure-triage-mvg6txae' '.agents/skills/ci-triage'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/ci-failure-triage-mvg6txae'

openskills read 'ci-failure-triage-mvg6txae'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/ci-failure-triage-mvg6txae/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires