Synthèse automatique
Fournit un diagnostic et une résolution systématiques des défaillances CI/CD, couvrant l'authentification, les problèmes spécifiques à la plateforme, les dépendances et les bugs de code.
Points forts
- Processus de diagnostic structuré en étapes
- Couverture des catégories de pannes courantes
- Commandes rapides et stratégies de repli intégrées
Limites
- Suppose un environnement GitHub Actions
- Ne couvre pas tous les systèmes CI
- Dépend des outils CLI disponibles dans l'environnement
Lorsque des builds CI échouent, des erreurs GitHub Actions se produisent, des problèmes TLS/auth bloquent les pipelines ou des défaillances spécifiques à une plateforme nécessitent un débogage.
Lorsque le problème est en dehors du pipeline CI/CD (par exemple, environnement de développement local) ou que le système CI n'est pas GitHub Actions.
Analyse de sécurité
SûrThe skill uses non-destructive diagnostic commands (curl, gh, grep, package managers) solely for troubleshooting CI/CD failures. It does not execute destructive actions, exfiltrate tokens, or disable safety mechanisms.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
My GitHub Actions workflow is failing with an authentication error. Please diagnose the issue.I'm getting a TLS certificate error in my CI pipeline on Ubuntu runner. Help me fix it.My build passes on macOS but fails on Windows in CI. What could be the cause?name: ci-debugging description: Provides systematic CI/CD failure diagnosis and resolution. Use when CI builds fail, GitHub Actions errors occur, TLS/auth issues block pipelines, or platform-specific failures need debugging. allowed-tools: Bash, Read, Grep, Glob, WebFetch
CI/CD Debugging Skill
When to Use
- CI build failures
- GitHub Actions workflow errors
- TLS certificate or authentication issues
- Platform-specific compilation failures
- Dependency resolution problems
Diagnostic Flow
Step 1: Categorize Failure Type
Determine which category the failure falls into:
| Category | Indicators | Priority | |----------|------------|----------| | Environment/Auth | TLS errors, token expired, permission denied | Check first | | Platform-Specific | Works on Linux fails on Windows, vice versa | Check second | | Missing Dependencies | Module not found, package missing | Check third | | Actual Code Bug | Test assertions, logic errors | Check last |
Step 2: Environment/Auth Issues
Check for sandboxed environment limitations:
# Test GitHub API connectivity
curl -s --connect-timeout 5 https://api.github.com/zen
# Check GitHub CLI auth status
gh auth status
# Verify GITHUB_TOKEN
echo "Token present: ${GITHUB_TOKEN:+yes}"
Common Issues:
- TLS certificate errors -> Try diagnosis with connectivity check first
- Token expired -> Re-authenticate with
gh auth login - Sandbox blocked -> Use local git operations as fallback
Step 3: Platform-Specific Issues
Look for platform-specific patterns:
# Search for Unix-specific code
grep -rn "MSG_DONTWAIT\|/dev/null\|fork()" src/
# Check for Windows path issues
grep -rn '"/tmp\|"/var' src/
Fallback: Add conditional compilation or use cross-platform alternatives.
Step 4: Dependency Issues
# Check for missing packages (Node.js)
npm ls 2>&1 | grep "MISSING" || echo "No missing npm packages"
# For Python
pip check 2>&1 || echo "No pip issues"
# For CMake/C++
cmake --build build/ 2>&1 | grep -i "error\|not found" || echo "Build OK"
Step 5: Code Bug Analysis
If none of the above:
- Read the failing test output carefully
- Identify the assertion that failed
- Trace back to the implementation
- Fix the actual bug
Fallback Strategies
GitHub API Blocked
Priority order:
1. Use gh CLI (preferred)
2. Direct curl with GITHUB_TOKEN
3. Local git operations only
4. Manual intervention required
TLS/Certificate Issues
Priority order:
1. Check system certificates
2. Verify proxy settings
3. Use alternative connectivity check
4. Report as environment issue
Quick Commands
| Issue | Command |
|-------|---------|
| Check CI logs | gh run view --log-failed |
| Re-run failed | gh run rerun --failed |
| View workflow | gh run view |
| Check auth | gh auth status |
| List failed runs | gh run list --status failure |
Reference Documents (Import Syntax)
@./reference/common-failures.md
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 annexesCe 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.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/ci-cd-debugging-mm78nnmi/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-cd-debugging-mm78nnmi' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/ci-cd-debugging-mm78nnmi/download' --output '.skill-downloads/ci-cd-debugging-mm78nnmi/SKILL.md.part' && mv '.skill-downloads/ci-cd-debugging-mm78nnmi/SKILL.md.part' '.skill-downloads/ci-cd-debugging-mm78nnmi/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, Read, Grep, Glob, WebFetch
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-cd-debugging-mm78nnmi/SKILL.md' && test -s '.skill-downloads/ci-cd-debugging-mm78nnmi/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/ci-debugging' && cp -R '.skill-downloads/ci-cd-debugging-mm78nnmi' '.claude/skills/ci-debugging'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’OpenSkillsopenskills install './.skill-downloads/ci-cd-debugging-mm78nnmi'openskills read 'ci-cd-debugging-mm78nnmi'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 syncMode 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-cd-debugging-mm78nnmi/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.
Configurer un canal de discussion avec SecretRefs
DevOps
Configurez des canaux de discussion avec des commandes non interactives, les secrets étant uniquement des SecretRefs. Couvre les étapes de collecte, modification, réparation et vérification.
Enquêter sur les échecs CI de ClickHouse
DevOps
Investigue un échec CI de ClickHouse de bout en bout à partir d'une URL de PR ou de rapport S3. Récupère les tests échoués, classe flaky vs vraie régression, et cherche des issues/fixes existants.
Revue de PR Ansible
DevOps
Examine une PR Ansible selon le processus standardisé du projet, incluant la validation des changelogs, la couverture de tests et le suivi des commentaires.