From dotnet-skills
Build or modify idiomatic F# .NET projects using explicit modules, domain types, functional data flow, file ordering, async/task interop, tests, and repo-local validation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dotnet-skills:build-fsharp-projectThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Implement or modify an F# .NET project in F#'s own shape.
Implement or modify an F# .NET project in F#'s own shape.
The practical goal is readable domain modeling, explicit data flow, good module boundaries, correct file ordering, useful tests, and validation through the repository's .NET commands.
.fsproj needs new source, tests, or package-facing API.Use repo-local .NET files, checked-out dependency sources, Dash MCP or Dash HTTP for installed .NET docsets, and then official Microsoft documentation when Dash/local coverage is missing or stale:
Inspect the repository before editing:
rg --files -g '*.fs' -g '*.fsproj' -g '*.sln' -g '*.slnx' -g 'global.json'
.fsproj and source ordering.F# compiles files in project order.
Before adding a new file:
.fsproj deliberatelyDo not assume globbed source discovery unless the project already proves it.
For library APIs:
For apps:
Use the existing project style first.
When calling modern .NET APIs from F#, be explicit about whether a function returns Async<'T>, Task<'T>, or a plain value. Avoid hiding task conversion in unrelated helpers. Explain the boundary when a public API exposes tasks for C# consumers.
Use the repository's existing test framework and command if present.
When no convention exists yet, use xUnit as the recommended scaffold default and keep command guidance centered on dotnet test. Preserve existing repo choices instead of migrating test frameworks casually.
Return:
F# change: what module, type, function, or project behavior changed.Data flow: inputs, transformations, side effects, and outputs.Project ordering: any .fsproj ordering changes.Tests: what behavior is covered.Validation: exact dotnet commands and result..fsproj file ordering.npx claudepluginhub gaelic-ghost/socket --plugin dotnet-skillsCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.