coordinate-external-ag…
Coordinate independently operated external agents through durable handoffs. Use when work crosses hosts, sessions, accounts, services, queues, boards, pull…
Design and maintain explicit F# and C# boundaries in mixed .NET solutions, including project references, public API shape, async/task interop, nullability, options, records, and package-facing contracts.
$ npx -y skills add gaelic-ghost/socket --skill fsharp-csharp-interop --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/fsharp-csharp-interopContext preview
The summary Claude sees to decide when to auto-load this skill.
Design and maintain explicit F# and C# boundaries in mixed .NET solutions, including project references, public API shape, async/task interop, nullability, options, records, and package-facing contracts.
name: fsharp-csharp-interop description: Design and maintain explicit F# and C# boundaries in mixed .NET solutions, including project references, public API shape, async/task interop, nullability, options, records, and package-facing contracts. license: Apache-2.0 compatibility: Designed for Codex and compatible Agent Skills clients working with mixed F# and C# .NET solutions. metadata: owner: gaelic-ghost repo: socket category: dotnet-interop allowed-tools: Read Bash(rg:*) Bash(git:*) Bash(dotnet:*)
Keep mixed F# and C# solutions intentional.
The practical job is to decide which language owns which responsibility, make the project-reference direction explicit, and shape public APIs so each language can call the other without awkward translation code leaking everywhere.
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:
1. Inspect project graph:
rg --files -g '*.fsproj' -g '*.csproj' -g '*.sln' -g '*.slnx'
2. Identify the language-owned responsibilities:
3. Choose dependency direction. 4. Shape the API at the boundary. 5. Add tests from the consuming side when the boundary is public or fragile. 6. Run solution-level build and tests.
Common durable shapes:
Avoid mixed language solutions when the only reason is indecision. Ask for a language choice instead.
When C# consumes F#:
When F# consumes C#:
Use `dotnet add reference` or direct project-file edits that match the repo style.
After reference changes, run:
dotnet build dotnet test
Use package references instead of project references only when the dependency is intentionally versioned and released independently.
Return:
1. `Boundary`: which language owns which project. 2. `Dependency direction`: project references and rationale. 3. `API shape`: F#-native, C#-friendly, or dual surface. 4. `Interop risks`: nullability, options, unions, async/task, file ordering. 5. `Validation`: exact build and test commands.
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,…