원클릭으로
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.