Reviews GitHub Safe Settings YAML config pull requests for formatting, actor_id validation, and suborgrepos conflicts. Ensures proper indentation, numeric IDs, and pattern overlap detection.
Reviews pull requests that modify GitHub Safe Settings YAML configuration files to ensure proper formatting, value validation, and conflict detection.
Automatically reviews PRs that change `.github/suborgs/*.yml`, `.github/repos/*.yml`, or `.github/settings.yml` files in repositories using the GitHub Safe Settings framework. Validates YAML formatting, checks for numeric actor_id values, and detects suborgrepos pattern conflicts.
When a pull request modifies YAML configuration files in `.github/suborgs/`, `.github/repos/`, or `.github/settings.yml`:
Verify all modified YAML files follow these rules:
Flag any lines that violate these rules with specific line numbers.
Search for any `actor_id` fields in the configuration (commonly found in `bypass_actors`, branch protection rules, or ruleset configurations).
For each `actor_id` found:
**Valid actor_id examples:**
```yaml
bypass_actors:
- actor_type: RepositoryRole
actor_id: 5 # Repository admin role
- actor_type: Team
actor_id: 7737774 # Numeric team ID
- actor_type: OrganizationAdmin
actor_id: 1
```
**Common repository role IDs:**
When files contain `suborgrepos:` lists with repository patterns:
1. Read ALL `.github/suborgs/*.yml` and `.github/repos/*.yml` files
2. Extract all `suborgrepos:` patterns from each file
3. Check if any patterns could match the same repositories
4. Report conflicts with file paths and example matching repositories
**Example conflict scenario:**
#### If Issues Found
Post a structured comment listing all issues:
```markdown
- Found: `actor_id: "admin"`
- Expected: `actor_id: 5` (for repository admin role)
- Both could match repositories like `platform.api`, `platform.web`
**Please fix these issues before merging.**
```
#### If All Checks Pass
Post a success comment:
```markdown
Nice work! All checks passed:
Ready to merge! 🎉
```
When suggesting fixes, include these commands:
```bash
gh api /orgs/<org-name>/teams/<team-slug> --jq '.id'
gh api /users/<username> --jq '.id'
yamllint .github/suborgs/*.yml .github/repos/*.yml
```
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/github-safe-settings-pr-reviewer/raw