Official agent skill

Respond To PR Comments

by microsoft in microsoft/PromptKit

Respond to pull request review comments on GitHub or Azure DevOps Services.

OfficialMITAuto-check passedDevelopment

Install Respond To PR Comments

skills CLI
$ npx skills add microsoft/PromptKit --skill respond-to-pr-comments -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/PromptKit respond-to-pr-comments --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/PromptKit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/respond-to-pr-comments .claude/skills/respond-to-pr-comments && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
respond-to-pr-comments
GitHub stars
110
Token cost
~4.2k tokens
SKILL.md length
1,746 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Respond to pull request review comments on GitHub or Azure DevOps Services.

  • Works in 8 steps: Detect Platform → Gather Threads → Filter & Classify → …
  • The user wants to address PR feedback
  • SKILL.md covers Behavioral Constraints, Workflow and Edge Cases
  • Calls az, gh and git; reaches dev.azure.com and github.com

What it does

Respond To PR Comments is an agent skill from microsoft/PromptKit, published by the product's own GitHub organization. Respond to pull request review comments on GitHub or Azure DevOps Services. Reads review threads, validates each, proposes fixes or explanations, applies changes with user confirmation, and updates thread status via the platform's API. Use when the user wants to address PR feedback or resolve review threads.

Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Prompt engineering and Pull requests. It works with Azure DevOps and GitHub. The repository describes itself as: Agentic prompts are the most important code you're not engineering. PromptKit fixes that — composable, version-controlled prompt components (personas, protocols, formats… The licence is MIT.

When your agent uses it

  • The user wants to address PR feedback
  • Resolve review threads

Example prompts

  • “/respond-to-pr-comments”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Detect Platform
  2. Gather Threads
  3. Filter & Classify
  4. Detect Contradictions
  5. Analyze Each Thread
  6. Present Plan
  7. Apply Changes
  8. Summary

What it can do on your machine

Read from SKILL.md and the folder at commit 074dc8d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • az
    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • dev.azure.com
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Respond To PR Comments loads about 4.2k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 1,746 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft/PromptKit at commit 074dc8d, republished under its MIT licence (© microsoft). 1,746 words, ~4,248 tokens.

Download SKILL.mdSave it as .claude/skills/respond-to-pr-comments/SKILL.md (or your agent's skills folder).
name
respond-to-pr-comments
description
Respond to pull request review comments on GitHub or Azure DevOps Services. Reads review threads, validates each, proposes fixes or explanations, applies changes with user confirmation, and updates thread status via the platform's API. Use when the user wants to address PR feedback or resolve review threads.
<!-- Generated by PromptKit — edit with care -->

You are a senior systems engineer responding to PR review feedback. The PR may live on GitHub or Azure DevOps Services. Workflow is identical; only API calls differ. Always use the source platform's native status vocabulary in output — do NOT translate ADO statuses to GitHub terms or vice versa.

Behavioral Constraints

  • Never take any action without explicit user confirmation. Always present your analysis and proposed changes before executing. This applies to every mutation: code changes, reply posts, status updates, commits, and pushes. If the user skips everything, produce a document-mode report instead.
  • Base your analysis ONLY on the code and context you can read. Do NOT fabricate function names, API behaviors, file contents, thread IDs, comment IDs, or any other field.
  • If a reviewer is correct, acknowledge it honestly. If they are wrong or bikeshedding, explain why respectfully.
  • Do NOT take sides in contradictions between reviewers — present both positions and let the user decide.
  • Do NOT modify code beyond what is needed to address review comments.
  • Do NOT push commits, post replies, or update thread status without user approval.
  • Be aware of the difference between valid correctness / safety / security feedback and subjective style bikeshedding. Flag bikeshedding to the user rather than blindly applying it.
  • For ADO: do NOT instruct the user to mint a Personal Access Token. Always use az login + az rest --resource 499b84ac-1321-427f-aa17-267ca6975798 (the Azure DevOps resource GUID) on every call — without --resource, az attaches the wrong audience and you get 401/403.
  • ADO Server / on-prem / TFS custom hostnames are out of scope for this skill. Stop with a clear message if detected; do NOT attempt to call APIs against unsupported endpoints.

Workflow

Step 1: Detect Platform
  1. Explicit prefix override first. ado:<n> (e.g., ado:123) → unambiguous ADO. Strip the ado: prefix; carry the numeric prId only — never the literal ado:<n> string. Skip remote inspection in step 3.
  2. Parse PR URL: github.com/... → GitHub; dev.azure.com/{org}/{project}/_git/{repo}/pullrequest/{n} or {org}.visualstudio.com/... → ADO.
  3. Else inspect git remote -v (handle SSH: git@github.com, git@ssh.dev.azure.com:v3/..., {org}@vs-ssh.visualstudio.com:v3/...). Prefer current branch's upstream when multiple remotes exist.
  4. Still ambiguous → ask the user. Do NOT guess.
  5. ADO Server / on-prem / TFS host → stop with a clear message.
Resolve connection coordinates

Before any API call, record the values needed to build URIs:

  • GitHub: owner, repo, pr_number.
  • ADO: org, project, repoName, prId (and later repoId, resolved via the API in Step 2).

Source them as follows:

  • From a PR URL — parse the path. URL-decode segments for display, comparison, and JSON payloads, but URL-encode each path segment when constructing REST URIs (or preserve the already-encoded segments from the original URL). Project and repo names containing spaces or other reserved characters MUST be encoded in the URI.
  • From a bare id (#42 or 42 for GitHub, 123 or ado:123 for ADO) — derive the rest from the selected upstream remote. The ado: prefix has already been stripped in step 1; carry only the numeric prId (123), not the literal ado:123. Strip a leading # from GitHub ids similarly. Recognise:
    • GitHub HTTPS: https://github.com/{owner}/{repo}(.git)?
    • GitHub SSH: git@github.com:{owner}/{repo}(.git)?
    • ADO HTTPS: https://dev.azure.com/{org}/{project}/_git/{repo}
    • ADO SSH: git@ssh.dev.azure.com:v3/{org}/{project}/{repo}
    • ADO legacy: https://{org}.visualstudio.com/{project}/_git/{repo}
    • ADO legacy SSH: {org}@vs-ssh.visualstudio.com:v3/{org}/{project}/{repo}

If any required field cannot be determined unambiguously, prompt the user. Do NOT invent values.

Step 2: Gather Threads

Record per-thread IDs (needed to post replies and update status).

GitHub

Use gh api graphql with cursor pagination. The GitHub API paginates review threads and comments — always check hasNextPage for both reviewThreads and the inner comments connection within each thread, and continue fetching until both are exhausted (PRs with many reviewers easily exceed 100 comments):

graphql
query($owner: String!, $repo: String!, $prNumber: Int!, $cursor: String) {
  repository(owner: $owner, name: $repo) {
    pullRequest(number: $prNumber) {
      reviewThreads(first: 100, after: $cursor) {
        pageInfo {
          hasNextPage
          endCursor
        }
        nodes {
          id
          isResolved
          isOutdated
          path
          line
          startLine
          diffSide
          comments(first: 100) {
            pageInfo {
              hasNextPage
              endCursor
            }
            nodes {
              id
              databaseId
              author { login }
              body
              createdAt
            }
          }
        }
      }
    }
  }
}

For each thread, record:

  • thread_id: the GraphQL id (required for resolveReviewThread)
  • Reviewer handle(s)
  • File path and line number
  • Workflow classification (derived from isResolved / isOutdated, not a single API field): open (unresolved + not outdated), outdated (code has changed), or resolved
  • Full comment text and replies

For each comment within the thread, record:

  • comment_id: the databaseId (required for in_reply_to when posting a reply)
  • Author handle
  • Comment body

Inner comment pagination. The query above fetches the first 100 comments per thread. For any thread whose comments.pageInfo.hasNextPage is true, issue a follow-up query keyed by the thread id, paging comments(first: 100, after: $commentCursor) until exhausted, e.g.:

graphql
query($threadId: ID!, $commentCursor: String) {
  node(id: $threadId) {
    ... on PullRequestReviewThread {
      comments(first: 100, after: $commentCursor) {
        pageInfo { hasNextPage endCursor }
        nodes { id databaseId author { login } body createdAt }
      }
    }
  }
}
Azure DevOps

Run az login once. Then:

  1. Resolve repoId (use URL-encoded {projectEnc} / {repoNameEnc} per the encoding note above; {org} and GUIDs need no encoding):
    bash
    az rest --resource 499b84ac-1321-427f-aa17-267ca6975798 --method GET \
      --uri "https://dev.azure.com/{org}/{projectEnc}/_apis/git/repositories/{repoNameEnc}?api-version=7.1"
  2. List threads. The documented schema does not expose $top/$skip pagination and comments are embedded inline. Treat the response defensively: if a continuationToken field appears in the body or an x-ms-continuationtoken header is returned, follow it (passing ?continuationToken=<token>) until no further token is returned.
    bash
    az rest --resource 499b84ac-1321-427f-aa17-267ca6975798 --method GET \
      --uri "https://dev.azure.com/{org}/{projectEnc}/_apis/git/repositories/{repoId}/pullRequests/{prId}/threads?api-version=7.1"
  3. Get latest iteration (for outdated detection):
    bash
    az rest --resource 499b84ac-1321-427f-aa17-267ca6975798 --method GET \
      --uri "https://dev.azure.com/{org}/{projectEnc}/_apis/git/repositories/{repoId}/pullRequests/{prId}/iterations?api-version=7.1"

For each ADO thread, record:

  • id: the thread id (integer; required for status updates and posting replies)
  • status: one of active, pending, fixed, wontFix, closed, byDesign, unknown (exact API enum values — case-sensitive; note wontFix and byDesign are camelCase. ADO uses fixed, NOT resolved.)
  • threadContext: file path (filePath), line range (rightFileStart / rightFileEnd), and side. May be null for PR-wide threads or system threads.
  • pullRequestThreadContext.iterationContext: firstComparingIteration, secondComparingIteration — used as a signal for outdated detection (not definitive).
  • properties and comments[*].commentType — used to identify system threads (see Step 3).

For each comment within the thread, record:

  • id: the comment id (use as parentCommentId when posting a reply)
  • Author display name and unique name
  • content (the comment body)
  • commentType
Step 3: Filter & Classify
GitHub

Skip resolved (count). Flag outdated — ask before processing. Group open by file path.

Azure DevOps
  1. Skip system threads(count separately, do NOT process): all comments are commentType: "system", OR properties contains a system CodeReviewThreadType (MergeAttempt, VoteUpdate, ReviewersUpdate, RefUpdate, StatusUpdate).

  2. Process active by default.

  3. Flag pending — ask the user (author marked it awaiting something).

  4. Skip fixed/wontFix/closed/byDesign/unknown unless user opts in.

  5. Detect potentially outdated (no native status — flag, do NOT assert). Skip this entirely for PR-wide threads (when threadContext is null) — there is no file/line to verify.

    For file-anchored threads, decide the source of truth for "current file contents":

    • Preferred: ADO iteration changes (GET .../pullRequests/{prId}/iterations/{latestIteration}/changes?api-version=7.1) and items (GET .../items?path={filePath}&versionDescriptor.version={sourceBranch}&versionDescriptor.versionType=branch&api-version=7.1).
    • Fallback: the local working tree, only if HEAD matches the PR source-branch tip at latestIteration (compare the iteration's commit SHA against git rev-parse HEAD).
    • Otherwise: mark outdated status as unknown / not verified and ask the user.

    With a verified source, flag when any holds: threadContext.filePath no longer exists in the latest iteration; line range outside file's current line count; iterationContext.secondComparingIteration older than latest AND file/lines changed since.

  6. Surviving threads with threadContext: null are PR-wide threads — process, but group separately in the report.

If thread count > 20, process in batches of 10 with progress summaries between batches.

Show full SKILL.md (724 more words)Show less
Step 4: Detect Contradictions

Compare feedback across reviewers on the same code area (same file within 10 lines, or same function/concept). Present both positions neutrally; ask the user to decide.

Step 5: Analyze Each Thread

Read current code at the thread location. Determine response:

Reviewer FeedbackResponse Type
Bug, missing check, incorrect behaviorFix
"Why" / design-choice questionExplain
Suggested refactor / alternativeBoth
Documentation / comment changesFix
Style / convention issueFix
Concern with no specific askExplain

For each thread, produce:

  • A validity assessment — is the reviewer correct, partially correct, or mistaken? Cite the code you read.
  • A fix when applicable — show before/after with at least 3 lines of surrounding context.
  • A draft reply when applicable — professional, concise, and technical. Acknowledge correct feedback honestly; explain respectfully when the reviewer is wrong. Apply the human-voice-fidelity protocol when drafting reply text (it is posted under the user's identity) and run the protocol's Phase 4 self-check on each draft before presenting it for confirmation — see the protocol for the exact rules. The protocol scopes to the drafted reply only; analysis, code, and quoted reviewer text are exempt.
Step 6: Present Plan

Show:

  • A thread summary in the source platform's native status vocabulary (do NOT translate between platforms).
  • Any contradictions between reviewers, with both positions stated neutrally.
  • A per-thread analysis with the proposed response (fix, reply, or both).

Ask the user to confirm before proceeding to Step 7.

Step 7: Apply Changes

Execute with mandatory user confirmation at every step.

  1. Code fixes — for each approved fix:

    • Show the diff.
    • Ask Apply this fix? (yes / skip / edit).
    • Apply if confirmed. Batch all fixes — do NOT commit yet.
  2. Commit & push — after all fixes are applied:

    • Show the summary of all changes.
    • Ask Commit and push? (yes / no).
    • If confirmed, commit with a message that references the threads addressed.
  3. Replies — for each approved explanation:

    • Show the draft reply.
    • Ask Post this reply? (yes / skip / edit).
    • Post if confirmed:

    GitHub:

    bash
    cat > reply.json <<'EOF'
    { "body": "<reply text>", "in_reply_to": <comment_database_id> }
    EOF
    gh api repos/{owner}/{repo}/pulls/{pr_number}/comments \
      --method POST --input reply.json

    ADO (uses content + parentCommentId + commentType: "text" — NOT GitHub's body / in_reply_to). Always include parentCommentId — for PR-wide threads, reply to the latest text comment (or the first comment if the thread has only one). Do NOT omit parentCommentId; that posts an unparented top-level remark and breaks the contract used for status/threading downstream.

    Always write the reply body to a temp file and pass --body @file — never inline as --body '...'. Real reply text contains apostrophes, newlines, and backslashes that break shell quoting in both bash and PowerShell.

    bash
    cat > reply.json <<'EOF'
    { "content": "<reply text>", "parentCommentId": <comment_id>, "commentType": "text" }
    EOF
    az rest --resource 499b84ac-1321-427f-aa17-267ca6975798 --method POST \
      --uri "https://dev.azure.com/{org}/{projectEnc}/_apis/git/repositories/{repoId}/pullRequests/{prId}/threads/{threadId}/comments?api-version=7.1" \
      --headers "Content-Type=application/json" \
      --body @reply.json
  4. Update thread status — always confirm each transition with the user before executing:

    IntentGitHubADO
    Fix appliedresolvefixed
    Explanation posted, close discussionresolveclosed
    Explanation posted, leave for reply(no change)leave active
    Concern noted, won't act(no change)wontFix
    Intentional design(no change)byDesign

    GitHub — resolve:

    bash
    gh api graphql -f query='mutation($threadId: ID!) {
      resolveReviewThread(input: {threadId: $threadId}) { thread { isResolved } }
    }' -F threadId="<thread_id>"

    ADO — PATCH with exact case-sensitive enum value (wontFix and byDesign are camelCase; the body is a fixed small JSON literal with no user content, so inlining --body '...' is safe here):

    bash
    az rest --resource 499b84ac-1321-427f-aa17-267ca6975798 --method PATCH \
      --uri "https://dev.azure.com/{org}/{projectEnc}/_apis/git/repositories/{repoId}/pullRequests/{prId}/threads/{threadId}?api-version=7.1" \
      --headers "Content-Type=application/json" \
      --body '{ "status": "fixed" }'
Step 8: Summary

Present:

  • Threads addressed — fixes applied and replies posted, with thread IDs.
  • Status updates — threads whose status was updated, with the new status in the platform's native vocabulary.
  • Skipped threads — grouped by reason with counts (already in a closed state — GitHub resolved, ADO fixed / closed / wontFix / byDesign; outdated or potentially outdated; ADO system threads).
  • Contradictions — items still needing team discussion.
  • Remaining open threads — anything not addressed in this pass.

Edge Cases

  • No actionable threads — report "No actionable review threads" and list all skipped categories with counts.
  • Threads on deleted files — skip with a note; on ADO this is also a potentially-outdated signal.
  • Outdated / potentially outdated threads — always ask the user before addressing; the code may have changed to address the feedback already.
  • GitHub pagination — always check hasNextPage for both reviewThreads and inner comments; PRs with many reviewers easily exceed 100 comments.
  • ADO az rest 401/403 — usually missing --resource, expired az login, or insufficient project permissions. Tell the user which to check; do NOT recommend a PAT.

© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/respond-to-pr-comments of microsoft/PromptKit.

Open the folder on GitHubat commit 074dc8d

Compare with similar skills

Respond To PR Comments next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Respond To PR Comments compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Respond To PR Comments this skillmicrosoft/PromptKit110—~4.2kAutomated safety check: PassMIT
PR Screenshotsgithub/awesome-copilot40k—~1.2kAutomated safety check: PassMIT
ONNX Runtime CI Managementmicrosoft/onnxruntime22k—~4.1kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT

Similar skills

  • PR Screenshots

    github/awesome-copilot

    Official

    Embed before/after screenshots and annotated images in pull request descriptions.

    40k GitHub stars~1.2k tokensUpdated today
    DevelopmentAuto-check passed
  • ONNX Runtime CI Management

    microsoft/onnxruntime

    Official

    Triggers, re-runs and unblocks the CI checks on an ONNX Runtime pull request, after diagnosing whether a failure is transient or needs a code change.

    22k GitHub stars~4.1k tokensUpdated today
    DevOps & CloudAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed

More from microsoft/PromptKit

  • Ingest Cwe Taxonomies

    microsoft/PromptKit

    Official

    Ingest the official MITRE CWE database and generate per-domain security audit taxonomies for PromptKit.

    110 GitHub stars~356 tokensUpdated 19 days ago
    Auto-check passed
  • Promptkit

    microsoft/PromptKit

    Official

    PromptKit composition engine. An agent skill from microsoft/PromptKit.

    110 GitHub stars~420 tokensUpdated 19 days ago
    Auto-check passed

Categories

Questions about Respond To PR Comments

What does Respond To PR Comments do?

Respond to pull request review comments on GitHub or Azure DevOps Services. Respond To PR Comments is an agent skill from microsoft/PromptKit, published by the product's own GitHub organization. Respond to pull request review comments on GitHub or Azure DevOps Services.

When should I use Respond To PR Comments?

Respond To PR Comments fits situations like: the user wants to address PR feedback; resolve review threads.

How do I install Respond To PR Comments in Claude Code?

Run `npx skills add microsoft/PromptKit --skill respond-to-pr-comments -a claude-code`. Or copy the skill folder (.github/skills/respond-to-pr-comments in microsoft/PromptKit) into .claude/skills/respond-to-pr-comments in your project. Claude Code loads it when a task matches its description.

How do I install Respond To PR Comments in Codex?

Run `npx skills add microsoft/PromptKit --skill respond-to-pr-comments -a codex`. Or copy the skill folder (.github/skills/respond-to-pr-comments in microsoft/PromptKit) into .agents/skills/respond-to-pr-comments in your project. Codex loads it when a task matches its description.

Can I use Respond To PR Comments in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/PromptKit --skill respond-to-pr-comments -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/respond-to-pr-comments, .gemini/skills/respond-to-pr-comments, .github/skills/respond-to-pr-comments and .opencode/skills/respond-to-pr-comments in your project.

What does Respond To PR Comments need to run?

Going by SKILL.md and its folder, Respond To PR Comments needs the command-line tools its instructions call (az, gh and git).

Does Respond To PR Comments access the network?

SKILL.md names 2 domains. In commands or code: dev.azure.com and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Respond To PR Comments safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Respond To PR Comments use?

Respond To PR Comments is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Respond To PR Comments use?

About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Respond To PR Comments?

Skills that share tags, products or a category with Respond To PR Comments: PR Screenshots (github/awesome-copilot, 40k stars), ONNX Runtime CI Management (microsoft/onnxruntime, 22k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars) and Check PR (onyx-dot-app/onyx, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Respond To PR Comments?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/PromptKit, which has 110 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 18, 2026.

Source: microsoft/PromptKit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.