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.
npx agentmods add commands/cbirkbeck/mathlib-quality/fix-pr-feedbackgit clone --depth 1 https://github.com/CBirkbeck/mathlib-qualityWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00026 | $0.07748 |
| Opus 5 | $0.00013 | $0.03874 |
| Sonnet 5 | $0.00005 | $0.01550 |
| Haiku 4.5 | $0.00003 | $0.00775 |
Grade A, and why
fix-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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 821 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/fix-pr-feedback — Address PR Reviewer Comments
Pull every reviewer comment on a mathlib PR, implement the fixes locally, stop and wait for user approval before pushing, then push and watch CI to completion.
The non-negotiable rules:
- Never push before the user has reviewed and approved the changes. No exceptions.
- Every comment must be accounted for — addressed, deferred with a reason, or marked unable-to-address with a reason. Silent skipping is a defect.
- After pushing, the skill must wait for CI — it's not done until checks finish.
- Every commit and any PR description update follows the conventions in "PR description, commit messages, dependencies" below — short, concrete, dependencies stated, Claude co-author footer.
Usage
/fix-pr-feedback <PR_number>
/fix-pr-feedback <PR_url>
/fix-pr-feedback # If currently on a branch with an open PR, auto-detect
If only inline review comments are visible without a PR number, you can also paste them:
/fix-pr-feedback --comments "<pasted comments>"
But the workflow assumes a real PR (the CI-watching phase needs one).
PR description, commit messages, dependencies
Every commit this skill creates and every PR description update it performs follows these conventions. They apply equally to the initial fix commits in Phase 3 and to any re-push fixes in Phase 7.
PR description
Default behaviour: do not touch the PR description. The user wrote it; the fixes are responses, not a re-statement of the PR. Update the description only when one of the following is true:
- The fix changes the scope of the PR (new files, removed features, a different conclusion)
- The fix introduces or resolves a dependency on another PR
- A reviewer explicitly asked for the description to be updated
- You are creating a new follow-up PR for deferred items
When you do update it, follow these rules:
- Short. A one-line summary, then 1–5 bullets naming the substantive changes. No background paragraphs. No "this PR addresses the following comments" walls of text — comments are visible in the PR thread; don't duplicate them.
- Re-tighten, never accrete. Across review rounds the description must not grow by appending — rewrite it back down to the one-liner + bullets, and keep it factually in sync with the code (if notation or naming changed during review, the description changes with it). Reviewer @loefflerd on mathlib4#41251: "As so often happens with AI-generated PR's, the PR description is getting longer and longer with each iteration. Please keep it a bit more to the point."
- Concrete. Each bullet names what changed, not why in the abstract.
"Renames
wt_eq_zero→weight_eq_zero" not "Improves naming consistency". - Lists dependencies. If the PR depends on another PR being merged first (a mathlib bump, a sister-project PR, an upstream contribution), state them on a dedicated line:
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.
- 2d ago First seen · 821 lines · 26 tokens per session scan A 129721225cda
fix-pr-feedback is a command published in the GitHub repository CBirkbeck/mathlib-quality (32 stars, last pushed 13d ago), licensed MIT. It adds 26 tokens to every session and 7,748 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.
Other commands, from other repositories
git
Git operations with intelligent commit messages and workflow optimization.
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
constitution
Create or update the project constitution from interactive or provided principle inputs.