Agent skill

Azure Pipelines Log Downloader

by ansible in ansible/ansible

Downloads Azure Pipelines CI logs for an Ansible pull request or build so the agent can analyze test failures, after asking you first.

GPL-3.0Auto-check passedDevOps & Cloud

Install Azure Pipelines Log Downloader

skills CLI
$ npx skills add ansible/ansible --skill azp-logs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ansible/ansible azp-logs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ansible/ansible.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/azp-logs .claude/skills/azp-logs && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
azp-logs
GitHub stars
71k
Token cost
~825 tokens
SKILL.md length
347 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
GPL-3.0

At a glance

Downloads Azure Pipelines CI logs for an Ansible pull request or build so the agent can analyze test failures, after asking you first.

  • Works in 4 steps: Ask user for confirmation: Explain what… → Determine build ID → Download logs: Run… → …
  • Investigating why an Ansible pull request failed CI
  • Calls gh
  • Fetching console logs for a specific Azure Pipelines build

What it does

The agent accepts a GitHub PR number, an Azure Pipelines build ID or a full build URL. For a PR number it uses gh pr checks to find the Azure Pipelines URL, and then it runs the repository's hacking/azp/download.py script, normally with the console-logs and verbose flags. Logs are saved to a directory named after the build ID, and a full run can take several minutes and produce tens of megabytes, so the agent always asks you to confirm before downloading.

After the download it greps the logs for failure patterns such as FAILED, ERROR and Traceback, concentrates on failed jobs and compares what it finds with ansibot comments. The script's options include artifacts, run metadata, an all option, regex filters for job and artifact names, and a dry-run flag. The listed tool permissions are narrow: gh pr view, gh pr checks, ls, file reading and grep.

When your agent uses it

  • Investigating why an Ansible pull request failed CI
  • Fetching console logs for a specific Azure Pipelines build
  • Narrowing failure analysis to particular jobs by name

Example prompts

  • “Download the Azure Pipelines logs for my open PR and tell me why it failed.”
  • “Get the console logs for build 12345 and grep them for tracebacks.”
  • “Download only the logs for jobs matching sanity from this Azure Pipelines build URL.”

Requirements

  • The GitHub CLI (gh)
  • The hacking/azp/download.py script from the Ansible repository
  • Python
  • Pre-approved tools (allowed-tools): Bash(gh pr view:*), Bash(gh pr checks:*), Bash(ls:*), Read, Grep

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Ask user for confirmation: Explain what will be downloaded and estimated time
  2. Determine build ID
  3. Download logs: Run hacking/azp/download.py with appropriate flags
  4. Analyze logs: After download completes, examine logs in / directory

What it can do on your machine

Read from SKILL.md and the folder at commit 0d66197. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(gh pr view:*)
    • Bash(gh pr checks:*)
    • Bash(ls:*)
    • Read
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • dev.azure.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Azure Pipelines Log Downloader loads about 825 tokens when it runs. Until then it costs about 14 tokens; SKILL.md has 347 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~14
When it runs · the whole SKILL.md, loaded when a task matches
~825

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ansible/ansible at commit 0d66197, republished under its GPL-3.0 licence (© ansible). 347 words, ~825 tokens.

Download SKILL.mdSave it as .claude/skills/azp-logs/SKILL.md (or your agent's skills folder).
name
azp-logs
description
Download Azure Pipelines CI logs for analysis
allowed-tools
Bash(gh pr view:*), Bash(gh pr checks:*), Bash(ls:*), Read, Grep
argument-hint
<pr_number|build_id|build_url>
user-invocable
true

Azure Pipelines Logs Downloader

Download Azure Pipelines CI logs for analyzing test failures and CI issues.

IMPORTANT: Always ask the user before downloading logs. The download may take 5-10 minutes (or longer for large CI runs) depending on the number of jobs and log size.

Usage

bash
/azp-logs <pr_number|build_id|build_url>

Arguments

Implementation

This command uses the existing hacking/azp/download.py script to download CI logs.

Before running: Always confirm with the user before downloading logs. Inform them that:

  • The download may take 5-10 minutes for a full CI run (potentially longer for very large runs)
  • Logs will be saved to a directory named after the build ID
  • The download size can be 10-50MB depending on the number of jobs

Process Steps

  1. Ask user for confirmation: Explain what will be downloaded and estimated time

  2. Determine build ID:

    • If given a PR number: Use gh pr checks <number> to get the Azure Pipelines URL
    • If given a URL: Pass it directly to download.py (it extracts buildId automatically)
    • If given a build ID: Use directly
  3. Download logs: Run hacking/azp/download.py with appropriate flags:

    bash
    ./hacking/azp/download.py <build_id_or_url> --console-logs -v
  4. Analyze logs: After download completes, examine logs in <build_id>/ directory:

    • Grep for common failure patterns: FAILED, ERROR, Traceback
    • Focus on logs from failed jobs (check job names)
    • Compare with ansibot comments for context
Show full SKILL.md (112 more words)Show less

Download Script Options

The hacking/azp/download.py script supports:

  • --console-logs: Download console logs (recommended for CI failure analysis)
  • --artifacts: Download test artifacts
  • --run-metadata: Download run metadata JSON
  • --all: Download everything
  • --match-job-name <regex>: Filter to specific jobs
  • --match-artifact-name <regex>: Filter to specific artifacts
  • -v, --verbose: Show what is being downloaded
  • -t, --test: Dry run (show what would be downloaded)

For most CI failure analysis, use --console-logs to get the log files.

Common Analysis Patterns

After downloading logs to <build_id>/ directory:

bash
# Find all errors and failures
grep -r "FAILED\|ERROR\|Traceback" <build_id>/

# Find specific test failures
grep -r "FAILED test" <build_id>/

# Find sanity test failures
grep -r "The test" <build_id>/ | grep -i "failed"

# List all downloaded log files
ls -lh <build_id>/

Notes

  • Logs are downloaded to a directory named after the build ID
  • Console logs are named after the job hierarchy (e.g., "Job Name Stage Name.log")
  • The Ansible project is public, so no authentication is required

© ansible, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/azp-logs of ansible/ansible.

Open the folder on GitHubat commit 0d66197

Compare with similar skills

Azure Pipelines Log Downloader next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Azure Pipelines Log Downloader compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Azure Pipelines Log Downloader this skillansible/ansible71k—~825Automated safety check: PassGPL-3.0
ONNX Runtime CI Managementmicrosoft/onnxruntime22k—~4.1kAutomated safety check: PassMIT
CI Watchdoglatitude-dev/latitude-llm4.7k—~1.6kAutomated safety check: PassMIT
Megatron-LM CI Failure TriageNVIDIA/Megatron-LM18k—~1.6kAutomated safety check: PassApache-2.0
Parallel CI Triagespencerpauly/awesome-cursor-skills844—~793Automated safety check: PassCC0-1.0
Gh Fix CIJetBrains/skills3667 repos~953Automated safety check: PassApache-2.0

Similar skills

  • ONNX Runtime CI Management

    microsoft/onnxruntime

    Official

    Triggers, re-runs and unblocks the CI checks on an ONNX Runtime pull request, after diagnosing whether a failure is transient or needs a code change.

    22k GitHub stars~4.1k tokensUpdated today
    DevOps & CloudAuto-check passed
  • CI Watchdog

    latitude-dev/latitude-llm

    Continuously monitor GitHub PR CI checks and automatically fix failures until all checks pass.

    4.7k GitHub stars~1.6k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Official

    Investigates a failing GitHub Actions run or job for Megatron-LM, finds the root cause plus the PR and test author involved, and files a structured bug issue.

    18k GitHub stars~1.6k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Parallel CI Triage

    spencerpauly/awesome-cursor-skills

    When GitHub Actions fails, fetch failing job logs and assign each failing job to a separate subagent that fixes its slice of the problem in parallel.

    844 GitHub stars~793 tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Gh Fix CI

    JetBrains/skills

    Official

    A skill your agent uses when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use gh to inspect checks and logs, summarize failure context, draft a fix plan, and…

    366 GitHub starsUsed in 7 repos~953 tokens
    DevOps & CloudAuto-check passed
  • Openai Gh Fix CI

    trailofbits/skills-curated

    Official

    A skill your agent uses when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use gh to inspect checks and logs, summarize failure context, draft a fix plan, and…

    513 GitHub stars~955 tokensUpdated 2 mo ago
    DevOps & CloudAuto-check: notes

More from ansible/ansible

  • Load Ansible project development guidelines, testing conventions, PR review processes, and code structure reference into context

    71k GitHub stars~427 tokensUpdated today
    Auto-check passed
  • Creates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches.

    71k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Reviews an Ansible pull request by number, following the steps in the project's CLAUDE.md, with early checks for changelog fragments and tests.

    71k GitHub stars~570 tokensUpdated today
    Auto-check passed

Questions about Azure Pipelines Log Downloader

What does Azure Pipelines Log Downloader do?

Downloads Azure Pipelines CI logs for an Ansible pull request or build so the agent can analyze test failures, after asking you first. The agent accepts a GitHub PR number, an Azure Pipelines build ID or a full build URL.py script, normally with the console-logs and verbose flags.

When should I use Azure Pipelines Log Downloader?

Azure Pipelines Log Downloader fits situations like: investigating why an Ansible pull request failed CI; fetching console logs for a specific Azure Pipelines build; narrowing failure analysis to particular jobs by name.

How do I install Azure Pipelines Log Downloader in Claude Code?

Run `npx skills add ansible/ansible --skill azp-logs -a claude-code`. Or copy the skill folder (.claude/skills/azp-logs in ansible/ansible) into .claude/skills/azp-logs in your project. Claude Code loads it when a task matches its description.

How do I install Azure Pipelines Log Downloader in Codex?

Run `npx skills add ansible/ansible --skill azp-logs -a codex`. Or copy the skill folder (.claude/skills/azp-logs in ansible/ansible) into .agents/skills/azp-logs in your project. Codex loads it when a task matches its description.

Can I use Azure Pipelines Log Downloader in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ansible/ansible --skill azp-logs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/azp-logs, .gemini/skills/azp-logs, .github/skills/azp-logs and .opencode/skills/azp-logs in your project.

What does Azure Pipelines Log Downloader need to run?

Going by SKILL.md and its folder, Azure Pipelines Log Downloader needs the command-line tools its instructions call (gh). Our summary lists: The GitHub CLI (gh); The hacking/azp/download.py script from the Ansible repository; Python. Its frontmatter pre-approves these tools: Bash(gh pr view:*), Bash(gh pr checks:*), Bash(ls:*), Read, Grep.

Does Azure Pipelines Log Downloader access the network?

SKILL.md names 1 domain. As links in the text: dev.azure.com. This is read from the text; nothing was executed.

Is Azure Pipelines Log Downloader safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Azure Pipelines Log Downloader use?

Azure Pipelines Log Downloader is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Azure Pipelines Log Downloader use?

About 825 tokens (SKILL.md is roughly 3.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Azure Pipelines Log Downloader?

Skills that share tags, products or a category with Azure Pipelines Log Downloader: ONNX Runtime CI Management (microsoft/onnxruntime, 22k stars), CI Watchdog (latitude-dev/latitude-llm, 4.7k stars), Megatron-LM CI Failure Triage (NVIDIA/Megatron-LM, 18k stars) and Parallel CI Triage (spencerpauly/awesome-cursor-skills, 844 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Azure Pipelines Log Downloader?

ansible (a GitHub organization) maintains it in ansible/ansible, which has 70,949 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 9, 2026.

Source: ansible/ansible on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.