Performs multi-agent, multi-model code review of F# compiler PRs across 19 dimensions including type checking, IL emission, binary compatibility, and IDE performance. Dispatches parallel assessment agents per dimension, consolidates with cross-model agreement scoring, and filters false positives. Invoke when reviewing compiler changes, requesting expert feedback, or performing pre-merge quality checks.
FSharp.Core Stability, Backward Compat, XML Docs, RFC Process
vsintegration/
IDE Responsiveness, Memory Footprint, Cross-Platform
eng/, setup/, build scripts
Build Infrastructure, Cross-Platform
Subagent Dispatch
For each selected dimension from the table above, the expert-reviewer agent MUST launch an independent subagent (background task) to assess that dimension. This is not optional — a single agent doing all dimensions sequentially produces shallow analysis and wall-of-text summaries.
Each subagent receives:
The dimension's CHECK rules (from expert-reviewer.md)
The relevant file diffs (filtered by the dimension's hotspot paths)
Instructions to produce a structured finding: {file, line, severity, dimension, issue, suggestion} or LGTM if no findings
The expert-reviewer consolidates subagent results, deduplicates, applies assessment gates, and posts as inline comments per Wave 5.
Assessment gates — apply before flagging:
Understand execution context before judging (test harness ≠ compiler runtime)
Classify as regression, improvement, or unclear — only regressions are findings
Require a concrete failing scenario — no hypotheticals
"Correct convention" for the context in use → discard, not a finding
"Unexplained" ≠ "wrong" — missing rationale in a commit message is a doc gap, not a defect
Rank by cross-model agreement (≥2 models agree = higher confidence)
Present Behavioral first; Nitpicks only if nothing higher — agents love producing nitpicks to have something to say, deprioritize them
Self-Review Checklist
Every behavioral change has a test
FSharp.Core changes maintain binary compatibility
No unintended public API surface changes
New language features have a LanguageFeature guard and RFC
No raw TType_* matching without stripTyEqns
Cancellation tokens threaded through async operations
Cleanup changes separate from feature enablement
Full dimension CHECK rules are in the expert-reviewer agent.
1---2name: reviewing-compiler-prs3description: Performs multi-agent, multi-model code review of F# compiler PRs across 19 dimensions including type checking, IL emission, binary compatibility, and IDE performance. Dispatches parallel assessment agents per dimension, consolidates with cross-model agreement scoring, and filters false positives. Invoke when reviewing compiler changes, requesting expert feedback, or performing pre-merge quality checks.4---56# Reviewing Compiler PRs78Full dimension definitions and CHECK rules live in the `expert-reviewer` agent.910## When to Invoke1112- PR touches `src/Compiler/` — invoke the `expert-reviewer` agent13- PR touches `src/FSharp.Core/` — focus on FSharp.Core Stability, API Surface, Backward Compat, XML Docs14- PR touches `vsintegration/` or `LanguageServer/` — focus on IDE Responsiveness, Concurrency, Memory15- PR touches `tests/` only — quick check: baselines explained? Cross-TFM coverage? Tests actually assert?16- PR touches `eng/` or build scripts — focus on Build Infrastructure, Cross-Platform1718## Dimension Selection1920| Files Changed | Focus Dimensions |21|---|---|22| `Checking/`, `TypedTree/` | Type System, Overload Resolution, Struct Awareness, Feature Gating |23| `CodeGen/`, `AbstractIL/` | IL Emission, Debug Experience, Test Coverage |24| `Optimize/` | Optimization Correctness, IL Emission, Test Coverage |25| `SyntaxTree/`, `pars.fsy` | Parser Integrity, Feature Gating, Typed Tree Discipline |26| `TypedTreePickle.*`, `CompilerImports.*` | Binary Compatibility (highest priority) |27| `Service/` | FCS API Surface, IDE Responsiveness, Concurrency, Incremental Checking |28| `LanguageServer/` | IDE Responsiveness, Concurrency |29| `Driver/` | Build Infrastructure, Incremental Checking, Cancellation |30| `Facilities/` | Feature Gating, Concurrency |31| `FSComp.txt` | Diagnostic Quality |32| `FSharp.Core/` | FSharp.Core Stability, Backward Compat, XML Docs, RFC Process |33| `vsintegration/` | IDE Responsiveness, Memory Footprint, Cross-Platform |34| `eng/`, `setup/`, build scripts | Build Infrastructure, Cross-Platform |3536## Subagent Dispatch3738For each selected dimension from the table above, the `expert-reviewer` agent MUST launch an independent subagent (background task) to assess that dimension. This is not optional — a single agent doing all dimensions sequentially produces shallow analysis and wall-of-text summaries.3940Each subagent receives:411. The dimension's CHECK rules (from expert-reviewer.md)422. The relevant file diffs (filtered by the dimension's hotspot paths)433. Instructions to produce a structured finding: `{file, line, severity, dimension, issue, suggestion}` or `LGTM` if no findings4445The expert-reviewer consolidates subagent results, deduplicates, applies assessment gates, and posts as inline comments per Wave 5.4647**Assessment gates** — apply before flagging:48- Understand execution context before judging (test harness ≠ compiler runtime)49- Classify as regression, improvement, or unclear — only regressions are findings50- Require a concrete failing scenario — no hypotheticals51- "Correct convention" for the context in use → discard, not a finding52- "Unexplained" ≠ "wrong" — missing rationale in a commit message is a doc gap, not a defect5354**Consolidation:**551. Deduplicate findings at same location562. Filter: wrong context → discard; improvement → downgrade; speculation → LOW573. Classify: Behavioral (correctness) → Quality (structure) → Nitpick (style)584. Rank by cross-model agreement (≥2 models agree = higher confidence)595. Present Behavioral first; Nitpicks only if nothing higher — agents love producing nitpicks to have *something* to say, deprioritize them6061## Self-Review Checklist62631. [ ] Every behavioral change has a test642. [ ] FSharp.Core changes maintain binary compatibility653. [ ] No unintended public API surface changes664. [ ] New language features have a `LanguageFeature` guard and RFC675. [ ] No raw `TType_*` matching without `stripTyEqns`686. [ ] Cancellation tokens threaded through async operations697. [ ] Cleanup changes separate from feature enablement7071Full dimension CHECK rules are in the `expert-reviewer` agent.
Run npx skillmds@latest add dotnet/reviewing-compiler-prs in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Performs multi-agent, multi-model code review of F# compiler PRs across 19 dimensions including type checking, IL emission, binary compatibility, and IDE performance. Dispatches parallel assessment agents per dimension, consolidates with cross-model agreement scoring, and filters false positives. Invoke when reviewing compiler changes, requesting expert feedback, or performing pre-merge quality checks. It is listed under AI & ML on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
.NET (Microsoft) (@dotnet) published this skill. Their other Agent Skills are listed on their SkillMD profile.