Fetching Circleci Logs
Pobiera logi zadań CircleCI na poziomie kroku za pośrednictwem API v1.1 i drukuje tylko nieudane kroki
Działa po konfiguracji
Co robi ten skill
Pobiera logi zadań CircleCI za pośrednictwem API v1.1, przechodzi przez drzewo kroków/akcji i drukuje dane wyjściowe tylko dla kroków, które zakończyły się niepowodzeniem, obcinając każdy do 2000 znaków. Uruchamia się, gdy sprawdzenie CI nie powiedzie się w żądaniu ściągnięcia, gdy wklejony zostanie URL zadania CircleCI lub na frazy takie jak "build failed", "CI failed" lub "check the build logs". Odczytuje token API z ~/.circleci/cli.yml i wywodzi org/repo z zdalnego repozytorium git, gdy podany jest tylko numer zadania.
Raport z testu
Uruchomiłem lokalny punkt końcowy CircleCI v1.1 (nieudane zadanie z 5 krokami: 2 przechodzące, 2 nieudane, 1 anulowany, z 29 673 znakami logu jest/tsc za output_url) i uruchomiłem oba podejścia przeciwko niemu. Linia bazowa (mój własny instynkt: curl zadanie i przekierowanie do json.tool) wygenerowała 1975 bajtów, nazywając, które kroki się nie powiodły, ale nie zawierała żadnej z czterech sond diagnostycznych - "Expected: 19.99", "TS2345", "applyDiscount > rounds to 2dp", "1 failed, 27 passed" były wszystkie nieobecne; dosłowne polecenie umiejętności wygenerowało 2362 bajty zawierające wszystkie cztery, pomijając całkowicie logi przechodzących kroków i obcinając wiadomość o długości 29 673 znaków do dokładnie 2000. Niezależnie potwierdziłem na podstawie dokumentacji CircleCI v1 i materiałów pomocniczych, że actions[].{name,status,exit_code,failed} oraz wstępnie podpisany output_url zwracający [{message,type,time}] są rzeczywistymi polami, a nie wymyślonymi, a jego pomocnik sed do zdalnego repozytorium git poprawnie rozwiązał wszystkie 4 typowe formaty zdalne; blok instalacyjny umieścił SKILL.md poprawnie w czystym, tymczasowym HOME. Dwie rzeczywiste luki, które zaobserwowałem: skrypt nie usuwa kodów ucieczki ANSI (ponownie uruchomiłem z realistycznym kolorowym wyjściem jest i otrzymałem surowe sekwencje \x1b[1m\x1b[31m zjadające budżet 2000 znaków), a obcinanie bierze początek każdej wiadomości, więc narzędzie, które drukuje podsumowanie błędu na końcu, miałoby je odrzucone. Werdykt to "setup", a nie "pass", ponieważ jedynym krokiem, którego nie mogłem wykonać, jest uwierzytelnienie wobec aktywnego API - wymaga to prawdziwego tokena konta CircleCI w ~/.circleci/cli.yml, więc wszystko powyżej jest mierzone wobec wiernej kształtem makiety, a nie produkcyjnego CircleCI. Ocenione frazy wyzwalające - POWINNY uruchomić: "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?"; NIE POWINNY uruchomić: "Our .circleci/config.yml fails to validate, fix the YAML" (edycja konfiguracji, nie pobieranie logów) i "The GitHub Actions workflow failed, show me the run logs" (niewłaściwy dostawca CI) - poprawnie załadowałbym/nie załadowałbym wszystkich 5, chociaż ogólne słowo kluczowe "check the logs" w opisie jest ryzykiem fałszywie pozytywnym dla żądań logów innych niż CI.
Testowano: 2026-07-21 · Claude Code 2.x (agent harness)
Instalacja
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. Komendy i przykładowe prompty
/fetching-circleci-logsPobiera logi zadań CircleCI na poziomie kroku za pośrednictwem API v1.1 i drukuje tylko nieudane kroki
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Check why the CircleCI build failedFetch the logs for this CircleCI job URLShow me the failed step in the last CI run