Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/mlflow/dev --skill pr-review명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
Add a review comment to a GitHub pull request.
Fetch PR diff with filtering and line numbers for code review.
Review a GitHub PR's UI/UX changes by launching the MLflow web app, driving a headless agent-browser over the changed surfaces, and writing a Markdown UI-review comment body (findings + screenshots) for the workflow to post.
| name | pr-review |
| description | Review a pull request and emit a validated review payload. |
| disable-model-invocation | true |
| argument-hint | <pr_url> <payload_path> <media_dir> |
| arguments | ["pr_url","payload_path","media_dir"] |
Review $pr_url and write a JSON review payload to $payload_path. Do not post anything: writing that payload is the whole job.
The commands below take <pr_url> from the PR URL above, and <owner>, <repo>, and
<pr_number> from its parts.
These reads are independent. Issue them as parallel tool calls in a single turn, not sequentially.
PR title and description
gh pr view <pr_url> --json title,body
PR diff hunks via the fetch-diff skill:
uv run --package skills skills fetch-diff <pr_url>
Its annotated output gives you the line and side to anchor each comment on.
Existing review threads, so you can avoid duplicating prior feedback. Up to 100 threads (open, resolved, and outdated) with up to 20 comments each:
gh api graphql -F owner=<owner> -F repo=<repo> -F pr=<pr_number> \
--jq '.data.repository.pullRequest.reviewThreads.nodes | map(.comments = .comments.nodes)' \
-f query='
query($owner: String!, $repo: String!, $pr: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $pr) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
path
line
comments(first: 20) {
nodes { author { login } body }
}
}
}
}
}
}'
Load the repository style rules applicable to the changed files:
git diff --name-only HEAD^1 | uv run --package skills skills load-rules
The working tree holds the PR merged into the base (refs/pull/<pr_number>/merge), so file contents
reflect the post-merge state. Explore it for context beyond the diff (existing patterns, call sites
of changed symbols, file conventions).
The merge ref's base parent is reachable as HEAD^1. When the diff doesn't show enough (verifying
a refactor preserved behavior, reading a masked deleted file, or seeing the pre-change version of a
heavily modified one), use git show HEAD^1:<path> rather than re-fetching the file over the API.
The checkout is shallow, so nothing older than HEAD^1 exists: git log and git blame stop at
the shallow boundary rather than reaching the commit that actually introduced a line. Neither
errors, so don't trust them for pre-change history.
Verify rather than infer. A grep through the installed package, a uv run python -c '...', or a
quick search and fetch of the upstream docs will settle most questions in seconds, and an unverified
finding should be dropped rather than hedged. When the cheap checks don't settle it, escalate to the
expensive ones: build the docs site, build and boot the UI, start the backend, run the affected
tests.
Node and agent-browser are on PATH for docs and UI changes. Capture to an absolute path named for
what it shows: agent-browser screenshot --full $media_dir/example.png, and cite that same
path in a finding.
Evaluate the changed code across these dimensions:
Classify each finding that survives those exclusions:
Read review-payload.schema.json, then write
$payload_path matching it. It defines the severity prefix each comment body carries
and derives event from those prefixes.
Authoring rules not captured by the schema:
path:line in the body.```suggestion and preserve original
indentation.$media_dir and cite it by the absolute path you wrote it to:
 to embed, or [desc]($media_dir/name.png)
to link. A later workflow step uploads it and rewrites the reference to a URL. Do not
upload anything yourself. Skip this unless a visual genuinely beats prose; most reviews
need none..mp4, .mov, .webm) on a line of its own. GitHub renders a
player only for a bare URL in its own paragraph, so a video cited mid-sentence falls back
to a plain link.Validate before finishing, then fix any errors and re-emit until both of these pass:
uv run --package skills skills validate-review $payload_path
# only when you wrote a file into $media_dir
uv run --package skills skills embed-media --check --dir $media_dir --target $payload_path
Do not post the review: no gh pr review, no review/comment APIs, no other skills. Stop
after writing and validating $payload_path.