name: coderabbit-inheritance-scanner-search description: Search for repos with .coderabbit.yaml files in the openshift GitHub org
CodeRabbit Inheritance Scanner - Search
This skill searches the openshift GitHub organization for repositories containing .coderabbit.yaml or .coderabbit.yml files using the GitHub code search API.
When to Use This Skill
Use this skill as Step 1 of the /teams:coderabbit-inheritance-scanner command.
Procedure
Run the following bash script to search for repos. This uses GitHub code search to avoid iterating all ~800 repos individually.
ALL_REPOS=""
for FILENAME in .coderabbit.yaml .coderabbit.yml; do
PAGE=1
while true; do
API_ERR=""
RESULT=$(gh api -X GET "search/code" \
-f "q=filename:${FILENAME} org:openshift" \
-f "per_page=100" \
-f "page=${PAGE}" \
--jq '.items[] | .repository.full_name' 2> >(API_ERR=$(cat)))
API_EXIT=$?
if [ $API_EXIT -ne 0 ]; then
echo "ERROR: GitHub code search API failed (exit ${API_EXIT}): ${API_ERR}" >&2
echo "Check authentication with: gh auth status" >&2
exit 1
fi
if [ -z "$RESULT" ]; then
break
fi
ALL_REPOS="${ALL_REPOS}${RESULT}"$'\n'
COUNT=$(echo "$RESULT" | wc -l | xargs)
if [ "$COUNT" -lt 100 ]; then
break
fi
PAGE=$((PAGE + 1))
sleep 1
done
sleep 2
done
# Deduplicate, sort, exclude openshift/coderabbit
echo "$ALL_REPOS" | sort -u | grep -v '^$' | grep -v '^openshift/coderabbit$'
Output
A newline-separated list of org/repo names (e.g., openshift/api), excluding openshift/coderabbit.
Error Handling
If the code search API is unavailable or returns an error (e.g., due to authentication scope), inform the user that the search failed and suggest checking gh auth status.