PR Deep Verification
QwenLM/qwen-code
Runs a sandboxed, evidence-based check of one qwen-code pull request, proving its main change against the base build and writing a report with a machine-readable verdict.
Checks a pull request for lines that undo a recent bug fix by comparing what the PR removes with what labeled bug-fix PRs added to the same files.
$ npx skills add dotnet/maui --skill find-regression-risk -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dotnet/maui find-regression-risk --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/find-regression-risk .claude/skills/find-regression-risk && rm -rf skills-srcUse ~/.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/
Install the "find-regression-risk" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/find-regression-risk into .claude/skills/find-regression-risk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-regression-risk", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dotnet/maui/tree/main/.github/skills/find-regression-riskType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dotnet/maui --skill find-regression-risk -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dotnet/maui find-regression-risk --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/find-regression-risk .agents/skills/find-regression-risk && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "find-regression-risk" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/find-regression-risk into .agents/skills/find-regression-risk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-regression-risk", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dotnet/maui --skill find-regression-risk -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dotnet/maui find-regression-risk --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/find-regression-risk .cursor/skills/find-regression-risk && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "find-regression-risk" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/find-regression-risk into .cursor/skills/find-regression-risk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-regression-risk", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dotnet/maui.git --path .github/skills/find-regression-risk--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dotnet/maui --skill find-regression-risk -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dotnet/maui find-regression-risk --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/find-regression-risk .gemini/skills/find-regression-risk && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "find-regression-risk" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/find-regression-risk into .gemini/skills/find-regression-risk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-regression-risk", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dotnet/maui find-regression-riskInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dotnet/maui --skill find-regression-risk -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/find-regression-risk .github/skills/find-regression-risk && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "find-regression-risk" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/find-regression-risk into .github/skills/find-regression-risk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-regression-risk", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dotnet/maui --skill find-regression-risk -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dotnet/maui find-regression-risk --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dotnet/maui.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/find-regression-risk .opencode/skills/find-regression-risk && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "find-regression-risk" agent skill from https://github.com/dotnet/maui/tree/main/.github/skills/find-regression-risk into .opencode/skills/find-regression-risk/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "find-regression-risk", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
find-regression-riskChecks a pull request for lines that undo a recent bug fix by comparing what the PR removes with what labeled bug-fix PRs added to the same files.
This skill runs a mechanical, script-based check with no AI or LLM involved. It collects the lines a PR removes, uses git log over a recent window to find earlier PRs that touched the same files, keeps those labeled i/regression, t/bug, p/0 or p/1, and compares the lines those fixes added with what the current PR deletes, ignoring whitespace.
The verdict is REVERT when a removed line matches a line a fix added, OVERLAP when the same file was changed without an exact match, and CLEAN when no bug-fix PR touched the files. With an output directory it writes result.txt, risks.json, a content.md summary for a PR comment and optionally inline-findings.json. Parameters set the repository, file list, history window in months, a per-file cap on recent PRs and the base branch.
It runs through Find-RegressionRisks.ps1 and is wired into the dotnet/maui review script as a step after UI test detection and before the Gate step; when a REVERT is found, the regression tests from the reverted fixes are executed. It is not meant for release-readiness checks, CI failure investigation or general code review.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b926f05. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pwshgitdotnetFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires PowerShell (pwsh), git, and GitHub CLI (gh) authenticated against the target repository.
From compatibility in the SKILL.md frontmatter.
Find Regression Risk loads about 1.1k tokens when it runs. Until then it costs about 164 tokens; SKILL.md has 372 words of instructions outside code blocks.
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.
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.
The full file from dotnet/maui at commit b926f05, republished under its MIT licence (© dotnet). 372 words, ~1,122 tokens.
.claude/skills/find-regression-risk/SKILL.md (or your agent's skills folder).Detects potential regression risks in a PR by cross-referencing removed lines against lines added by recent labeled bug-fix PRs.
Purely mechanical — no AI/LLM. Five-step algorithm:
git log --follow --since=6mo finds recent PRs that touched the same files.i/regression, t/bug, p/0, or p/1.# Analyze a specific PR (auto-detects files)
pwsh -NoProfile -Command '& ./.github/scripts/Find-RegressionRisks.ps1 -PRNumber 33908 -OutputDir /tmp/out'
# Analyze specific files only
pwsh -NoProfile -Command '& ./.github/scripts/Find-RegressionRisks.ps1 -PRNumber 33908 -OutputDir /tmp/out -FilePaths @("src/Core/src/Platform/Android/MauiWindowInsetListener.cs")'| Parameter | Required | Default | Description |
|---|---|---|---|
-PRNumber | Yes | — | PR number to analyze |
-Repo | No | dotnet/maui | Repository in owner/name form |
-FilePaths | No | auto-detect | Implementation files to check |
-MonthsBack | No | 6 | History window for git log |
-MaxRecentPRsPerFile | No | 20 | Rate-limit guard per file |
-BaseBranch | No | main | Base branch for git log scope |
-OutputDir | No | — | Directory for output files |
-WriteInlineFindings | No | off | Emit inline-findings.json |
When -OutputDir is specified:
result.txt — single token: CLEAN, OVERLAP, or REVERTrisks.json — structured findings for downstream agentscontent.md — markdown summary for the PR commentinline-findings.json — (only with -WriteInlineFindings) inline annotationsThe script runs as STEP 4 in Review-PR.ps1 (Regression Cross-Reference, after UI test detection and before the Gate step). Its content.md is assembled into the AI summary review by post-ai-summary-comment.ps1.
When REVERT risks are detected, the regression tests from the reverted fix PRs are executed:
BuildAndRunHostApp.ps1 -Platform <plat> -TestFilter <filter>Run-DeviceTests.ps1 -Project <proj> -Platform <plat> -TestFilter <filter>dotnet test <project> --filter <filter>The expert reviewer agent (maui-expert-reviewer.md, dimension #6) reads risks.json to check for REVERT entries.
-WriteInlineFindings flag emits deletion-side (LEFT) annotations, but post-inline-review.ps1 currently only posts RIGHT-side comments. LEFT-side findings are silently dropped. This is documented as future work.pwsh -File array parameters: When invoking standalone from bash, use pwsh -Command '& ./script.ps1 -FilePaths @(...)' syntax. pwsh -File doesn't evaluate @() expressions.pwsh -NoProfile -File .github/scripts/tests/Test-FindRegressionRisks.ps1© dotnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/find-regression-risk of dotnet/maui.
Open the folder on GitHubat commit b926f05
Find Regression Risk 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Find Regression Risk this skilldotnet/maui | 23k | — | ~1.1k | Automated safety check: Pass | MIT | |
| PR Deep VerificationQwenLM/qwen-code | 28k | — | ~18k | Automated safety check: Pass | Apache-2.0 | |
| PR Review State Fetchprisma/orm | 48k | — | ~767 | Automated safety check: Pass | Apache-2.0 | |
| Greploop Appsmichaelshimeles/skills | 1.3k | 1 repos | ~3.6k | Automated safety check: Pass | MIT | |
| PR Triagertk-ai/rtk | 83k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Difit Reviewyoshiko-pg/difit | 3.2k | — | ~1.2k | Automated safety check: Pass | MIT |
QwenLM/qwen-code
Runs a sandboxed, evidence-based check of one qwen-code pull request, proving its main change against the base build and writing a report with a machine-readable verdict.
prisma/orm
Fetches a pull request's canonical review state as JSON, validates it, and renders markdown, a text summary and triage target files from it using bundled scripts.
michaelshimeles/skills
Loops on a large pull request, merge request or Perforce changelist, fixing Greptile findings until it scores 5/5 with no unresolved comments.
rtk-ai/rtk
Audits a repository's open pull requests, deep-reviews chosen ones and drafts review comments that are only posted after you approve them.
yoshiko-pg/difit
Review a specific diff (branch, commit, or GitHub PR) and show the findings as comments inside difit, the local diff viewer.
ruby-git/ruby-git
Addresses unresolved pull request review threads and suppressed (low-confidence) Copilot review comments on the current branch, folds each fix into the…
dotnet/maui
Mines local Copilot CLI session logs for dotnet/maui to rank costly or failing runs, tag recurring failure modes, propose repo edits and emit guard evals.
dotnet/maui
Reviews the tests added in a pull request for fix coverage, quality, edge cases and test type, and recommends lighter test types where they would do.
dotnet/maui
Produces evidence-backed ship-readiness verdicts for .NET MAUI Servicing Releases and Previews, and drafts public-safe release handoff pages from the result.
dotnet/maui
Interprets pinned managed benchmark evidence for a dotnet/maui pull request and writes a narrative for the performance review workflow, without running or publishing anything.
dotnet/maui
Checks that a pull request's title and description match its implementation and reviews the code for best practices before merge, without posting anything.
dotnet/maui
Adds MAUI-specific guardrails on top of the maestro-cli skill and Maestro MCP tools for darc, BAR, and channel or feed lookups in dotnet/maui.
Works with
Categories
Checks a pull request for lines that undo a recent bug fix by comparing what the PR removes with what labeled bug-fix PRs added to the same files. This skill runs a mechanical, script-based check with no AI or LLM involved. It collects the lines a PR removes, uses git log over a recent window to find earlier PRs that touched the same files, keeps those labeled i/regression, t/bug, p/0 or p/1, and compares the lines those fixes added with what the current PR deletes, ignoring whitespace.
Find Regression Risk fits situations like: checking whether a pull request reverts an earlier bug fix; adding a regression cross-reference step to an automated PR review; producing a summary comment of regression risks for a PR.
Run `npx skills add dotnet/maui --skill find-regression-risk -a claude-code`. Or copy the skill folder (.github/skills/find-regression-risk in dotnet/maui) into .claude/skills/find-regression-risk in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dotnet/maui --skill find-regression-risk -a codex`. Or copy the skill folder (.github/skills/find-regression-risk in dotnet/maui) into .agents/skills/find-regression-risk in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dotnet/maui --skill find-regression-risk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/find-regression-risk, .gemini/skills/find-regression-risk, .github/skills/find-regression-risk and .opencode/skills/find-regression-risk in your project.
Going by SKILL.md and its folder, Find Regression Risk needs the command-line tools its instructions call (pwsh, git and dotnet). Our summary lists: PowerShell (pwsh); git; GitHub CLI (gh) authenticated against the target repository. Compatibility (from SKILL.md): Requires PowerShell (pwsh), git, and GitHub CLI (gh) authenticated against the target repository..
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Find Regression Risk is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Find Regression Risk: PR Deep Verification (QwenLM/qwen-code, 28k stars), PR Review State Fetch (prisma/orm, 48k stars), Greploop Apps (michaelshimeles/skills, 1.3k stars) and PR Triage (rtk-ai/rtk, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dotnet (a GitHub organization, an official publisher) maintains it in dotnet/maui, which has 23,321 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 8, 2026.
Source: dotnet/maui on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.