coordinate-external-ag…
Coordinate independently operated external agents through durable handoffs. Use when work crosses hosts, sessions, accounts,…
Build or modify a Giraffe web application in idiomatic F#, using composable HttpHandler functions, explicit ASP.NET Core integration, configuration, authentication, and focused endpoint tests.
Claude Code
$ npx -y skills add gaelic-ghost/socket --skill build-giraffe-web-app --agent claude-code
Codex
$ npx skills add gaelic-ghost/socket --skill build-giraffe-web-app -a codex -y
Cursor
$ npx skills add gaelic-ghost/socket --skill build-giraffe-web-app -a cursor -y
Gemini CLI
$ npx skills add gaelic-ghost/socket --skill build-giraffe-web-app -a gemini-cli -y
GitHub Copilot
$ npx skills add gaelic-ghost/socket --skill build-giraffe-web-app -a github-copilot -y
OpenCode
$ npx skills add gaelic-ghost/socket --skill build-giraffe-web-app -a opencode -y
Windsurf
$ npx skills add gaelic-ghost/socket --skill build-giraffe-web-app -a windsurf -y
name: build-giraffe-web-app description: Build or modify a Giraffe web application in idiomatic F#, using composable HttpHandler functions, explicit ASP.NET Core integration, configuration, authentication, and focused endpoint tests.
Use Giraffe's functional handler composition as the HTTP boundary, not as a reason to place business rules in route declarations.
Inspect the existing host, package lock or project references, handlers, tests, and configuration first. Use the [Giraffe documentation](https://giraffe.wiki/) and [ASP.NET Core documentation](https://learn.microsoft.com/aspnet/core/) when repository evidence is insufficient.
1. Confirm that Giraffe is already selected; otherwise use `dotnet:choose-fsharp-web-framework` first. 2. Keep request parsing, authentication context, and response writing in narrow `HttpHandler` functions. Compose reusable HTTP concerns with `>=>` only when they have one clear request-pipeline responsibility. 3. Put domain transformations and external-dependency contracts in separately testable F# modules. Pass dependencies explicitly or resolve genuine host dependencies at a clear ASP.NET Core boundary. 4. Preserve ASP.NET Core ordering: routing, authentication, authorization, static files, exception handling, and Giraffe middleware must remain aligned with the application's existing host contract. 5. Make response errors specific: route, failed input or dependency, and the safe client-facing outcome. Do not leak secrets or internal exception details. 6. Test pure domain behavior first, then handler or host behavior for route, authorization, binding, status, and response regressions.
Use the narrowest project commands available, normally:
dotnet build <web-project.fsproj> dotnet test <test-project.fsproj>
Do not run a live deployment or add a replacement middleware stack merely to exercise one handler.
integration surface; do not reimplement them as Giraffe helpers.
the official Azure Skills plugin through `cloud-deployment-routing-workflow`.
Coordinate independently operated external agents through durable handoffs. Use when work crosses hosts, sessions, accounts,…
Assign worktree, branch, write, validation, integration, and cleanup ownership before parallel repository work. Use when a worker…
Design framework-neutral agent and automation workflows before implementation. Use when choosing between Codex app automations,…
Design evaluation workflows for agent, skill, prompt, and automation behavior before implementation. Use when choosing eval…
Design safe n8n workflows with deterministic routing, credentials, idempotency, recovery, local-model checks, drafts, and exact…
Coordinate bounded worker tasks with a launch envelope, report-back, escalation, and synthesis contract. Use before spawning,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.