بنقرة واحدة
coderabbit-inheritance-scanner-existing-pr-check
Search for an existing fix PR on a repo before opening a new one
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Search for an existing fix PR on a repo before opening a new one
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Add a Component Readiness triage record link to a JIRA issue description
Grade component health based on regression triage metrics for OpenShift releases
Use when checking a repository's .coderabbit.yaml (or .coderabbit.yml) to determine whether inheritance: true is set
Fork, sync, and open a fix PR to add inheritance: true to a repo's .coderabbit.yaml
Fetch and analyze component health regressions for OpenShift releases
Analyze and compare disruption across one or more Prow CI job runs by examining interval data, audit logs, pod logs, and CPU metrics
| name | CodeRabbit Inheritance Scanner - Existing PR Check |
| description | Search for an existing fix PR on a repo before opening a new one |
This skill checks whether a repository already has an open pull request whose title contains "CodeRabbit inheritance" (case-insensitive substring match). Teams sometimes modify PR titles to satisfy merge requirements, so a substring match avoids missing renamed PRs. This prevents duplicate PRs from being opened.
Use this skill as Step 3 of the /teams:coderabbit-inheritance-scanner command, after identifying non-compliant repos. Call it for each non-compliant repo.
For a batch of non-compliant repos, check for existing PRs:
# Input: NON_COMPLIANT_REPOS array of "org/repo" strings
# Output: prints PR status for each repo
for REPO in "${NON_COMPLIANT_REPOS[@]}"; do
# Search for open PRs whose title contains "CodeRabbit inheritance" (case-insensitive)
PR_DATA=$(gh api "repos/${REPO}/pulls" \
-f "state=open" \
-f "per_page=100" \
--jq '[.[] | select(.title | ascii_downcase | contains("coderabbit inheritance"))] | first? | {number: .number, html_url: .html_url, created_at: .created_at} // empty' 2>/dev/null)
if [ -n "$PR_DATA" ]; then
PR_NUMBER=$(echo "$PR_DATA" | jq -r '.number')
PR_URL=$(echo "$PR_DATA" | jq -r '.html_url')
CREATED_AT=$(echo "$PR_DATA" | jq -r '.created_at')
# Calculate days open
CREATED_EPOCH=$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "$CREATED_AT" "+%s" 2>/dev/null || date -d "$CREATED_AT" "+%s" 2>/dev/null)
NOW_EPOCH=$(date "+%s")
DAYS_OPEN=$(( (NOW_EPOCH - CREATED_EPOCH) / 86400 ))
echo "HAS_PR|${REPO}|${PR_URL}|${DAYS_OPEN}"
else
echo "NO_PR|${REPO}||"
fi
sleep 0.3
done
Pipe-separated fields per line:
STATUS|org/repo|pr_url|days_open
Where STATUS is one of:
HAS_PR - An open PR with the expected title was foundNO_PR - No matching open PR existsCOMPLIANT).days_open field helps prioritize follow-up on stale PRs.