Fetching Circleci Logs
Estrae i log di lavoro CircleCI a livello di step tramite l'API v1.1 e stampa solo gli step falliti
Richiede configurazione
Cosa fa
Recupera i log di lavoro CircleCI tramite l'API v1.1, attraversa l'albero steps/actions e stampa l'output solo per gli step falliti, troncando ciascuno a 2000 caratteri. Si attiva quando un controllo CI fallisce su una pull request, quando viene incollato un URL di un lavoro CircleCI o su frasi come "build failed", "CI failed" o "check the build logs". Legge il token API da ~/.circleci/cli.yml e deriva org/repo dal remote git quando viene fornito solo un numero di lavoro.
Rapporto di test
Ho configurato un endpoint CircleCI v1.1 mock locale (un lavoro fallito con 5 step: 2 passanti, 2 falliti, 1 annullato, con 29.673 caratteri di log jest/tsc dietro output_url) e ho eseguito entrambi gli approcci contro di esso. La baseline (il mio istinto: curl il lavoro e pipe a json.tool) ha prodotto 1.975 byte che nominavano quali step erano falliti ma non contenevano nessuna delle quattro sonde diagnostiche - "Expected: 19.99", "TS2345", "applyDiscount > rounds to 2dp", "1 failed, 27 passed" erano tutte assenti; il comando verbatim della skill ha prodotto 2.362 byte contenenti tutte e quattro, avendo saltato completamente i log degli step passanti e troncato il messaggio di 29.673 caratteri a esattamente 2000. Ho confermato indipendentemente contro la documentazione v1 di CircleCI e il materiale di supporto che actions[].{name,status,exit_code,failed} e l'output_url pre-firmato che restituisce [{message,type,time}] sono campi reali, non inventati, e il suo helper sed git-remote ha risolto correttamente tutti e 4 i formati remoti comuni; il blocco di installazione ha posizionato correttamente SKILL.md in una HOME temporanea pulita. Due lacune reali che ho osservato: lo script non rimuove i codici di escape ANSI (ho rieseguito con un output jest colorato realistico e ho ottenuto sequenze raw \x1b[1m\x1b[31m che consumavano il budget di 2000 caratteri), e il troncamento prende l'inizio di ogni messaggio, quindi uno strumento che stampa il suo riepilogo degli errori per ultimo lo avrebbe scartato. Il verdetto è "setup" non "pass" perché l'unico step che non sono riuscito a eseguire è l'autenticazione contro l'API live - richiede un token di account CircleCI reale in ~/.circleci/cli.yml, quindi tutto quanto sopra è misurato contro un mock fedele alla forma piuttosto che CircleCI di produzione. Frasi di attivazione giudicate - DOVREBBE attivarsi: "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?"; NON DOVREBBE attivarsi: "Our .circleci/config.yml fails to validate, fix the YAML" (modifica della configurazione, non recupero log) e "The GitHub Actions workflow failed, show me the run logs" (provider CI sbagliato) - caricherei/non caricherei correttamente tutti e 5, sebbene la parola chiave generica "check the logs" della descrizione sia un rischio di falso positivo su richieste di log non CI.
Testato il: 2026-07-21 · Claude Code 2.x (agent harness)
Installazione
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. Comandi e prompt di esempio
/fetching-circleci-logsEstrae i log di lavoro CircleCI a livello di step tramite l'API v1.1 e stampa solo gli step falliti
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Check why the CircleCI build failedFetch the logs for this CircleCI job URLShow me the failed step in the last CI run