From github-devflow
This skill should be used when the user asks to "reply to PR comments", "respond to review comments", "reply to PR
npx claudepluginhub hhiroshell/gh-devflow-plugins --plugin github-devflowThis skill is limited to using the following tools:
Reply to comments on a GitHub pull request by finding threads that need responses, generating thoughtful replies based on codebase context, and posting them directly.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Reply to comments on a GitHub pull request by finding threads that need responses, generating thoughtful replies based on codebase context, and posting them directly.
Filter criteria for actionable threads:
This skill uses shared helper scripts in scripts/ at the plugin root:
| Script | Purpose |
|---|---|
fetch-review-threads.sh | Fetch review threads from a PR with optional filtering |
post-reply.sh | Post a reply to a review thread |
Use the helper script to fetch review threads that need replies:
PR_NUMBER=$ARGUMENTS
bash ${CLAUDE_PLUGIN_ROOT}/scripts/fetch-review-threads.sh $PR_NUMBER --filter-resolved --filter-skill reply
This returns JSON with:
owner, repo, prNumber: Repository contextthreads: Array of threads requiring actiontotalCount: Number of actionable threadsEach thread contains:
id: Thread ID for posting replies (e.g., PRRT_xxx)isResolved: Always false (filtered)path: File path in the repositoryline: Line number in the filecomments.nodes: Array of all comments in the thread (latest comment is last)If no actionable threads are found (totalCount: 0), report that no replies are needed.
For each actionable thread:
comments.nodes array to understand the full conversation contextpath around lineWhen generating replies:
Post each reply using the helper script:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/post-reply.sh --skill reply "<thread-id>" "<reply-body>"
Or for longer replies, write to a file first:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/post-reply.sh --skill reply --file "<thread-id>" /tmp/reply.md
The script returns JSON with:
success: Boolean indicating successcomment.id: The created comment's IDcomment.url: URL to the commentAfter processing all threads, provide a summary:
This skill must NOT modify any files. Only suggest changes in replies:
path fieldgh CLI is not authenticated, inform the user to run gh auth loginUsage: fetch-review-threads.sh <pr-number> [--filter-resolved] [--filter-skill <name>]
Options:
--filter-resolved Filter out resolved threads
--filter-skill <name> Filter out threads where the latest
comment contains the specified skill's signature
(github-devflow:<name>)
Output: JSON with repository info and thread array
Usage: post-reply.sh [--skill <name>] <thread-id> <body>
post-reply.sh [--skill <name>] --file <thread-id> <body-file>
Options:
--skill <name> Include skill identifier in signature
(e.g., --skill reply → "github-devflow:reply")
Arguments:
thread-id The GraphQL ID of the review thread (e.g., PRRT_xxx)
body The reply message text
body-file Path to a file containing the reply message
Note: Automatically appends a "Claude Code" signature to identify
AI-generated replies for filtering in subsequent runs.
Output: JSON with success status and comment details