agentsclimarketplace

Pr request review

Skill AravindS-Wick/aravindhan-skills/skills/pr-request-review

Request a code review for a PR by finding the right Slack channel (from PR CODEOWNERS comment or capabilities.json), checking if a bot thread already exists in that channel, and bumping the thread or posting fresh. Use when the user runs /pr-request-review, asks to request a review, wants to ping a team for their PR, or says "bump my PR".From its SKILL.md

Install
npx -y skills add AravindS-Wick/aravindhan-skills --skill pr-request-review

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.4 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

Request Review

Ping the right Slack channel for a PR review — finds the channel from the PR's CODEOWNERS comment or capabilities.json, checks for an existing bot thread in that channel, and replies to it (with channel broadcast) or posts fresh if none exists.

Message format

Mirror the style from real review requests in the channel:

  • Lead with a :pr-{number}: emoji if a custom PR emoji is available, otherwise omit
  • One-sentence ask: "Hey {team short name}, could I get a code review on this PR? Thank you in advance!"
  • PR link on its own line
  • Bullet list of files the team is tagged as CODEOWNER on (from the PR diff, filtered to that team's owned paths only)
  • Prefix with 🤖: when sending on behalf of the user

Example:

🤖: Hey platform services delivery, could I get a code review on this PR? Thank you in advance!
https://github.your-company.com/.../pull/12345

These are the files you were tagged codeowner on:
• app/lib/MC/Foo/Bar.php
• app/lib/MC/Foo/Baz.php

Steps

1. Resolve the PR

  • If a PR URL or number was provided as an argument, use it.
  • Otherwise check the current branch: gh pr view --json number,url,headRefName,title — use that PR.
  • If neither yields a PR, ask: "Which PR would you like to request a review for?"

2. Fetch PR metadata

Run:

gh pr view <number> --repo mailchimp-monolith/mailchimp \
  --json number,url,title,headRefName,additions,deletions

Also get the changed files:

gh pr diff <number> --repo mailchimp-monolith/mailchimp --name-only

3. Find the Slack channel

Preferred: read the CODEOWNERS bot comment on the PR

gh api repos/mailchimp-monolith/mailchimp/issues/<number>/comments \
  --jq '[.[] | select(.body | contains("CODEOWNER_SLACK_CHANNELS"))] | last | .body'

Parse the markdown table from that comment — each row maps a GitHub team to a Slack channel.

Fallback: look up via capabilities.json

If no CODEOWNERS comment exists, determine the owning team(s) from the changed files using batch/owners show (see codeowners skill), then look up the matching entry in .github/capabilities.json by github_team to get slack_channel_for_pr_reviews.

If multiple distinct teams/channels are found, list them and ask the user which channel(s) to notify.

4. Resolve the Slack channel ID

Use slack_search_channels with the channel name (strip the # prefix) to get the channel ID.

5. Check for an existing PR bot thread

Search the channel for an existing automated PR request thread:

slack_search_public_and_private(query="pull/<number>", channel=<channel_id>)

Also try reading recent messages in the channel with slack_read_channel looking for a message whose body contains the PR URL or PR number.

  • If a thread is found: reply to it with thread_ts set to the parent message's ts, and set reply_broadcast: true so it also appears in the channel.
  • If no thread is found: post a fresh message to the channel.

6. Filter owned files for the message

From the list of changed files (step 2), identify which are owned by the target team. Use the CODEOWNERS comment table or batch/owners show output to filter. Only list files owned by that specific team.

If there are more than 8 owned files, list the first 8 and append • (and N more…).

7. Draft and confirm

Show the user the draft message and ask: "Send this to {#channel}?" before posting.

8. Post the message

Use slack_send_message (not draft) with the confirmed message.

Return the message link to the user.

Edge cases

  • No CODEOWNERS comment and batch/owners unavailable (not in devenv): Read .github/CODEOWNERS directly and match changed file paths against patterns to infer the team, then cross-reference capabilities.json.
  • Channel not found: Show the raw channel name and ask the user to confirm or provide the correct channel.
  • Multiple teams on a PR: Notify all channels, or ask the user which ones to ping.
  • Channel has no bot thread: Always acceptable to post fresh — do not skip just because no thread was found.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.