pr-feedback

pr-feedback is a skill for Claude Code from jjanczur/tyran. It costs 57 tokens per session (1,035 once invoked), scanned A, original, Apache-2.0.

A workflow for handling review feedback on a GitHub pull request, which is a proposed set of code changes awaiting review. It checks ordinary comments, line-specific comments, and submitted reviews because GitHub stores them separately.

In plain words
What is it for?
Use it to collect and triage all pull-request feedback, implement requested fixes, explain declined suggestions, create follow-up tickets, and respond after updating the branch.
Why use it?
It prevents feedback from being missed when it is stored outside the inline comments list. Each item is fixed, declined with a reason, or turned into a ticket, and the changes are pushed before replying.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the tyran plugin — 15 skills, 5 agents, 5 hooks shipped together

Good fit Use it to collect and triage all pull-request feedback, implement requested fixes, explain declined suggestions, create follow-up tickets, and respond after updating the branch.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jjanczur/tyran/pr-feedback
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jjanczur/tyran --skill pr-feedback
Clone the repo
git clone --depth 1 https://github.com/jjanczur/tyran

Made for: Claude Code.

Or install tyran, the plugin that ships this one along with the rest of its 15 skills, 5 agents, 5 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pr-feedback

README.md
[![agentmods](https://agentmods.dev/badge/skills/jjanczur/tyran/pr-feedback.svg)](https://agentmods.dev/skills/jjanczur/tyran/pr-feedback)
Your own site
<a href="https://agentmods.dev/skills/jjanczur/tyran/pr-feedback"><img src="https://agentmods.dev/badge/skills/jjanczur/tyran/pr-feedback.svg" alt="Measured on agentmods" height="20"></a>
Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,035 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00057 $0.01035
Opus 5 $0.00028 $0.00517
Sonnet 5 $0.00011 $0.00207
Haiku 4.5 $0.00006 $0.00103

Measured 8d ago against content hash 4370b183a1b5, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

pr-feedback scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/pr-feedback/SKILL.md · 86 lines

How it starts

The opening of the file, as written. The whole thing — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PR feedback — closing the loop with a human reviewer

The safest autonomy class, and the default, ends with a change on a branch and a person merging it. So the ordinary last step of this plugin's work is a pull request somebody reviews — and it was the one step with no protocol. tyran:reviewer governs our own internal review; this governs theirs.

The three surfaces, and why one of them is a trap

GitHub keeps pull-request feedback in three separate resources:

Surface Endpoint What lives there
Conversation /issues/{n}/comments Plain comments on the PR
Inline review comments /pulls/{n}/comments Anchored to a line of the diff
Reviews /pulls/{n}/reviews The submitted verdict and its body text

A review's body is not in the inline-comments collection. Reviewers write their summary there, and bots put whole findings there — anything that could not be anchored to a changed line, which is exactly the "outside diff range" class.

Measured, against a public repository: cli/cli PR #13944 has one review carrying a written body and zero inline comments. An agent that reads only /pulls/{n}/comments sees nothing on that PR and reports that there was nothing to address. The report is true about what it looked at and false about what it claims, which is the failure shape this whole plugin exists to refuse.

So: fetch all three, paginated, before triaging any of them. Print the counts. 3 inline · 2 review bodies · 1 conversation is the first line of the work, and it is what makes a missed surface visible.

Every comment gets a disposition

No comment is silently dropped. Each one ends as exactly one of:

  • Fixed — with the commit that did it.
  • Declined — with the reason, in one sentence. Disagreeing is allowed; disagreeing silently is not. If it is a product or scope decision rather than a technical one, it goes to the conductor instead of being decided here.
  • Ticketed — real, out of this PR's scope, captured where it will be found again. A promise in a thread is not a ticket.

Read the full file on GitHub · 86 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 86 lines · 57 tokens per session scan A 4370b183a1b5

Subscribe to this mod's changes

pr-feedback is a skill published in the GitHub repository jjanczur/tyran (86 stars, last pushed 5d ago), licensed Apache-2.0. It adds 57 tokens to every session and 1,035 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

procoder

Work like a senior developer in a repository governed by procoder: run the commit gate before calling anything done, format and lint through the binary, and drive the spec, plan, todo, backlog, and sprint chain in .procoder/. Use this skill when the repository contains a .procoder/ directory or an AGENTS.md naming…

azrtydxb/procoder · 101 tokens

ring:committing-changes

Commit changes with scope allowlist enforcement, atomic grouping, GPG-signed conventional commits, and trailer management. Detects the repo's PR-validation scope policy before proposing any message. Use when the user asks to commit or has changes ready to record. Skip when the working tree is clean or the user wants…

LerianStudio/ring · 74 tokens

ring:opening-pull-requests

Open a GitHub Pull Request with automatic base branch detection, scope allowlist enforcement, PR template filling, and post-create base verification. Replaces ring:generating-pr-descriptions. Use after pushing a branch when ready to open a PR. Skip if the branch is not yet pushed or there are uncommitted changes …

LerianStudio/ring · 83 tokens

ring:shipping-changes

End-to-end git orchestrator: branch → commit → push → PR, with a full plan presented before any execution. Detects base branch and scope allowlist once and propagates to all phases. Use when ready to ship a complete unit of work. Skip if only one phase is needed: commit-only → ring:committing-changes, PR-only →…

LerianStudio/ring · 86 tokens

ring:generating-release-guides

Generating an internal Operations-facing update/migration guide from the git diff between two refs, documenting per-change client impact, deploy ordering, monitoring, and rollback notes in English, pt-br, or both. Use when preparing a version release or recording what changed for the Ops team. Runs read-only by…

LerianStudio/ring · 85 tokens

ring:cleaning-comments

Cleaning redundant and obvious comments following clean code principles while preserving meaningful documentation. Supports git scope filtering (staged, unstaged, branch, commit-range). Use when code has excessive comments, during code review, or post-refactor cleanup. Skip when reviewing documentation files or…

LerianStudio/ring · 64 tokens