agentsclimarketplace

Analyze ci

Skill mlflow/mlflow/.claude/skills/analyze-ci

Analyze failed GitHub Action jobs. Takes one or more GitHub URLs (job, workflow-run, or PR) and summarizes each failure with root cause and log paths.From its SKILL.md

Install
npx -y skills add mlflow/mlflow --skill analyze-ci

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

2.4 KB, as published. Nobody here has run it

Analyze CI Failures

Fetch logs from failed GitHub Action jobs and produce a focused per-job failure summary.

URLs provided: $ARGUMENTS

If no URLs are listed above, ask for a job, run, or PR URL and stop. fetch-logs requires at least one and exits 2 without.

Prerequisites

  • GitHub Token: Auto-detected via gh auth token, or set GH_TOKEN.

Steps

  1. Fetch logs. Run, single-quoting each URL so the shell does not interpret ? or other special characters in it:

    uv run --package skills skills fetch-logs '<url>' ['<url>' ...]
    

    The command prints one block per failed job containing the workflow/job name, URL, failed step, and paths to the cached raw log, failed-step log, and (optional) package versions file.

  2. Read each failed-step log and summarize it. For every block, Read the file at its Failed step log: path, then identify:

    • The root cause.
    • Specific error messages (assertion errors, exceptions, stack traces).
    • Full pytest test names where applicable (e.g. tests/test_foo.py::test_bar).
    • A short log snippet showing the error context.
  3. Format each summary with these fields, then a blank line, then the 1-2 paragraph summary.

    • Failed job: <workflow name> / <job name>
    • Failed step: <step name>
    • URL: <job_url>
    • Raw log: <raw_log_path>
    • Failed step log: <failed_step_log_path>
    • Package versions: <package_versions_path> (if present)

    Preserve the Raw log:, Failed step log:, and Package versions: paths verbatim from step 1 so downstream agents can grep deeper.

Invocation examples

# All failed jobs on a PR
/analyze-ci https://github.com/mlflow/mlflow/pull/19601

# All failed jobs in one workflow run
/analyze-ci https://github.com/mlflow/mlflow/actions/runs/22626454465

# Specific job by URL
/analyze-ci https://github.com/mlflow/mlflow/actions/runs/12345/job/67890

# Multiple URLs at once
/analyze-ci https://github.com/mlflow/mlflow/actions/runs/123/job/456 https://github.com/mlflow/mlflow/actions/runs/789/job/012

Keep looking

Skills are one crate of 626,474. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.