oss-pr-criticlisted
Install: claude install-skill kookr-ai/kookr
# OSS PR Critic
Deep-read a PR from any repository and extract structured quality signals. Generalized version of `codex-pr-critic`.
## When to Use
Invoked for each PR in the batch selected by `oss-pr-plan`.
## Non-Negotiable Rules
| # | Rule | Violation Example | Correct Pattern |
|---|------|-------------------|-----------------|
| 1 | Read the full PR body, not just title | Scoring based on title alone | `gh pr view -R {repo} {number} --json body,title,reviews,comments` |
| 2 | Read ALL review comments | Only reading the first review | Fetch reviews AND review comments (inline) |
| 3 | Distinguish review types | Treating all comments as equal | Separate: approval, changes_requested, comment-only, inline nit |
| 4 | Note the outcome | Ignoring whether PR was merged or abandoned | merged_at != null means merged; otherwise rejected/abandoned |
| 5 | Don't editorialize prematurely | Writing "this is a bad PR" | Record signals objectively; patterns emerge during distillation |
| 6 | Load recon report for repo conventions | Judging without knowing repo rules | `cat ~/.claude/{repoSlug}-recon/recon-report.md` if it exists |
## Parameters
- **repoFullName**: `owner/repo`
- **repoSlug**: URL-safe slug
## Data Collection Per PR
```bash
REPO="{{repoFullName}}"
# PR metadata
gh pr view -R ${REPO} {number} --json number,title,body,state,mergedAt,closedAt,author,additions,deletions,changedFiles,labels,createdAt,baseRefName,headRefName
# Reviews (approval/rejection decisions)