.NET Crash Dump Collection
dotnet/skills
Configures automatic crash dumps or captures dumps from running processes for modern .NET apps on Linux, macOS and Windows, including Docker and Kubernetes.
How to run a FoundationDB cluster and connect to it from .NET — getting the IFdbDatabaseProvider that the keys/transactions/layers skills assume you already have.
$ npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SnowBankSDK/foundationdb-dotnet-client foundationdb-aspire --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/SnowBankSDK/foundationdb-dotnet-client.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/foundationdb-aspire .claude/skills/foundationdb-aspire && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "foundationdb-aspire" agent skill from https://github.com/SnowBankSDK/foundationdb-dotnet-client/tree/master/.claude/skills/foundationdb-aspire into .claude/skills/foundationdb-aspire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundationdb-aspire", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/SnowBankSDK/foundationdb-dotnet-client/tree/master/.claude/skills/foundationdb-aspireType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SnowBankSDK/foundationdb-dotnet-client foundationdb-aspire --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SnowBankSDK/foundationdb-dotnet-client.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/foundationdb-aspire .agents/skills/foundationdb-aspire && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "foundationdb-aspire" agent skill from https://github.com/SnowBankSDK/foundationdb-dotnet-client/tree/master/.claude/skills/foundationdb-aspire into .agents/skills/foundationdb-aspire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundationdb-aspire", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SnowBankSDK/foundationdb-dotnet-client foundationdb-aspire --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SnowBankSDK/foundationdb-dotnet-client.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/foundationdb-aspire .cursor/skills/foundationdb-aspire && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "foundationdb-aspire" agent skill from https://github.com/SnowBankSDK/foundationdb-dotnet-client/tree/master/.claude/skills/foundationdb-aspire into .cursor/skills/foundationdb-aspire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundationdb-aspire", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/SnowBankSDK/foundationdb-dotnet-client.git --path .claude/skills/foundationdb-aspire--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SnowBankSDK/foundationdb-dotnet-client foundationdb-aspire --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SnowBankSDK/foundationdb-dotnet-client.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/foundationdb-aspire .gemini/skills/foundationdb-aspire && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "foundationdb-aspire" agent skill from https://github.com/SnowBankSDK/foundationdb-dotnet-client/tree/master/.claude/skills/foundationdb-aspire into .gemini/skills/foundationdb-aspire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundationdb-aspire", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install SnowBankSDK/foundationdb-dotnet-client foundationdb-aspireInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/SnowBankSDK/foundationdb-dotnet-client.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/foundationdb-aspire .github/skills/foundationdb-aspire && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "foundationdb-aspire" agent skill from https://github.com/SnowBankSDK/foundationdb-dotnet-client/tree/master/.claude/skills/foundationdb-aspire into .github/skills/foundationdb-aspire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundationdb-aspire", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install SnowBankSDK/foundationdb-dotnet-client foundationdb-aspire --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SnowBankSDK/foundationdb-dotnet-client.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/foundationdb-aspire .opencode/skills/foundationdb-aspire && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "foundationdb-aspire" agent skill from https://github.com/SnowBankSDK/foundationdb-dotnet-client/tree/master/.claude/skills/foundationdb-aspire into .opencode/skills/foundationdb-aspire/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "foundationdb-aspire", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
foundationdb-aspireHow to run a FoundationDB cluster and connect to it from .NET — getting the IFdbDatabaseProvider that the keys/transactions/layers skills assume you already have.
Foundationdb Aspire is an agent skill from SnowBankSDK/foundationdb-dotnet-client. How to run a FoundationDB cluster and connect to it from .NET — getting the IFdbDatabaseProvider that the keys/transactions/layers skills assume you already have. Covers the ways to get a provider (plain DI services.AddFoundationDb, FdbDatabaseProvider.Create, or Aspire), the Aspire AppHost integration (FoundationDB.Aspire.Hosting — builder.AddFoundationDb starts a Docker cluster, AddFoundationDbCluster connects to an existing one), the Aspire client integration (FoundationDB.Aspire — builder.AddFoundationDb…
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering NoSQL databases and Containers. It works with .NET, Docker, macOS and C#. The repository describes itself as: C/.NET Binding for FoundationDB Client API. The licence is BSD-3-Clause.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fdd65b1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
dotnetdockerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use docker, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Foundationdb Aspire loads about 3.4k tokens when it runs. Until then it costs about 260 tokens; SKILL.md has 1,340 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from SnowBankSDK/foundationdb-dotnet-client at commit fdd65b1, republished under its BSD-3-Clause licence (© SnowBankSDK). 1,340 words, ~3,426 tokens.
.claude/skills/foundationdb-aspire/SKILL.md (or your agent's skills folder).The foundationdb-keys-and-layers, foundationdb-transactions, and foundationdb-advanced-layers skills all start from an IFdbDatabase / IFdbDatabaseProvider you already have. This skill is about getting there: standing up a cluster, loading the native client correctly, and connecting — including the .NET Aspire integration shipped in this repo (FoundationDB.Aspire.Hosting + FoundationDB.Aspire).
IFdbDatabaseProviderApplication code resolves an IFdbDatabaseProvider (then await provider.GetDatabase(ct) or, more commonly, the retry-loop methods). Three ways to create one:
| Way | API | When |
|---|---|---|
| Plain DI | services.AddFoundationDb(apiVersion, opt => …) → IFdbDatabaseProviderBuilder (registers IFdbDatabaseProvider) | a regular host, you supply the cluster file via config |
| No DI | FdbDatabaseProvider.Create(new FdbDatabaseProviderOptions { ApiVersion = 730, … }) | tools/tests/standalone; call provider.Start() |
| Aspire client | builder.AddFoundationDb("fdb", settings, options) | the connection string is injected by an Aspire AppHost (see §3) |
apiVersion selects the client API level and caps the features you can use: 730 ⇒ FoundationDB 7.3 semantics, 740 ⇒ 7.4. This client accepts 610 to 740, and Fdb.DefaultApiVersion is 730, which is why 730 appears in most examples. Pick the level whose semantics you actually rely on, not the newest available: raising it is a behavior change, and it must stay ≤ what the cluster supports. The provider also carries a root FdbPath (a directory-layer partition); everything else resolves relative to it.
Plain-DI / no-DI namespaces: FoundationDB.DependencyInjection. These all still need the native client loaded (§5).
FoundationDB.Aspire.Hosting)On a IDistributedApplicationBuilder (the AppHost), namespace Aspire.Hosting:
// starts a FoundationDB cluster as a Docker container, and emits a connection string named "fdb"
var fdb = builder.AddFoundationDb("fdb",
apiVersion: 730,
root: "/MyApp") // clusterVersion omitted on purpose - see below
.WithLifetime(ContainerLifetime.Persistent); // reuse the container across runs (faster restarts)
builder.AddProject<Projects.MyApp>("app")
.WithReference(fdb) // injects the "fdb" connection string into the app
.WaitFor(fdb); // hold the app until the cluster is healthyclusterVersion. Left out, the hosting package picks its own last-known-good Docker tag for the major it selects (the FdbAspireHostingExtensions.LatestVersionNN constants, refreshed from Docker Hub by scripts/check-fdb-image-tags.ps1). A tag you hardcode is a number that rots in your AppHost: pin one only when you need a specific image, and then treat it as something to review, alongside rollForward: FdbVersionPolicy.Exact.AddFoundationDb(...) → IResourceBuilder<FdbClusterResource> runs a container.configure new single ssd inside the container (a brand-new cluster has no database until then), and WaitFor(fdb) holds dependents until the database answers. An already-configured database is left untouched. Opt out with .WithAutoProvisioning(false); run mode only.AddFoundationDbCluster(name, apiVersion, root, clusterFile?, clusterVersion?) → IResourceBuilder<FdbConnectionResource> instead connects to an already-running cluster (no container) given a cluster file..WithDataVolume() (name generated from the AppHost and the resource) or .WithDataVolume("name"). The default volume fdb_data is shared by every AppHost on the machine that keeps it: two clusters on it fail with "Unable to lock the file", and a 7.4 server upgrades 7.3 data files in place, beyond the reach of 7.3 servers.FdbVersionPolicy (Exact, etc.) lives in Aspire.Hosting.ApplicationModel. .WithDefaults(timeout, retryLimit, tracing) tunes the connection..WithFdbCli() adds an "FdbCli" command that opens fdbcli inside the container, in the terminal dock. .WithFdbShell() adds an "FdbShell" command that runs the FdbShell .NET tool from NuGet (dotnet tool exec, no package reference) with the cluster's connection string, starting in the root folder; it runs the FdbShell of the same version as the hosting package (released together, so they agree on the --aspire contract), and FdbShell loads the libfdb_c of the cluster's branch from the AppHost's output: the AppHost must reference FoundationDB.Client.Native of the cluster's major.minor (same CPM version as the apps), or WithFdbShell() throws at startup with the fix (also on a branch mismatch). In a solution that holds the FdbShell source, .WithFdbShell<Projects.FdbShell>() runs the project instead (needs a ProjectReference to FdbShell.csproj pinned to the AppHost's TFM with SetTargetFramework). Do not add FdbShell as a project resource: it needs a terminal. Outside the AppHost, fdbshell --aspire / fdbtop --aspire read the same ConnectionStrings__<name> variable, and fail with an actionable error when it is missing.AppHost project setup: Sdk="Aspire.AppHost.Sdk/<ver>"; reference FoundationDB.Aspire.Hosting with IsAspireProjectResource="false" (it's a compile dependency for AddFoundationDb); reference each app project normally (those are launched as resources — their TFM need not match the AppHost).
FoundationDB.Aspire)In the app (not the AppHost), on an IHostApplicationBuilder, namespace Microsoft.Extensions.Hosting:
// reads the "fdb" connection string injected by WithReference(fdb) and registers IFdbDatabaseProvider
builder.AddFoundationDb("fdb",
settings => { /* FdbClientSettings: tracing, health checks, … */ },
options => options.UseNativeClient()); // load libfdb_c (see §5)The app references FoundationDB.Aspire. The injected connection string looks like ApiVersion=730;Root=/MyApp;ClusterFileContents=…;ClusterVersion=7.4.6 (the ClusterVersion is whatever tag the AppHost resolved, so do not read the one in this example as a recommendation). Standalone (no AppHost), provide the cluster file via configuration instead.
Don't confuse the two
AddFoundationDbs: the AppHost one (IDistributedApplicationBuilder, starts the container) vs the client one (IHostApplicationBuilder, consumes the connection). They have different receivers, so they never collide.
Preferred: the aspire CLI — it provisions the dashboard, OTLP, and ports for you:
dotnet tool install --global aspire.cli # one-time
aspire run --apphost path/to/MyApp.AppHost.csproj
# headless / CI: aspire run --apphost … --detach --non-interactive --format Json
# → returns { appHostPid, dashboardUrl (with login token), logFile }Fallback: plain dotnet run (or IDE F5) on the AppHost. This requires a Properties/launchSettings.json providing the dashboard + OTLP endpoints, e.g.:
{ "profiles": { "http": { "commandName": "Project",
"applicationUrl": "http://localhost:15200",
"environmentVariables": {
"DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19200",
"DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20200",
"ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true" } } } }Without it, a bare dotnet run on the AppHost crashes at startup: "Failed to configure dashboard resource because ASPNETCORE_URLS … was not set / … OTLP endpoint must be provided." The aspire CLI does not need this file.
libfdb_c) — UseNativeClient()The .NET client talks to the cluster through the native libfdb_c library. options.UseNativeClient(allowSystemFallback: false) loads only the copy shipped by the FoundationDB.Client.Native package.
That package ships libfdb_c for linux-arm64, linux-x64, win-x64, osx-arm64, and (since the 7.4.6 native repackaging) osx-x64, so UseNativeClient(allowSystemFallback: false) loads the redistributed client on macOS too, with no system install. Use the system fallback only when your FoundationDB.Client.Native pin predates the macOS RID you need:
libfdb_c.dylib (Homebrew foundationdb, or the official client package) of a matching version (§6) and matching CPU arch (an arm64 process cannot load an x64 dylib), andUseNativeClient(allowSystemFallback: true).The loader searches the app's output directory and the standard dyld paths, not /usr/local/lib by bare name. To force a system copy, place (or copy) libfdb_c.dylib next to the built app. Symptom when no client loads: DllNotFoundException: Unable to load shared library 'fdb_c'.
The client library version must be compatible with the cluster version. A 7.3 client cannot talk to a 7.4 cluster.
fdbcli against the cluster reports "One or more processes … incompatible" and "database is unavailable", even though the cluster is internally healthy.clusterVersion (the Docker image tag) match the libfdb_c available to the app. Check the client with fdbcli --version, the server with docker exec <container> fdbcli --version. If you did not pin a tag, the mismatch is almost always a system libfdb_c shadowing the redistributed one (see §5), not the container.apiVersion (e.g. 730) must be ≤ the cluster's supported level; 730 ⇒ 7.3, 740 ⇒ 7.4.For talking to multiple cluster versions from one process, FoundationDB's multi-version client loads several external libfdb_c libraries — but the simplest demo/dev setup is: one cluster version, one matching client library.
✅ DO
services.AddFoundationDb(...) / FdbDatabaseProvider.Create(...) otherwise.aspire run; keep a launchSettings.json only as the dotnet run/F5 fallback.clusterVersion lets the hosting package pair them for you against the libfdb_c that FoundationDB.Client.Native redistributes; pin it only when you supply your own client library, and then verify both with fdbcli --version.osx-arm64 and osx-x64 (since 7.4.6), so UseNativeClient(allowSystemFallback: false) works; fall back to a system libfdb_c.dylib and allowSystemFallback: true only for an older pin without your RID.⚠️ GOTCHAS
DllNotFoundException: fdb_c ⇒ no native client found; on macOS the package ships none (see §5).dotnet run crash about ASPNETCORE_URLS / OTLP ⇒ missing launchSettings.json, or just use aspire run.AddFoundationDb "ambiguous" / wrong overload ⇒ you imported the wrong namespace; the AppHost call is on IDistributedApplicationBuilder (Aspire.Hosting), the client call on IHostApplicationBuilder (Microsoft.Extensions.Hosting).WithLifetime(ContainerLifetime.Persistent) keeps the cluster's data across runs — handy in dev, but remember to docker rm -f it when you want a clean slate.| What | Where |
|---|---|
| Aspire AppHost integration | FoundationDB.Aspire.Hosting/FdbAspireHostingExtensions.cs (AddFoundationDb, AddFoundationDbCluster, FdbVersionPolicy) |
| Aspire client integration | FoundationDB.Aspire/FdbAspireComponentExtensions.cs (AddFoundationDb), FdbClientSettings.cs |
| Plain DI / no-DI provider | FoundationDB.Client/DependencyInjection/FdbDatabaseServiceCollectionExtensions.cs, Implementation/FdbDatabaseProvider.cs |
| Native client loader | FoundationDB.Client.Native/ (FdbClientNativeExtensions.cs → UseNativeClient; runtimes/ holds the shipped libs) |
© SnowBankSDK, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/foundationdb-aspire of SnowBankSDK/foundationdb-dotnet-client.
Open the folder on GitHubat commit fdd65b1
Foundationdb Aspire next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Foundationdb Aspire this skillSnowBankSDK/foundationdb-dotnet-client | 158 | — | ~3.4k | Automated safety check: Pass | BSD-3-Clause | |
| .NET Crash Dump Collectiondotnet/skills | 5.6k | 2 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Dotnet Debuggingnovotnyllc/dotnet-artisan | 232 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Monstermq Broker Configvogler75/monster-mq | 143 | — | ~2.2k | Automated safety check: Pass | GPL-3.0 | |
| NodejsTheDecipherist/claude-code-mastery-project-starter-kit | 338 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Dockerfile And Readme Templatingdotnet/dotnet-docker | 4.9k | — | ~563 | Automated safety check: Pass | MIT |
dotnet/skills
Configures automatic crash dumps or captures dumps from running processes for modern .NET apps on Linux, macOS and Windows, including Docker and Kubernetes.
novotnyllc/dotnet-artisan
Debugs Windows and Linux/macOS applications (native, .NET/CLR, mixed-mode) with WinDbg MCP (crash dumps, !analyze, !syncblk, !dlk, !runaway, !dumpheap, !gcroot, BSOD), dotnet-dump, lldb with SOS…
vogler75/monster-mq
Guide for configuring, deploying, and operating the MonsterMQ broker.
TheDecipherist/claude-code-mastery-project-starter-kit
Node.js backend runtime and process-lifecycle rules that Claude reliably gets wrong.
dotnet/dotnet-docker
Modify Cottle templates that generate Dockerfiles and READMEs in dotnet/dotnet-docker.
dotnet/dotnet-docker
Plan and move changes between branches in dotnet/dotnet-docker.
SnowBankSDK/foundationdb-dotnet-client
How to correctly use the Slice type and its companions (SliceReader, SliceWriter, SliceOwner) for binary data in the FoundationDB .NET client / SnowBank.Core codebase.
SnowBankSDK/foundationdb-dotnet-client
Advanced engineering for sophisticated FoundationDB layers with the .NET client (FoundationDB.Client / SnowBank) — the cluster model and transaction lifecycle (proxies, resolvers, tlogs, storage…
Categories
How to run a FoundationDB cluster and connect to it from .NET — getting the IFdbDatabaseProvider that the keys/transactions/layers skills assume you already have. Foundationdb Aspire is an agent skill from SnowBankSDK/foundationdb-dotnet-client.NET — getting the IFdbDatabaseProvider that the keys/transactions/layers skills assume you already have.
Foundationdb Aspire fits situations like: connects to a cluster; registers AddFoundationDb; runs an Aspire host; hits libfdbc load failures.
Run `npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a claude-code`. Or copy the skill folder (.claude/skills/foundationdb-aspire in SnowBankSDK/foundationdb-dotnet-client) into .claude/skills/foundationdb-aspire in your project. Claude Code loads it when a task matches its description.
Run `npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a codex`. Or copy the skill folder (.claude/skills/foundationdb-aspire in SnowBankSDK/foundationdb-dotnet-client) into .agents/skills/foundationdb-aspire in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SnowBankSDK/foundationdb-dotnet-client --skill foundationdb-aspire -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/foundationdb-aspire, .gemini/skills/foundationdb-aspire, .github/skills/foundationdb-aspire and .opencode/skills/foundationdb-aspire in your project.
Going by SKILL.md and its folder, Foundationdb Aspire needs the command-line tools its instructions call (dotnet and docker). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Foundationdb Aspire is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Foundationdb Aspire: .NET Crash Dump Collection (dotnet/skills, 5.6k stars), Dotnet Debugging (novotnyllc/dotnet-artisan, 232 stars), Monstermq Broker Config (vogler75/monster-mq, 143 stars) and Nodejs (TheDecipherist/claude-code-mastery-project-starter-kit, 338 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
SnowBankSDK (a GitHub organization) maintains it in SnowBankSDK/foundationdb-dotnet-client, which has 158 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 9, 2026.
Source: SnowBankSDK/foundationdb-dotnet-client on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.