Fetches GitHub PR details via gh CLI, writes plain-English explanation of changes and impact, and posts as PR comment. Use to summarize PRs or add context for reviewers.
npx claudepluginhub varnan-tech/opendirectory --plugin opendirectory-gtm-skillsThis skill uses the workspace's default tool permissions.
Read a GitHub pull request, understand what it changes, and write a plain-English explanation. Post it as a PR comment so reviewers have instant context.
Generates structured GitHub PR descriptions from branch diffs, commit messages, and existing PRs. Includes summary, changes, testing; optionally creates/updates via gh CLI.
Updates GitHub PR descriptions with structured summaries from git commits/diffs, including breaking changes, testing steps, and auto-detected fixes.
Creates GitHub pull requests with structured descriptions following Sentry engineering practices using GitHub CLI. Analyzes git diff/logs for what/why/context after commits.
Share bugs, ideas, or general feedback.
Read a GitHub pull request, understand what it changes, and write a plain-English explanation. Post it as a PR comment so reviewers have instant context.
Confirm gh is authenticated:
gh auth status
If not authenticated: gh auth login and follow the prompts.
Confirm input. The user must provide one of:
https://github.com/owner/repo/pull/123)#123)If no input, ask: "Which PR should I explain? Share the URL, PR number, or say 'current' for the active branch."
Get PR metadata:
gh pr view PR_URL_OR_NUMBER --json number,url,title,body,author,baseRefName,headRefName,additions,deletions,changedFiles,commits,labels,state,isDraft
If isDraft is true, note this to the user: "This PR is still in draft. The explanation is based on its current state."
Get the diff:
gh pr diff PR_URL_OR_NUMBER
If the diff is over 400 lines, read the --stat summary and the first 200 lines of the diff:
gh pr view PR_URL_OR_NUMBER --json files
gh pr diff PR_URL_OR_NUMBER | head -200
Get existing comments (to avoid repeating what is already there):
gh pr view PR_URL_OR_NUMBER --json comments --jq '.comments[].body' 2>/dev/null | head -20
Write two paragraphs. Read each rule before writing.
Paragraph 1: What it does (technical)
Example:
Replaces the in-memory session cache in auth.middleware.ts with a Redis-backed cache (src/cache/redis.ts). Adds get, set, and invalidate methods to the new Redis module and wraps UserService.getById() with a 5-minute TTL. Removes the Map-based cache that was limited to a single process and caused session drift across multiple instances.
Paragraph 2: Why it matters (business/product impact)
Example:
Users hitting the /api/me endpoint under load were getting inconsistent session data across server instances, causing intermittent 401 errors. This change makes session state consistent across all instances and reduces database load by eliminating one query per authenticated request.
Rules for both paragraphs:
Before posting, check:
Fix any violation before posting.
Present the explanation to the user. Ask: "Ready to post this as a PR comment, or would you like to edit it first?"
On confirmation, pass the body via stdin to handle backticks, quotes, and newlines safely:
gh pr comment PR_URL_OR_NUMBER --body-file - << 'EOF'
EXPLANATION_HERE
EOF
After posting: "Comment added. View it at: [url from Step 2]"
If the user says "output only", present the explanation in a code block for manual copy-paste without posting.