ntcoding/claude-skillz

fetching-circleci-logs

Fetches CircleCI job logs via the v1.1 API and displays step-level output. Focuses on failed steps. Use when: CI checks fail on a PR, user shares a CircleCI job URL, user asks to check build logs, 'circleci', 'build failed', 'CI failed', 'check the logs'.

First seen Apr 10, 2026

Installation

$ npx skills add ntcoding/claude-skillz --skill fetching-circleci-logs

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from ntcoding/claude-skillz · top by installs.

npx skills add ntcoding/claude-skillz

Browse all from ntcoding/claude-skillz

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 344
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,064 B
  • docs SUMMARY.md 285 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 13 installs

SKILL.md

Fetching CircleCI Logs

Fetch step-level build logs from CircleCI jobs using the v1.1 API.

When to use

  • PR checks failed and you need to see why
  • User shares a CircleCI URL (e.g. https://circleci.com/gh/org/repo/169955)
  • User asks to investigate a CI failure

Extract job details from URL

CircleCI URLs follow this pattern:

https://circleci.com/gh/{org}/{repo}/{job_number}

Extract org, repo, and job_number from the URL. If the user provides only a job number, ask for the org/repo or check the current git remote:

git remote get-url origin | sed -E 's|.*github\.com[:/]([^/]+)/([^/.]+).*|\1/\2|'

Fetch logs

Step 1: Get the CircleCI token

grep 'token' ~/.circleci/cli.yml | awk '{print $2}'

If the file doesn't exist or has no token, tell the user to run circleci setup or set the token manually.

Step 2: Fetch job data and display step output

Run this as a single command, substituting {org}, {repo}, and {job_number}:

TOKEN=$(grep 'token' ~/.circleci/cli.yml | awk '{print $2}') && \
curl -s -H "Circle-Token: $TOKEN" \
  "https://circleci.com/api/v1.1/project/gh/{org}/{repo}/{job_number}" | \
python3 -c "
import sys, json, urllib.request
data = json.load(sys.stdin)
for step in data.get('steps', []):
    for action in step.get('actions', []):
        status = action.get('status', '')
        name = action.get('name', '')
        exit_code = action.get('exit_code')
        failed = action.get('failed', False)
        print(f'STEP: {name} | status: {status} | exit: {exit_code}')
        if failed and action.get('output_url'):
            with urllib.request.urlopen(action['output_url']) as r:
                for msg in json.load(r):
                    print(msg.get('message', '')[:2000])
"

Step 3: Analyze the output

After fetching, summarize:

  1. Which steps failed and why
  2. The relevant error messages (not the full log)
  3. Suggested fix if the cause is clear

Important notes

  • Use API v1.1 — v2 does not return step-level output with log URLs.
  • The output_url is a pre-signed S3 URL — no additional auth needed to fetch it.
  • Truncate log messages to 2000 chars per action to avoid context window bloat.
  • If the API returns 404, the job number is likely wrong or the token lacks access to that project.

Mandatory Checklist

When fetching CircleCI logs, complete this checklist:

  1. [ ] Verify the CircleCI token exists in ~/.circleci/cli.yml
  2. [ ] Verify org, repo, and job number are correctly extracted from the URL or git remote
  3. [ ] Verify you are using the v1.1 API (not v2)
  4. [ ] Verify you summarized the failure cause, not just dumped raw logs

Do not proceed to suggest fixes until all checks pass.