coordinate-external-ag…
Coordinate independently operated external agents through durable handoffs. Use when work crosses hosts, sessions, accounts, services, queues, boards, pull…
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.
$ npx -y skills add gaelic-ghost/socket --skill build-fsharp-project --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/build-fsharp-projectContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
name: build-fsharp-project description: 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. license: Apache-2.0 compatibility: Designed for Codex and compatible Agent Skills clients working with F# projects on the .NET SDK. metadata: owner: gaelic-ghost repo: socket category: dotnet-fsharp allowed-tools: Read Bash(rg:*) Bash(git:*) Bash(dotnet:*)
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.
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'
1. Read the existing `.fsproj` and source ordering. 2. Identify the domain values and transformations. 3. Prefer small modules with explicit inputs and outputs. 4. Use records for named product data. 5. Use discriminated unions for closed sets of alternatives. 6. Use options and results for expected absence or recoverable failure. 7. Keep side effects at the edge of the workflow. 8. Add or update tests around the behavior changed. 9. Run the narrowest useful validation command.
F# compiles files in project order.
Before adding a new file:
Do 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:
1. `F# change`: what module, type, function, or project behavior changed. 2. `Data flow`: inputs, transformations, side effects, and outputs. 3. `Project ordering`: any `.fsproj` ordering changes. 4. `Tests`: what behavior is covered. 5. `Validation`: exact `dotnet` commands and result.
Stuff for Agents on macOS Promo audio: Socket Codex Marketplace Promo
Coordinate independently operated external agents through durable handoffs. Use when work crosses hosts, sessions, accounts, services, queues, boards, pull…
Assign worktree, branch, write, validation, integration, and cleanup ownership before parallel repository work. Use when a worker will inspect or modify…
Design framework-neutral agent and automation workflows before implementation. Use when choosing between Codex app automations, codex exec, Codex subagents,…
Design evaluation workflows for agent, skill, prompt, and automation behavior before implementation. Use when choosing eval cases, graders, thresholds,…
Design safe n8n workflows with deterministic routing, credentials, idempotency, recovery, local-model checks, drafts, and exact approval gates.
Coordinate bounded worker tasks with a launch envelope, report-back, escalation, and synthesis contract. Use before spawning, resuming, steering, cancelling,…