Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Use when monitoring PR checks. Trigger with CI status, check verification, or PR readiness requests.
license
Apache-2.0
compatibility
Requires AI Maestro installed.
metadata
{"version":"1.0.0","author":"Emasoft","tags":"github, ci-cd, pull-requests, checks, automation","triggers":"verify PR check status, wait for CI to complete, check if PR is ready to merge, get failing check details, monitor check progress"}
agent
api-coordinator
context
fork
workflow-instruction
Step 21
procedure
proc-evaluate-pr
user-invocable
false
GitHub PR Checks Skill
Overview
This skill enables agents to monitor, interpret, and wait for GitHub Pull Request check statuses. Use this skill when you need to:
Verify all CI/CD checks are passing before merging
Wait for pending checks to complete
Understand why a check failed
Determine if a PR is ready for merge based on required checks
Poll for check completion with intelligent backoff
Output
Output Type
Format
Contents
Check Status Report
JSON
Complete status of all PR checks including pass/fail counts, individual check conclusions, and required check status
Wait Completion Report
JSON
Final status after polling, including timeout status, total wait time, and checks summary
Check Details
JSON
Detailed information about a specific check including duration, logs URL, and failure output
Exit Code
Integer
Standardized exit code (0-6) indicating success, error type, or specific failure reason
Instructions
Follow these steps to monitor and manage GitHub PR checks:
Determine Your Objective
Review the decision tree below to identify which script matches your needs
Consider whether you need real-time polling or just current status
Identify if you need all checks or only required checks
Select and Execute the Appropriate Script
Use eia_get_pr_checks.py for current status snapshots
Use eia_wait_for_checks.py for polling until completion
Use eia_get_check_details.py for investigating specific failures
Refer to the Scripts Reference section for command-line options
Parse the JSON Output
All scripts return structured JSON to stdout
Check the all_passing or final_status field for overall status
Examine individual check objects for detailed information
Use the exit code for automated decision-making
Interpret Check Conclusions
Refer to the Check Status Quick Reference table
Identify which checks are required vs optional
Determine if action is needed (see Action Required column)
Take Appropriate Action
If all passing: proceed with merge or next workflow step
If failing: investigate using eia_get_check_details.py
If pending: wait using eia_wait_for_checks.py with appropriate timeout
If timeout: check CI runner status and consider increasing timeout
Handle Errors Gracefully
Check exit codes (see Exit Codes section)
Refer to Error Handling section for common issues
Use debugging commands to verify authentication and access
Checklist
Copy this checklist and track your progress:
Verify gh CLI is authenticated: gh auth status
Determine objective (current status, wait for completion, investigate failure)
Get current PR check status: python eia_get_pr_checks.py --pr <number>
Review all_passing field in JSON output
If checks pending, wait for completion: python eia_wait_for_checks.py --pr <number> --timeout <seconds>
If checks failing, investigate: python eia_get_check_details.py --pr <number> --check "<name>"
Interpret check conclusions using Quick Reference table
Identify required vs optional failing checks
Take appropriate action based on results:
If all passing: proceed with merge
If failing: fix issues and push new commit
If timeout: check CI runner status
Handle any errors using exit codes (0=success, 1-4=errors)
Verify PR is ready for merge before proceeding
When to Use This Skill
Scenario
Script to Use
Get current status of all PR checks
eia_get_pr_checks.py
Wait for all checks to finish
eia_wait_for_checks.py
Investigate a specific failing check
eia_get_check_details.py
Quick check if PR is mergeable
eia_get_pr_checks.py --summary-only
Decision Tree: Which Script Do I Need?
START: What do you need to know about PR checks?
│
├─► "What is the current status of all checks?"
│ └─► Use: eia_get_pr_checks.py --pr <number>
│ Returns: List of all checks with their conclusions
│
├─► "Are all required checks passing?"
│ └─► Use: eia_get_pr_checks.py --pr <number> --required-only
│ Returns: Status of only required checks
│
├─► "I need to wait until checks complete"
│ └─► Use: eia_wait_for_checks.py --pr <number> --timeout <seconds>
│ Returns: Final status after all checks complete or timeout
│
├─► "Why did a specific check fail?"
│ └─► Use: eia_get_check_details.py --pr <number> --check <name>
│ Returns: Detailed check info including logs URL
│
└─► "Is this PR ready to merge?"
└─► Use: eia_get_pr_checks.py --pr <number> --summary-only
Returns: Simple pass/fail summary
Check Status Quick Reference
Conclusion
Meaning
Action Required
success
Check passed
None
failure
Check failed
Investigate and fix
pending
Check still running
Wait or investigate if stuck
skipped
Check was skipped
Usually OK, verify skip condition
cancelled
Check was cancelled
Re-run if needed
timed_out
Check exceeded time limit
Optimize or increase timeout
action_required
Manual action needed
Review check details
neutral
Neither pass nor fail
Check is informational only
stale
Check is outdated
Push new commit to trigger
Scripts Reference
1. eia_get_pr_checks.py
Purpose: Retrieve all check statuses for a Pull Request.
Usage:
# Get all checks for PR #123
python eia_get_pr_checks.py --pr 123
# Get only required checks
python eia_get_pr_checks.py --pr 123 --required-only
# Get summary only (pass/fail count)
python eia_get_pr_checks.py --pr 123 --summary-only
# Specify repository (if not in git directory)
python eia_get_pr_checks.py --pr 123 --repo owner/repo
Purpose: Get detailed information about a specific check.
Usage:
# Get details for a specific check
python eia_get_check_details.py --pr 123 --check "build"# Include logs URL
python eia_get_check_details.py --pr 123 --check "test" --include-logs-url
Output Format:
{"name":"build","status":"completed","conclusion":"failure","started_at":"2024-01-15T10:00:00Z","completed_at":"2024-01-15T10:05:30Z","duration_seconds":330,"details_url":"https://github.com/...","logs_url":"https://github.com/.../logs","output":{"title":"Build failed","summary":"Compilation error in src/main.py"}}
# Get all check statuses for PR #123
python eia_get_pr_checks.py --pr 123
# If all_passing is true, proceed with merge# If not, investigate failing checks
Example 2: Wait for CI to Complete
# Wait up to 10 minutes for all checks to complete
python eia_wait_for_checks.py --pr 456 --timeout 600
# If timed_out is true, check CI runner status# If completed is true and final_status is all_passing, merge is safe
Error Handling
Common Issues
Problem
Cause
Solution
"No checks found"
PR has no CI configured
Verify repository has CI workflows
Checks stuck in "pending"
CI runner unavailable
Check GitHub Actions status page
Required check missing
Branch protection misconfigured
Review repository settings
Timeout while waiting
CI taking too long
Increase timeout or check CI performance
Authentication error
gh CLI not logged in
Run gh auth login
Debugging Commands
# Verify gh CLI authentication
gh auth status
# Check repository access
gh repo view owner/repo
# Manual check inspection
gh pr checks <number> --json name,status,conclusion
# View raw API response
gh api repos/owner/repo/commits/SHA/check-runs
Prerequisites
gh CLI: Must be installed and authenticated (gh auth login)
Repository access: Read access to the target repository
Python 3.8+: For running the scripts
Exit Codes (Standardized)
All scripts use standardized exit codes for consistent error handling:
Code
Meaning
Description
0
Success
Output is valid JSON with check data
1
Invalid parameters
Bad PR number, missing required args
2
Resource not found
PR or check does not exist
3
API error
Network, rate limit, timeout waiting for checks
4
Not authenticated
gh CLI not logged in
5
Idempotency skip
N/A for these scripts
6
Not mergeable
N/A for these scripts
Note:eia_wait_for_checks.py returns exit code 3 on timeout. Check the JSON output's timed_out field for details.