Use F# Interactive (`dotnet fsi`) for .NET exploration, scriptable experiments, package-backed .fsx workflows, quick data transforms, and reproducible command-line probes. USE FOR: .fsx scripts, F# REPL work, #r nuget references, #load composition, interactive type exploration, and small strongly typed experiments before moving code into a project. DO NOT USE FOR: production application code that needs compiled project structure; C# scripting; long-lived automation better expressed as a normal C
SkillScore100Maintained
Automatic
◆Coding pack
Last verified 8/19/2026
What it changes
Passed 22 of 22 test cases with the skill, and 19 of 22 without it.
Without skill86%
With skill100%
Checks it passed that the model alone missed
uses the `#i` directive with the resolved path string
builds the resulting `.fsproj` project file using `dotnet build`
constructs the absolute feed path dynamically using `__SOURCE_DIRECTORY__`
and 1 more in the full report
3 fixed19 passed either way0 still failing0 broke
Pass-rate lift
+14 pp
Tokens
+52%
Agent turns
0%
Response time
-35%
Model gemini-3.6-flashMeasured 8/19/2026v222 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 3
Prompt
My F# script needs to load a custom NuGet package from a relative local directory `./artifacts/packages`. Someone suggested putting a hardcoded path like `#i "nuget: C:/Users/dev/repo/artifacts/packages"`. How should local feed paths be specified in F# Interactive scripts to ensure portability across different machines?
What was checked, without and with the skill
Checked
Without skill
With skill
constructs the absolute feed path dynamically using `__SOURCE_DIRECTORY__`
Missed
Passed
uses the `#i` directive with the resolved path string
Missed
Passed
case-06 · gemini-3.6-flash · 8/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md192 linessingle file
F# Interactive
Trigger On
the task asks for F# Interactive, FSI, .fsx, or dotnet fsi
a quick typed experiment is needed before changing compiled project code
a script should reference NuGet packages directly with #r "nuget: ..."
an investigation needs quick access to F# type inference, pattern matching, or pipelines
a repeatable one-file probe is better than a temporary project
Do Not Use For
long-lived application code that needs a compiled .fsproj
production automation that should be versioned as a CLI, test project, or build target
C# script work
package restore from untrusted sources
Quick Start
Run an interactive REPL:
dotnet fsi
Run a script:
dotnet fsi scripts/check.fsx
Create a Unix executable script when that fits the repo:
#!/usr/bin/env -S dotnet fsi
printfn "Hello from FSI"
Build or review gRPC services and clients in .NET. USE FOR: ASP.NET Core gRPC, protobuf contracts, unary or streaming RPC, gRPC client factory, interceptors, deadlines, cancellation, channel reuse, backend service integration. DO NOT USE FOR: broad browser-facing APIs without gRPC-Web tradeoff review, SignalR realtime hubs, plain REST APIs. INVOKES: dotnet build/test and focused service or client smoke checks when code changes.