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 C# .NET projects using nullable-aware APIs, records/classes, async/task behavior, analyzer conventions, tests, and repo-local validation.
$ npx -y skills add gaelic-ghost/socket --skill build-csharp-project --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/build-csharp-projectContext preview
The summary Claude sees to decide when to auto-load this skill.
Build or modify idiomatic C# .NET projects using nullable-aware APIs, records/classes, async/task behavior, analyzer conventions, tests, and repo-local validation.
name: build-csharp-project description: Build or modify idiomatic C# .NET projects using nullable-aware APIs, records/classes, async/task behavior, analyzer conventions, tests, and repo-local validation. license: Apache-2.0 compatibility: Designed for Codex and compatible Agent Skills clients working with C# projects on the .NET SDK. metadata: owner: gaelic-ghost repo: socket category: dotnet-csharp allowed-tools: Read Bash(rg:*) Bash(git:*) Bash(dotnet:*)
Implement or modify a C# .NET project in C#'s own shape while keeping F# as an equal peer elsewhere in the plugin.
The practical goal is clear nullable-aware APIs, focused types, useful async boundaries, tests that cover changed behavior, 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 '*.cs' -g '*.csproj' -g '*.sln' -g '*.slnx' -g 'global.json' -g '.editorconfig'
1. Read the existing project file and analyzer/style settings. 2. Check nullable reference type behavior. 3. Identify the public API or app behavior being changed. 4. Use records for value-like data when that matches the domain. 5. Use classes for identity, behavior, mutable state, or framework integration. 6. Use interfaces only when there is a real alternate implementation, test boundary, or public contract. 7. Keep async APIs async only when they perform asynchronous work or match an existing contract. 8. Add or update tests around the behavior changed. 9. Run the narrowest useful validation command.
Respect existing repo configuration first.
When nullable reference types are enabled:
When analyzers or warnings-as-errors are configured:
For library APIs:
For apps:
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. `C# change`: what type, method, project, or behavior changed. 2. `Contracts`: nullable, async, public API, or analyzer choices. 3. `Tests`: what behavior is covered. 4. `Validation`: exact `dotnet` commands and result. 5. `F# boundary`: if relevant, how this C# code interacts with F# projects.
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,…