Fetching Circleci Logs
Ruft schrittweise CircleCI-Job-Logs über die v1.1 API ab und druckt nur die fehlgeschlagenen Schritte
Funktioniert mit Setup
Was es kann
Ruft CircleCI-Job-Logs über die v1.1 API ab, durchläuft den Schritte-/Aktionen-Baum und gibt nur die Ausgabe für fehlgeschlagene Schritte aus, wobei jeder auf 2000 Zeichen gekürzt wird. Wird ausgelöst, wenn ein CI-Check bei einem Pull Request fehlschlägt, wenn eine CircleCI-Job-URL eingefügt wird oder bei Phrasen wie „build failed“, „CI failed“ oder „check the build logs“. Liest den API-Token aus ~/.circleci/cli.yml und leitet Org/Repo vom git remote ab, wenn nur eine Jobnummer angegeben ist.
Testbericht
Ich habe einen lokalen Mock-CircleCI v1.1 Endpunkt eingerichtet (ein fehlgeschlagener Job mit 5 Schritten: 2 bestanden, 2 fehlgeschlagen, 1 abgebrochen, mit 29.673 Zeichen jest/tsc Log hinter output_url) und beide Ansätze dagegen ausgeführt. Die Baseline (mein eigener Instinkt: curl den Job und pipe zu json.tool) produzierte 1.975 Bytes, die benannten, welche Schritte fehlschlugen, aber keine der vier diagnostischen Sonden enthielten - „Expected: 19.99“, „TS2345“, „applyDiscount > rounds to 2dp“, „1 failed, 27 passed“ fehlten alle; der wörtliche Befehl des Skills produzierte 2.362 Bytes, die alle vier enthielten, nachdem er die Logs der bestandenen Schritte vollständig übersprungen und die 29.673-Zeichen-Nachricht auf genau 2000 gekürzt hatte. Ich bestätigte unabhängig anhand der CircleCI v1 Docs und Supportmaterialien, dass actions[].{name,status,exit_code,failed} und die vorab signierte output_url, die [{message,type,time}] zurückgibt, echte Felder sind, nicht erfunden, und sein git-remote sed Helfer alle 4 gängigen Remote-Formate korrekt auflöste; der Installationsblock platzierte SKILL.md korrekt in einem sauberen temporären HOME. Zwei reale Lücken, die ich beobachtete: Das Skript entfernt keine ANSI-Escape-Codes (ich führte es erneut mit realistischer farbiger Jest-Ausgabe aus und erhielt rohe \x1b[1m\x1b[31m-Sequenzen, die das 2000-Zeichen-Budget aufzehrten), und die Kürzung nimmt den Anfang jeder Nachricht, so dass ein Tool, das seine Fehlerzusammenfassung zuletzt druckt, diese verworfen hätte. Das Urteil ist „setup“, nicht „pass“, weil der eine Schritt, den ich nicht ausführen konnte, die Authentifizierung gegen die Live-API ist - es benötigt einen echten CircleCI-Account-Token unter ~/.circleci/cli.yml, daher wird alles oben Genannte gegen einen formgetreuen Mock und nicht gegen die Produktion von CircleCI gemessen. Trigger-Formulierungen beurteilt - SOLLTE auslösen: „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?“; SOLLTE NICHT auslösen: „Our .circleci/config.yml fails to validate, fix the YAML“ (Konfigurationsbearbeitung, nicht Log-Abruf) und „The GitHub Actions workflow failed, show me the run logs“ (falscher CI-Anbieter) - ich würde alle 5 korrekt laden/nicht laden, obwohl das generische Schlüsselwort „check the logs“ der Beschreibung ein Falsch-Positiv-Risiko bei Nicht-CI-Log-Anfragen darstellt.
Getestet am: 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. Befehle & Beispiel-Prompts
/fetching-circleci-logsRuft schrittweise CircleCI-Job-Logs über die v1.1 API ab und druckt nur die fehlgeschlagenen Schritte
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Check why the CircleCI build failedFetch the logs for this CircleCI job URLShow me the failed step in the last CI run