Fetch CI build results and diagnose failures. Auto-detects provider from project files or URLs. Supports GitHub Actions, Buildkite, and CircleCI.
Install with Tessl CLI
npx tessl i github:Dicklesworthstone/pi_agent_rust --skill fetch-ci-build75
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Fetch CI build results, diagnose failures, extract actionable error information, and suggest fixes. Supports multiple CI providers with automatic detection.
| Provider | Detection | Tool |
|---|---|---|
| GitHub Actions | .github/workflows/ or github.com URL | gh CLI |
| Buildkite | .buildkite/ or buildkite.com URL | Python script |
| CircleCI | .circleci/ or circleci.com URL | Python script |
If the user provides a CI URL, detect provider:
github.com/.../actions/runs/... → GitHub Actionsbuildkite.com/... → Buildkiteapp.circleci.com/... or circleci.com/... → CircleCICheck for CI configuration directories:
# GitHub Actions
test -d .github/workflows && echo "github"
# Buildkite
test -d .buildkite && echo "buildkite"
# CircleCI
test -d .circleci && echo "circleci"digraph workflow {
rankdir=TB;
node [shape=box];
detect [label="1. Detect CI provider"];
load [label="2. Load provider reference"];
fetch [label="3. Fetch build results"];
check [label="4. Check for failures" shape=diamond];
passed [label="Report: Build passed!"];
read [label="5. Read failing source files"];
present [label="6. Present failures + proposed fixes"];
ask [label="7. Ask: Apply fix?" shape=diamond];
apply [label="Apply the fix"];
complex [label="Complex failure?" shape=diamond];
debug [label="Use systematic-debugging skill"];
next [label="Next failure?" shape=diamond];
done [label="Done"];
detect -> load;
load -> fetch;
fetch -> check;
check -> passed [label="passed"];
check -> read [label="failed"];
read -> present;
present -> ask;
ask -> apply [label="yes"];
ask -> complex [label="no"];
apply -> next;
complex -> debug [label="yes"];
complex -> next [label="no"];
debug -> next;
next -> read [label="yes"];
next -> done [label="no"];
}First, check if the user provided a URL. If not, detect from project files.
Read the appropriate reference file for provider-specific commands:
Use the provider-specific commands to fetch build information and failures.
Read the relevant source file to understand context:
Show the user:
Ask how to proceed:
If the failure requires deeper investigation (e.g., unclear root cause, flaky test, environmental issue), recommend the systematic-debugging skill.
| Type | Detection | Common Fixes |
|---|---|---|
| Test failure | Minitest/RSpec/Jest/pytest output | Fix assertion, update expected value, fix test setup |
| Lint error | Rubocop/ESLint/Biome violations | Auto-fix with linter's fix command |
| TypeScript | TSC compilation errors | Add types, fix type mismatches |
| Build error | Compilation failures | Fix syntax, missing dependencies |
| Mistake | Solution |
|---|---|
| Can't detect provider | Specify provider explicitly or provide CI URL |
| Missing credentials | Check provider reference for required env vars/auth |
| Build still running | Wait for completion or check partial results |
| Rate limiting | Wait and retry |
5b012b7
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.