pydantic-ai: Skill for Claude Code

.claude/skills/address-feedback/SKILL.md

address-feedback is a skill for Claude Code from pydantic/pydantic-ai. It costs 29 tokens per session (967 once invoked), scanned A, original, MIT.

A workflow for finding and resolving unanswered comments on the current GitHub pull request. Review comments are suggestions or questions attached to the proposed code.

In plain words
What is it for?
It gathers unresolved comments and their full threads, applies or explains each decision, then continues the required commit, reply, reaction, and resolution steps.
Why use it?
It prevents useful reviewer feedback from being overlooked and keeps the pull request's review state accurate.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: mentions AGENTS.md.

This is pydantic/pydantic-ai's own configuration. It tells Claude Code how to work on pydantic-ai itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything pydantic-ai configures →

About the project

Pydantic AI is a typed Python SDK for building AI agents that can use different language models and interfaces, including voice, image generation, and embeddings. Developers use it for applications ranging from structured data extraction to long-running multi-agent work. The catalogue entries provide workflows and configuration for its coding-agent and harness features.

pydantic/pydantic-ai · 19,780 stars · on GitHub · pydantic.dev

Reuse

Borrowing it

Nothing to install: this file belongs to pydantic/pydantic-ai. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/pydantic/pydantic-ai/main/.claude/skills/address-feedback/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/pydantic/pydantic-ai

Made for: Claude Code.

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 address-feedback

README.md
[![agentmods](https://agentmods.dev/badge/skills/pydantic/pydantic-ai/address-feedback.svg)](https://agentmods.dev/skills/pydantic/pydantic-ai/address-feedback)
Your own site
<a href="https://agentmods.dev/skills/pydantic/pydantic-ai/address-feedback"><img src="https://agentmods.dev/badge/skills/pydantic/pydantic-ai/address-feedback.svg" alt="Measured on agentmods" height="20"></a>
Per session 29 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 967 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.00029 $0.00967
Opus 5 $0.00015 $0.00483
Sonnet 5 $0.00006 $0.00193
Haiku 4.5 $0.00003 $0.00097

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

Security

Grade A, and why

address-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 4d 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.

.claude/skills/address-feedback/SKILL.md · 29 lines

How it starts

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

Address PR Review Feedback

Find and address all review comments on the PR for the current branch. For each comment:

  1. Gather context: Use gh to find the PR number from the current branch, then fetch all unresolved review comments (both PR-level and inline review comments via gh api repos/{owner}/{repo}/pulls/{number}/comments). Skip already-resolved and outdated threads. Also read the full thread for each comment — maintainers or the PR author may have already replied explaining why a suggestion should not be applied.

  2. Triage each comment: A review comment — bot or human — is evidence to weigh, never an acceptance criterion. This PR's acceptance criteria are its linked issue, the repository instructions, and settled maintainer decisions. Sort each comment into fix, decline, escalate or file; one that clears the gates below is a fix.

    • Read the thread first. If a maintainer has already weighed in, that settles it; your own earlier reply does not.
    • If the finding claims a defect, reproduce it before you write the fix. Run a script, a failing test, or a snippet. A plausible reading is not a reproduction, and a severity label is the reviewer's guess. If it doesn't reproduce, reply with what you ran and why that run covers the path the finding names, then react 👎. A repro you could not run — no credentials, no worker, no cassette — is not a refutation: ask the user driving you instead. A finding about docs, tests, naming, or API shape has nothing to reproduce; weigh it against the repository instructions.
    • List the production files the fix would touch. A file outside the ones this PR already changes for its issue — a shared core module especially (pydantic_ai/_agent_graph.py, pydantic_ai/_run_context.py, pydantic_ai/messages.py, pydantic_ai/tools.py, a base class, a serialized dataclass) — means the finding has outgrown the PR's stated scope. Implement it here only on the root AGENTS.md bar for the case at hand — a sibling field, provider or model needs the same defect reproduced there; a shared protocol, helper or abstraction needs the narrow fix to be unavailable, or the refactor to be itself the confirmed fix — and only when including it neither explodes scope nor delays an already mergeable PR. Otherwise escalate it per pushing-commits-to-the-repo ("Escalate real trade-offs, don't guess") when it needs a maintainer decision, or file it as its own issue when it is real but belongs elsewhere. Tests and documentation this change already owes are in scope, not an expansion.
    • Name who else moves. If the users whose observable behavior changes are a wider set than the users who hit the reported bug, the finding breaks the root AGENTS.md requirement to "leave behavior unchanged for users who aren't hitting the problem you are solving". Re-scope or escalate; never implement and document.
    • Ask the user driving you when the call is a preference they may hold. A finding can be wrong on the merits wherever it sits: decline that one with code evidence, per pushing-commits-to-the-repo ("Invalid"), rather than filing it.
  3. Fix the code: Make the changes for each comment triage sent to fix.

  4. Continue the PR loop: Follow pushing-commits-to-the-repo from its Before you push section.

  5. Use the canonical close-out: Apply every required reply, reaction, and resolution step from that workflow. For each completed comment, explain what changed or why no change was needed. Then resolve the thread via GraphQL resolveReviewThread. Leave threads open only when a decision or another person's response is pending.

Always read the relevant code before making changes.

Important: Automated reviewers surface real issues and are never skipped — every finding gets a reply and a reaction. But a bot cannot approve a scope expansion, and its severity label carries no authority. A HIGH on a defect that does not reproduce is a 👎. Refuting one leaves CI Review's REQUEST_CHANGES standing; a later push re-runs the review, and the verdict clears only if that run stops finding the HIGH. Say so when you hand the PR back.

Read the full file on GitHub · 29 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. 4d ago Changed · +2 lines b420d131bdca
  2. 9d ago First seen · 27 lines · 29 tokens per session scan A 824a4f373d93

Subscribe to this mod's changes

address-feedback is a skill published in the GitHub repository pydantic/pydantic-ai (19,780 stars, last pushed today), licensed MIT. It adds 29 tokens to every session and 967 once invoked, about $0.0001 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.