Fetching Circleci Logs

Récupère les journaux de tâches CircleCI au niveau des étapes via l'API v1.1 et n'affiche que les étapes échouées

par NTCoding · NTCoding/claude-skillz

Fonctionne avec configuration ★ 8.4/10

Fetching Circleci Logs — Récupère les journaux de tâches CircleCI au niveau des étapes via l'API v1.1 et n'affiche que les étapes échouées

Ce que fait

Récupère les journaux de tâches CircleCI via l'API v1.1, parcourt l'arborescence des étapes/actions et n'affiche la sortie que pour les étapes ayant échoué, tronquant chacune à 2000 caractères. Se déclenche lorsqu'une vérification CI échoue sur une pull request, lorsqu'une URL de tâche CircleCI est collée, ou sur des expressions comme « build failed », « CI failed », ou « check the build logs ». Lit le jeton API depuis ~/.circleci/cli.yml et dérive l'organisation/le dépôt à partir du git remote lorsqu'uniquement un numéro de tâche est fourni.

Rapport de test

J'ai mis en place un point de terminaison CircleCI v1.1 local simulé (une tâche échouée avec 5 étapes : 2 réussies, 2 échouées, 1 annulée, avec 29 673 caractères de journal jest/tsc derrière output_url) et j'ai exécuté les deux approches. La base de référence (mon propre instinct : curl la tâche et la rediriger vers json.tool) a produit 1 975 octets nommant les étapes échouées mais ne contenant aucune des quatre sondes de diagnostic - « Expected: 19.99 », « TS2345 », « applyDiscount > rounds to 2dp », « 1 failed, 27 passed » étaient toutes absentes ; la commande textuelle de la compétence a produit 2 362 octets contenant les quatre, ayant entièrement ignoré les journaux des étapes réussies et tronqué le message de 29 673 caractères à exactement 2 000. J'ai confirmé indépendamment, par rapport à la documentation v1 de CircleCI et au matériel de support, que actions[].{name,status,exit_code,failed} et le output_url pré-signé renvoyant [{message,type,time}] sont des champs réels, non inventés, et que son aide git-remote sed a résolu correctement les 4 formats distants courants ; le bloc d'installation a placé SKILL.md correctement dans un HOME temporaire propre. Deux lacunes réelles que j'ai observées : le script ne supprime pas les codes d'échappement ANSI (j'ai réexécuté avec une sortie jest colorée réaliste et j'ai obtenu des séquences brutes \x1b[1m\x1b[31m qui consommaient le budget de 2 000 caractères), et la troncature prend le début de chaque message, donc un outil qui imprime son résumé d'erreur en dernier le verrait ignoré. Le verdict est « setup » et non « pass » car la seule étape que je n'ai pas pu exécuter est l'authentification contre l'API en direct - elle nécessite un vrai jeton de compte CircleCI à ~/.circleci/cli.yml, donc tout ce qui précède est mesuré par rapport à un simulacre fidèle à la forme plutôt qu'à CircleCI en production. Phrases de déclenchement jugées - DEVRAIT se déclencher : « The CircleCI check on my PR is red, pull the logs and tell me what broke », « https://circleci.com/gh/acme/widgets/169955 why did this fail? », « Build failed on main again, can you check the CI logs? » ; NE DEVRAIT PAS se déclencher : « Our .circleci/config.yml fails to validate, fix the YAML » (édition de configuration, pas récupération de journaux) et « The GitHub Actions workflow failed, show me the run logs » (mauvais fournisseur CI) - je chargerais/ne chargerais pas correctement les 5, bien que le mot-clé générique « check the logs » de la description soit un risque de faux positif sur les requêtes de journaux non-CI.

Testé le: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/NTCoding/claude-skillz.git /tmp/fetching-circleci-logs-src
mkdir -p ~/.claude/skills
cp -R /tmp/fetching-circleci-logs-src/fetching-circleci-logs ~/.claude/skills/fetching-circleci-logs
# Single-file skill (SKILL.md only) - no scripts, no deps beyond curl + python3 (both preinstalled on macOS/Linux).
#
# REQUIRED MANUAL STEP - the skill does nothing without a CircleCI API token:
#   brew install circleci && circleci setup
# or write it by hand:
#   mkdir -p ~/.circleci && printf 'host: https://circleci.com\ntoken: YOUR_TOKEN\n' > ~/.circleci/cli.yml
# Create the token at https://app.circleci.com/settings/user/tokens
#
# Plugin-marketplace alternative (this skill is registered in .claude-plugin/marketplace.json):
#   /plugin marketplace add ntcoding/claude-skillz
#   /plugin install fetching-circleci-logs@claude-skillz
#
# Usage: paste a job URL like https://circleci.com/gh/{org}/{repo}/{job_number} and ask why CI failed.

Commandes et exemples de prompts

  • /fetching-circleci-logsRécupère les journaux de tâches CircleCI au niveau des étapes via l'API v1.1 et n'affiche que les étapes échouées

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Check why the CircleCI build failed
  • Fetch the logs for this CircleCI job URL
  • Show me the failed step in the last CI run