Claude Skill

reply-to-pr-conversation

Draft, confirm, and post a single conversational reply to GitHub PR conversation comments (issue comments). The reply addresses all tracked items in one natural-prose message. Use when the user asks to "reply to PR conversation", "post PR conversation replies", or "draft PR conve

LLM Mart · 0 points · 18 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download tobihagemann-turbo-claude_skills_reply-to-pr-conversation-b903a85.zip · 1 KB
Part of tobihagemann/turbo — 147 skills

Install

skills CLI npx skills add https://github.com/tobihagemann/turbo/tree/main/claude/skills/reply-to-pr-conversation
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tobihagemann-turbo@llmmart
Git git clone https://github.com/tobihagemann/turbo.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole tobihagemann/turbo collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Reply to PR Conversation

Draft a single reply that addresses a processed issue-comment list, confirm with the user, and post it as a new PR issue comment.

Step 1: Run /github-voice Skill

Run the /github-voice skill to load voice rules and the insider-vs-outsider detection.

Step 2: Compose the Reply

Use the processed-item list from conversation context. Each entry has: id, author, original comment body (to quote from selectively), category (fix, skip, answer, or clarify), and per-category payload.

Draft one reply that addresses every item as natural conversational prose. The output is a single piece of prose with flexible length and no rigid section structure.

Use the category to interpret each payload:

  • fix: payload is a commit SHA. Mention "fixed in <sha>" where it fits the flow, plus a brief note when the fix diverges from what the commenter suggested.
  • skip: payload is the skip reasoning. State it directly.
  • answer: payload is answer text prepared upstream. Integrate it as the implementer's own words.
  • clarify: payload is a user-directed question. Ask it as-is.

Quote selectively. Use > blockquotes only for the phrase being responded to. A single-topic reply quotes one sentence then responds; a multi-topic reply weaves quotes and responses together. Drop quotes entirely when @mentions plus context make the reply unambiguous.

Quote handling:

  • Strip leading > from quoted lines so nested blockquotes don't misattribute.
  • Replace fenced-code lines inside a quote with > [code snippet].
  • If the author login ends in [bot], omit the suffix from the @ mention.

Apply /github-voice rules. Match the conversation's length and tone. An acknowledgment with emoji is fine when the discussion calls for it; a multi-paragraph response is fine when the items warrant it.

Step 3: Confirm

Output the drafted reply as text for review:

**Draft comment**

<full comment body as it will be posted>

Then use AskUserQuestion to ask whether to post. Offer:

  • Post — post the comment
  • Cancel — skip posting

Step 4: Post the Comment

Auto-detect owner, repo, and PR number from the current branch if not provided. Write the drafted body to .turbo/pr/<pr_number>-comment.md with the Write tool, then post via the issue-comments REST endpoint:

gh api -X POST \
  "/repos/<owner>/<repo>/issues/<pr_number>/comments" \
  -F body=@.turbo/pr/<pr_number>-comment.md

Report the posted comment's URL.

Then use the TaskList tool and proceed to any remaining task.

Rules

  • Never close the PR, resolve a thread, or edit existing comments. Only post a new issue comment.
  • If the post fails, report the failure and leave the drafted body in the output so the user can post it manually.
Files (turbo)
  • SKILL.md 3.1 KB
    ---
    name: reply-to-pr-conversation
    description: "Draft, confirm, and post a single conversational reply to GitHub PR conversation comments (issue comments). The reply addresses all tracked items in one natural-prose message. Use when the user asks to \"reply to PR conversation\", \"post PR conversation replies\", or \"draft PR conversation messages\"."
    ---
    
    # Reply to PR Conversation
    
    Draft a single reply that addresses a processed issue-comment list, confirm with the user, and post it as a new PR issue comment.
    
    ## Step 1: Run `/github-voice` Skill
    
    Run the `/github-voice` skill to load voice rules and the insider-vs-outsider detection.
    
    ## Step 2: Compose the Reply
    
    Use the processed-item list from conversation context. Each entry has: id, author, original comment body (to quote from selectively), category (`fix`, `skip`, `answer`, or `clarify`), and per-category payload.
    
    Draft one reply that addresses every item as natural conversational prose. The output is a single piece of prose with flexible length and no rigid section structure.
    
    **Use the category to interpret each payload:**
    
    - **fix**: payload is a commit SHA. Mention "fixed in `<sha>`" where it fits the flow, plus a brief note when the fix diverges from what the commenter suggested.
    - **skip**: payload is the skip reasoning. State it directly.
    - **answer**: payload is answer text prepared upstream. Integrate it as the implementer's own words.
    - **clarify**: payload is a user-directed question. Ask it as-is.
    
    **Quote selectively.** Use `>` blockquotes only for the phrase being responded to. A single-topic reply quotes one sentence then responds; a multi-topic reply weaves quotes and responses together. Drop quotes entirely when @mentions plus context make the reply unambiguous.
    
    **Quote handling:**
    
    - Strip leading `>` from quoted lines so nested blockquotes don't misattribute.
    - Replace fenced-code lines inside a quote with `> [code snippet]`.
    - If the author login ends in `[bot]`, omit the suffix from the `@` mention.
    
    Apply `/github-voice` rules. Match the conversation's length and tone. An acknowledgment with emoji is fine when the discussion calls for it; a multi-paragraph response is fine when the items warrant it.
    
    ## Step 3: Confirm
    
    Output the drafted reply as text for review:
    
    ```
    **Draft comment**
    
    <full comment body as it will be posted>
    ```
    
    Then use `AskUserQuestion` to ask whether to post. Offer:
    
    - **Post** — post the comment
    - **Cancel** — skip posting
    
    ## Step 4: Post the Comment
    
    Auto-detect owner, repo, and PR number from the current branch if not provided. Write the drafted body to `.turbo/pr/<pr_number>-comment.md` with the Write tool, then post via the issue-comments REST endpoint:
    
    ```bash
    gh api -X POST \
      "/repos/<owner>/<repo>/issues/<pr_number>/comments" \
      -F body=@.turbo/pr/<pr_number>-comment.md
    ```
    
    Report the posted comment's URL.
    
    Then use the TaskList tool and proceed to any remaining task.
    
    ## Rules
    
    - Never close the PR, resolve a thread, or edit existing comments. Only post a new issue comment.
    - If the post fails, report the failure and leave the drafted body in the output so the user can post it manually.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related