Process GitHub PR review comments by fetching them to local JSON, implementing fixes, and tracking progress. Use when user invokes /gh-process-review command. Fetches reviews to file to avoid context pollution, uses jq for parsing, commits each fix separately. Starts in planning mode by default. Supports optional "continue" argument to skip fetching and resume with existing reviews file.
Processes GitHub PR review comments by implementing fixes locally, committing each separately, and tracking progress.
/plugin marketplace add keboola/ai-kit/plugin install developer@keboola-claude-kitThis skill inherits all available tools. When active, it can use any tool Claude has access to.
scripts/review.shProcess PR review threads efficiently by storing them locally and addressing them one by one.
CRITICAL: All commands MUST be run from the user's project root directory, NOT from the skill directory.
$SKILL_DIR/scripts/review.sh — the single entry pointcd into the skill directory - the script handles path resolution internallySKILL_DIR = directory containing this SKILL.md (automatically resolved by Claude)
cd into the skill directory. Call $SKILL_DIR/scripts/review.sh from the project root.mark for local tracking only.Fetch reviews for current PR and list unresolved threads:
"$SKILL_DIR/scripts/review.sh" fetch
This auto-detects the PR from the current branch, fetches all review threads, and prints unresolved threads.
/gh-process-review continue)Skip fetching, list unresolved threads from existing reviews file:
"$SKILL_DIR/scripts/review.sh" list
After fetching, enter planning mode using EnterPlanMode tool.
CRITICAL: Context is cleared when the plan is approved. The plan must be self-contained. $SKILL_DIR will no longer be set after context clears, so resolve it to the absolute path in the plan. Do NOT use shell variables — write out the full path in every command. Beyond the thread list and proposed fixes, always include these sections in the plan (replacing /absolute/path/to with the actual resolved $SKILL_DIR/scripts/review.sh path):
## Skill Script
Commands (use the literal path, not a variable):
- `/absolute/path/to/scripts/review.sh get <ID>` — get thread details
- `/absolute/path/to/scripts/review.sh reply <ID> <commit-hash>` — reply with commit
- `/absolute/path/to/scripts/review.sh reply <ID> -m "message"` — reply with message only
- `/absolute/path/to/scripts/review.sh reply <ID> -m "message" <commit-hash>` — reply with both
- `/absolute/path/to/scripts/review.sh mark <ID>` — mark locally resolved
## Rules
- NEVER resolve threads via GitHub API — only the reviewer may resolve their own comments
- ONE commit per fix — never batch multiple fixes
- Each fix: implement → commit → push → reply → mark → next thread
- STAY in project root — never cd into skill directory
In the plan:
Skip planning only if user explicitly requests it (e.g., "skip planning", "no planning", "just fix it").
For each unresolved thread (one at a time):
"$SKILL_DIR/scripts/review.sh" get PRRT_...git add <changed-files>
git commit -m "$(cat <<'EOF'
AI-XXXX Address review: <brief description>
Addresses comment by @<reviewer> on <file>:<line>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
EOF
)"
"$SKILL_DIR/scripts/review.sh" reply PRRT_..."$SKILL_DIR/scripts/review.sh" mark PRRT_...After all threads are addressed, reflect on the reviewer's feedback:
Single entry point: $SKILL_DIR/scripts/review.sh
--file <path> — Override auto-detected reviews file path"$SKILL_DIR/scripts/review.sh" fetch # Current branch's PR
"$SKILL_DIR/scripts/review.sh" fetch 123 # Specific PR number
"$SKILL_DIR/scripts/review.sh" fetch https://github.com/owner/repo/pull/123 # PR URL
Fetches review threads via GraphQL, saves to .scratch/reviews/, and auto-lists unresolved threads.
"$SKILL_DIR/scripts/review.sh" list # summary (default)
"$SKILL_DIR/scripts/review.sh" list full # full JSON details
"$SKILL_DIR/scripts/review.sh" list ids # just thread IDs
"$SKILL_DIR/scripts/review.sh" get PRRT_kwDOAbcd1234
"$SKILL_DIR/scripts/review.sh" get PRRT_kwDOAbcd1234 PRRT_kwDOEfgh5678
Returns: Single thread as JSON object, or JSON array when multiple IDs given.
Fields: path, line, comments[], isResolved, isOutdated. Warns on missing IDs.
Requires at least one of -m or a commit hash.
"$SKILL_DIR/scripts/review.sh" reply PRRT_kwDOAbcd1234 abc1234 # Commit hash → "Fixed in abc1234"
"$SKILL_DIR/scripts/review.sh" reply PRRT_kwDOAbcd1234 -m "No changes needed" # Message only
"$SKILL_DIR/scripts/review.sh" reply PRRT_kwDOAbcd1234 -m "Refactored per suggestion" abc1234 # Both → "Fixed in abc1234\n\nRefactored per suggestion"
"$SKILL_DIR/scripts/review.sh" mark PRRT_kwDOAbcd1234
"$SKILL_DIR/scripts/review.sh" mark PRRT_kwDOAbcd1234 "Fixed in commit abc123"
pr: PR metadata (number, title, branch names, url)threads[]: id, path, line, isResolved, isOutdated, local_resolved, local_notes, comments[]reviews: Review summariesid: GraphQL ID (starts with PRRT_)path: File pathline: Line numbercomments[0].body: Main feedbackcomments[0].author: ReviewerActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.