Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .agents/skills/gh-pr-results-review/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
name: gh-pr-results-review
description: Review GitHub pull request CI outcomes with the GitHub CLI and extract actionable failure details from GitHub Actions logs. Use when asked to check failing PR checks, inspect lint/test/type-check errors, identify failing jobs, or summarize why a PR pipeline failed and what to fix first.
---

# GH PR Results Review

## Workflow

1. Identify the PR number and check status.
- Run:
```bash
gh pr checks <pr-number> 2>&1
```
- Capture failing checks, durations, run URL, and job URLs.
- If no failures exist, report success and stop.

2. Resolve run and failing job IDs.
- Derive the workflow run ID from the run URL when available.
- Derive each failing job ID from job URLs, or list jobs with:
```bash
gh run view <run-id> --json jobs
```

3. Pull logs for failed jobs.
- For each failed job:
```bash
gh run view <run-id> --job <job-id> --log 2>&1 | tail -80
```
- If the tail misses the error, inspect more lines or grep for error markers:
```bash
gh run view <run-id> --job <job-id> --log 2>&1 | rg -n "error|failed|traceback|E999|F401|mypy|pytest"
```

4. Summarize root causes with evidence.
- Report by failing check/job name.
- Include the shortest exact evidence line(s) that explain failure.
- State likely fix direction (for example: ruff import ordering, mypy type mismatch, failing pytest assertion).

## Output Format

Use this structure:

```text
check the CI failure details.

Reviewed GitHub Actions logs for test and linting results
Bash
gh pr checks <pr-number> 2>&1
<key failing checks output>

Bash
gh run view <run-id> --job <job-id> --log 2>&1 | tail -60
<relevant error/failure excerpt>

Bash
gh run view <run-id> --job <job-id> --log 2>&1 | tail -40
<relevant error/failure excerpt>
```

Then provide a short diagnosis section:
- `Finding`: one sentence per failed job.
- `Evidence`: command + key line.
- `Next fix`: concrete first edit to attempt.

## Guardrails

- Do not claim a job failed without a log line proving it.
- Prefer job-specific logs over workflow-level summaries.
- Keep excerpts tight; include only lines needed to justify the finding.
- If GitHub CLI lacks permission or run is missing, state the blocker and requested access explicitly.
4 changes: 4 additions & 0 deletions .agents/skills/gh-pr-results-review/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "PR Results Reviewer"
short_description: "Inspect failing PR checks and logs"
default_prompt: "Use $gh-pr-results-review to inspect GitHub PR check failures, read failing job logs, and summarize root causes with exact evidence."