with one click
buildkite-cli
// Use the bkci CLI to query Buildkite builds, logs, artifacts, and token scope status with LLM-friendly JSON output.
// Use the bkci CLI to query Buildkite builds, logs, artifacts, and token scope status with LLM-friendly JSON output.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | buildkite-cli |
| description | Use the bkci CLI to query Buildkite builds, logs, artifacts, and token scope status with LLM-friendly JSON output. |
bkci)Use this skill when you want CI data from Buildkite through the bkci utility.
This is a good default when you need structured JSON output that is easy for agents to parse.
For now, install from a local clone and link it:
git clone https://github.com/PSPDFKit-labs/buildkite-cli <buildkite-cli-dir>
cd <buildkite-cli-dir>
pnpm install
pnpm run build
npm link
Verify:
bkci --help
After pulling updates, rebuild:
pnpm run build
Set one of these env vars before calling bkci:
BUILDKITE_TOKENBUILDKITE_API_TOKENBK_TOKENIf no env token is set, auth can be configured interactively:
bkci auth setup
This writes ~/.config/buildkite-cli/auth.json with strict permissions.
bkci auth setup automatically.bkci auth status reports missing token/auth, stop and ask the user to run auth setup manually.Required scopes:
read_buildsread_build_logsread_artifactsValidate token/scopes first:
bkci auth status
List builds:
bkci builds list --org ORG --pipeline PIPELINE --per-page 10
Get one build with jobs:
bkci builds get --org ORG --pipeline PIPELINE --build BUILD_NUMBER
Fetch one job log (cleaned output):
bkci jobs log get --org ORG --pipeline PIPELINE --build BUILD_NUMBER --job JOB_ID --tail-lines 400 --max-bytes 250000
List artifacts:
bkci artifacts list --org ORG --pipeline PIPELINE --build BUILD_NUMBER
Download artifact(s):
bkci artifacts download --org ORG --pipeline PIPELINE --build BUILD_NUMBER --artifact-id ARTIFACT_ID --out /tmp/bk-artifacts
List annotations:
bkci annotations list --org ORG --pipeline PIPELINE --build BUILD_NUMBER
bkci always returns a stable top-level JSON envelope:
okapiVersioncommandrequestsummarypaginationdataerrorUse --raw to keep exact Buildkite payloads in data.
auth status (if this fails due to missing token/scopes, ask user to fix auth before continuing)builds list (optionally filtered by --pipeline, --branch, --state)builds get for the selected buildjobs log get for relevant job IDsartifacts list / artifacts downloadannotations list