update-pr-review
$
npx mdskill add warpdotdev/oz-for-oss/update-pr-reviewRefine review companions with human feedback from PR conversations.
- Aggregates replies to agent-authored PR review comments.
- Incorporates broader human review comments into local skills.
- Extracts repeated reviewer feedback for evidence-backed adjustments.
- Updates SKILL.md files in review-pr-local and review-spec-local.
SKILL.md
.github/skills/update-pr-reviewView on GitHub ↗
--- name: update-pr-review description: Update the repo-local review-pr-local and review-spec-local companion skills using human feedback left on pull request conversations. Use when aggregating replies to agent-authored PR review comments, incorporating broader human review comments, extracting repeated reviewer feedback, and refining .agents/skills/review-pr-local/SKILL.md and .agents/skills/review-spec-local/SKILL.md with evidence-backed adjustments. --- # Update PR Review Use this skill to improve the repo-local review companions `.agents/skills/review-pr-local/SKILL.md` and `.agents/skills/review-spec-local/SKILL.md` from real reviewer feedback. The core skills at `.agents/skills/review-pr/SKILL.md` and `.agents/skills/review-spec/SKILL.md` are the cross-repo contract and are read-only from this loop. The repository uses two separate review skills: `review-pr` for code pull requests and `review-spec` for spec-only pull requests (PRs where every changed file lives under `specs/`). Feedback from each category of PR should be routed to the corresponding repo-local companion. ## Write surface This self-improvement loop may only write to: - `.agents/skills/review-pr-local/` (and `SKILL.md` inside it) - `.agents/skills/review-spec-local/` (and `SKILL.md` inside it) It must NOT touch: - `.agents/skills/review-pr/SKILL.md` (the core contract) - `.agents/skills/review-spec/SKILL.md` (the core contract) - any file under `.github/issue-triage/` (that taxonomy is owned by the `update-triage` loop) - any other core skill The self-improvement runner enforces this via a `git diff` check against allowed prefixes before pushing. A violation aborts the run. ## Inputs - Optional repository override if you are not running from the target checkout. - Optional time window override when you need something other than the default seven-day lookback. - Optional agent-login override if the review comments were not authored by the default bot identities. ## Workflow 1. Verify GitHub CLI auth: ```bash gh auth status ``` 2. Aggregate the feedback for pull requests updated over the last week with the bundled script: ```bash python3 .agents/skills/update-pr-review/scripts/aggregate_review_feedback.py ``` By default this targets the current repo, looks back 7 days, and analyzes review comments authored by the bot identities used by the PR review workflow (`warp-dev-github-integration[bot]`). It also collects broader human review comments from those PRs so the skill can learn from reviewer norms even when they were not replying directly to the bot. The script writes structured JSON to a temporary file and prints the temp-file path. Treat that file as scratch state for this skill, not as a user-facing deliverable or final output. If you need a repository other than the current checkout, pass `--repo owner/name`. If you need a different author identity, pass `--agent-login <login>` one or more times. Each pull request in the output includes a `review_type` field that is either `"spec"` (all changed files under `specs/`) or `"code"` (any non-spec file changed). Use this field to route feedback to the correct skill. 3. Read the generated JSON and look for repeated reviewer signals, especially: - replies that say the agent's feedback was wrong, invalid, not applicable, or based on a bad assumption - signals that the agent had the right instinct but the wrong severity, scope, line targeting, or proposed fix - feedback that the comment was not actionable enough, including requests for clearer concrete changes - recurring cases where humans override the bot because repository or product context changes the right call - review patterns from human-only threads that show what experienced reviewers in this repo consistently care about - explicit reviewer guidance about what belongs inline, what belongs in the summary, and when the bot should stay uncertain 4. Partition the feedback by `review_type`: - Feedback from `"code"` PRs applies to `.agents/skills/review-pr-local/SKILL.md`. - Feedback from `"spec"` PRs applies to `.agents/skills/review-spec-local/SKILL.md`. - Update each companion skill independently with the smallest rule change that explains the feedback for that category. - If feedback for one category is empty, skip that companion. 5. Keep the core review contract stable — never edit `review-pr/SKILL.md` or `review-spec/SKILL.md`. Only the `-local` companions evolve from feedback. ## Evidence Rules - Prefer patterns backed by multiple threads or a strong explicit maintainer statement. - Do not weaken correctness, security, or data-loss checks because of a single disagreement. - Separate feedback about review quality from feedback about repository-specific preferences. - Avoid encoding one-off reviewer preferences as universal rules. - If the feedback points to missing repository context, add that context only if it improves review precision. - Do not mix code-review feedback into the spec skill, or spec-review feedback into the code skill. ## Intermediary State The script builds structured JSON that captures: - pull request metadata for the recent PR window, including `review_type` classification - agent-authored review comments that received human replies - human-authored review comments from the same PRs, even when they were not replying to the bot - thread metadata like file path, line, resolution, and outdated state - normalized agent-comment fields such as severity label and whether a suggestion block was present - the full set of human replies for each agent comment - top-level PR issue comments for broader review context Use that temporary data as evidence when refining the skills, then remove it before finishing if you wrote it to disk explicitly. ## Final Checks - Re-read the updated `review-pr-local` and/or `review-spec-local` companion skills and confirm any new rules are explicit. - Keep each companion concise; do not turn them into long style guides. - Commit any changes on a local branch named `oz-agent/update-pr-review`. Do NOT push the branch; the Python entrypoint will run a write-surface guard and push only when the guard passes. - If the updates warrant a PR, it will be opened from the pushed branch. Tag `@captainsafia` as a reviewer on that PR. - Validate any temporary JSON with `jq` before relying on it.
More from warpdotdev/oz-for-oss
- bootstrap-issue-configBootstrap the issue triage configuration for a repository by analyzing existing issues, labels, and contributors to generate `.github/issue-triage/config.json` and `.github/STAKEHOLDERS`. Use when setting up triage automation on a new or existing repository for the first time.
- check-impl-against-specCompare a pull request's implementation against spec context in spec_context.md and feed any material mismatches into review.json. Use during PR review when approved or repository spec context is available.
- create-product-specCreate a product spec from a GitHub issue in this repository by applying the local shared `write-product-spec` workflow with Oz-specific issue context and output paths. Use when an issue should be turned into a product spec artifact stored under `specs/GH<issue-number>/product.md` and the agent should prepare file changes only, without creating commits or pull requests itself unless a cloud workflow explicitly asks for it.
- create-tech-specCreate a technical spec from a GitHub issue in this repository by applying the local shared `write-tech-spec` workflow with Oz-specific issue context and output paths. Use when an issue should be turned into a tech spec artifact stored under `specs/GH<issue-number>/tech.md` and the agent should prepare file changes only, without creating commits or pull requests itself unless a cloud workflow explicitly asks for it.
- dedupe-issueDetect duplicate GitHub issues by comparing the incoming issue's title and description against the repository issue list. Use during triage to identify 2+ existing issues that are similar and surface them as potential duplicates.
- dedupe-issue-localRepo-specific dedupe guidance for oz-for-oss. Only the categories declared overridable by the core dedupe-issue skill may be specialized here.
- implement-issueImplement a GitHub issue in this repository by applying the local shared `implement-specs` workflow with Oz-specific issue, spec-context, and summary-file handling. Use when issue details are provided in the prompt and the agent should produce the repository diff and a concise implementation summary, without creating commits or pull requests itself unless a cloud workflow explicitly asks for it.
- implement-specsImplement an approved feature from the repository's product and tech specs, keeping specs and code aligned in the same change as implementation evolves. Use after the product and tech specs are approved and the next step is building the feature.
- review-pr-localRepo-specific review guidance for oz-for-oss. Only the categories declared overridable by the core review-pr skill may be specialized here.
- review-specReview a spec/plan pull request diff and write structured feedback to review.json for the workflow to publish. Use when reviewing a PR that only modifies files under specs/ and producing machine-readable review output instead of posting directly to GitHub.