Skip to main content

reviewing-vsintegration

Routes a Visual Studio integration or compiler-service review to the file for that tree. Use when reviewing a PR, pre-merge change, or edit under vsintegration, FSharp.Editor, the legacy language service, FSI, the project system, MEF, src/Compiler/Service, src/Compiler/Symbols, FCS snapshots, the incremental builder, workspace, navigation, completion, or symbols. Invokes @ide-integration. Does not review compiler type checking, IL, pickle, or FSharp.Core.

Source facts

Repository
dotnet/fsharp
Last source activity
October 16, 2026 at 10:13
Detected SKILL.md language
English
Stars
4,347
Forks
883

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
reviewing-vsintegration
description
Routes a Visual Studio integration or compiler-service review to the file for that tree. Use when reviewing a PR, pre-merge change, or edit under vsintegration, FSharp.Editor, the legacy language service, FSI, the project system, MEF, src/Compiler/Service, src/Compiler/Symbols, FCS snapshots, the incremental builder, workspace, navigation, completion, or symbols. Invokes @ide-integration. Does not review compiler type checking, IL, pickle, or FSharp.Core.
# Reviewing VS integration Tree checks live in `vsintegration.md` and `compiler-service.md`; the three boundary checks live in `@ide-integration`. `@expert-reviewer` stays the compiler reviewer. Do not send `vsintegration` or `src/Compiler/Service` findings there. ## Which file | Diff touches | Read | |---|---| | `vsintegration/**` | [vsintegration.md](vsintegration.md) | | `src/Compiler/Service/**` or `src/Compiler/Symbols/**` | [compiler-service.md](compiler-service.md) | | Both | Both files | | `vsintegration/tests/**` | [vsintegration.md](vsintegration.md) | | `tests/FSharp.Compiler.Service.Tests/**` | [compiler-service.md](compiler-service.md) | Use the Both trees rules only when the diff touches both trees or adds a reference from `src/Compiler/Service` to `vsintegration`. ## Folder routing | Path | File | Select | |---|---|---| | `vsintegration/src/FSharp.Editor/**` | vsintegration.md | UI thread, MEF, caches, quick info, navigation, completion, diagnostics, options, classification | | `vsintegration/src/FSharp.LanguageService/**` | vsintegration.md | Legacy language service, UI thread, solution lifetime | | `vsintegration/src/FSharp.ProjectSystem*/**` | vsintegration.md | Project lifetime, UI thread, generator identity | | `vsintegration/src/FSharp.VS.FSI/**` | vsintegration.md | Interactive session startup and cancellation | | `vsintegration/tests/**` | vsintegration.md | Editor tests must call the host provider | | `vsintegration/**` other | vsintegration.md | Do not push host types into the compiler service | | `src/Compiler/Service/**` | compiler-service.md | Cache identity, incremental results, locks, public FCS API, diagnostics, readers | | `src/Compiler/Symbols/**` | compiler-service.md | Symbol results, ranges, completion, walks | | `tests/FSharp.Compiler.Service.Tests/**` | compiler-service.md | Assert the observable service result. Isolate process-wide state | ## Do not route here - `src/Compiler/Checking/`, `src/Compiler/Optimize/`, `src/Compiler/CodeGen/`, `src/Compiler/TypedTree/`, `src/Compiler/SyntaxTree/`, `src/Compiler/Driver/` - `src/FSharp.Core/**` - `src/FSharp.Compiler.LanguageServer/**` is not this corpus. Compiler concurrency stays with `@expert-reviewer`.
View on GitHub