.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.
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…
$ npx skills add novotnyllc/dotnet-artisan --skill dotnet-debugging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install novotnyllc/dotnet-artisan dotnet-debugging --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/novotnyllc/dotnet-artisan.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/dotnet-artisan/skills/dotnet-debugging .claude/skills/dotnet-debugging && 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 "dotnet-debugging" agent skill from https://github.com/novotnyllc/dotnet-artisan/tree/main/plugins/dotnet-artisan/skills/dotnet-debugging into .claude/skills/dotnet-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dotnet-debugging", 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/novotnyllc/dotnet-artisan/tree/main/plugins/dotnet-artisan/skills/dotnet-debuggingType 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 novotnyllc/dotnet-artisan --skill dotnet-debugging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install novotnyllc/dotnet-artisan dotnet-debugging --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/novotnyllc/dotnet-artisan.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/dotnet-artisan/skills/dotnet-debugging .agents/skills/dotnet-debugging && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dotnet-debugging" agent skill from https://github.com/novotnyllc/dotnet-artisan/tree/main/plugins/dotnet-artisan/skills/dotnet-debugging into .agents/skills/dotnet-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dotnet-debugging", 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 novotnyllc/dotnet-artisan --skill dotnet-debugging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install novotnyllc/dotnet-artisan dotnet-debugging --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/novotnyllc/dotnet-artisan.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/dotnet-artisan/skills/dotnet-debugging .cursor/skills/dotnet-debugging && 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 "dotnet-debugging" agent skill from https://github.com/novotnyllc/dotnet-artisan/tree/main/plugins/dotnet-artisan/skills/dotnet-debugging into .cursor/skills/dotnet-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dotnet-debugging", 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/novotnyllc/dotnet-artisan.git --path plugins/dotnet-artisan/skills/dotnet-debugging--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 novotnyllc/dotnet-artisan --skill dotnet-debugging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install novotnyllc/dotnet-artisan dotnet-debugging --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/novotnyllc/dotnet-artisan.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/dotnet-artisan/skills/dotnet-debugging .gemini/skills/dotnet-debugging && 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 "dotnet-debugging" agent skill from https://github.com/novotnyllc/dotnet-artisan/tree/main/plugins/dotnet-artisan/skills/dotnet-debugging into .gemini/skills/dotnet-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dotnet-debugging", 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 novotnyllc/dotnet-artisan dotnet-debuggingInstalls 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 novotnyllc/dotnet-artisan --skill dotnet-debugging -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/novotnyllc/dotnet-artisan.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/dotnet-artisan/skills/dotnet-debugging .github/skills/dotnet-debugging && 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 "dotnet-debugging" agent skill from https://github.com/novotnyllc/dotnet-artisan/tree/main/plugins/dotnet-artisan/skills/dotnet-debugging into .github/skills/dotnet-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dotnet-debugging", 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 novotnyllc/dotnet-artisan --skill dotnet-debugging -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install novotnyllc/dotnet-artisan dotnet-debugging --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/novotnyllc/dotnet-artisan.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/dotnet-artisan/skills/dotnet-debugging .opencode/skills/dotnet-debugging && 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 "dotnet-debugging" agent skill from https://github.com/novotnyllc/dotnet-artisan/tree/main/plugins/dotnet-artisan/skills/dotnet-debugging into .opencode/skills/dotnet-debugging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dotnet-debugging", 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.
dotnet-debuggingDebugs 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…
Dotnet Debugging is an agent skill from 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, createdump, and container diagnostics (Docker, Kubernetes). Hang/deadlock diagnosis, high CPU triage, memory leak investigation, kernel debugging, and dotnet-monitor for production. Spans 17 topic areas. Do not use for routine .NET SDK profiling, benchmark design, or CI test debugging.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files, including reference files (for example `agents/openai.yaml`, `references/access-mcp.md` and `references/capture-playbooks.md`).
It sits in Development, covering Debugging, Performance optimization and MCP servers. It works with .NET, Model Context Protocol, Linux and macOS. The repository describes itself as: Comprehensive .NET development skills for modern C and .NET. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit de192c1. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comlearn.microsoft.comFrom 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.
Dotnet Debugging loads about 2.1k tokens when it runs, and up to ~8.4k if it reads all its reference files. Until then it costs about 125 tokens; SKILL.md has 856 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 novotnyllc/dotnet-artisan at commit de192c1, republished under its MIT licence (© novotnyllc). 856 words, ~2,142 tokens.
.claude/skills/dotnet-debugging/SKILL.md (or your agent's skills folder). This skill also uses 18 other files; get the full folder from GitHub.Windows and Linux/macOS debugging using WinDbg MCP tools (Windows), dotnet-dump, and lldb with SOS (Linux/macOS). Applicable to any application -- native, managed (.NET/CLR), or mixed-mode. Includes container diagnostic patterns for Docker and Kubernetes. Guides investigation of crash dumps, application hangs, high CPU, and memory pressure through structured command packs and report templates.
Platforms: Windows (WinDbg MCP, cdb), Linux/macOS (dotnet-dump, lldb with SOS, createdump, dotnet-monitor).
| Topic | Keywords | Description | Companion File |
|---|---|---|---|
| MCP setup | MCP server, WinDbg, configuration | MCP server configuration | references/mcp-setup.md |
| MCP access | MCP access, tool IDs, dispatch | MCP access patterns | references/access-mcp.md |
| Common patterns | debug patterns, SOS, CLR | Common debugging patterns | references/common-patterns.md |
| Dump workflow | dump file, .dmp, crash dump | Dump file analysis workflow | references/dump-workflow.md |
| Live attach | live process, cdb, attach | Live process attach guide | references/live-attach.md |
| Symbols | symbol server, .symfix, PDB | Symbol configuration | references/symbols.md |
| Sanity check | verify, environment, baseline | Sanity check procedures | references/sanity-check.md |
| Scenario packs | command pack, triage, workflow | Scenario command packs | references/scenario-command-packs.md |
| Capture playbooks | capture, procdump, triggers | Capture playbooks | references/capture-playbooks.md |
| Report template | diagnostic report, evidence | Diagnostic report template | references/report-template.md |
| Crash triage | crash, exception, access violation | Crash triage | references/task-crash.md |
| Hang triage | hang, deadlock, freeze | Hang triage | references/task-hang.md |
| High-CPU triage | high CPU, runaway thread, spin | High-CPU triage | references/task-high-cpu.md |
| Memory triage | memory leak, heap, LOH | Memory leak triage | references/task-memory.md |
| Kernel debugging | kernel, BSOD, bugcheck | Kernel debugging | references/task-kernel.md |
| Unknown triage | unknown issue, general triage | Unknown issue triage | references/task-unknown.md |
| Linux debugging | dotnet-dump, lldb, createdump, container | Linux/macOS debugging, dotnet-dump, lldb SOS, containers | references/linux-debugging.md |
dotnet-toolingBoth skills use overlapping tools (dotnet-dump, dotnet-counters, dotnet-trace) but for different purposes:
| Scenario | Use this skill (debugging) | Use dotnet-tooling |
|---|---|---|
| Investigating a crash dump (.dmp) | Yes | No |
| "Why did my app crash/hang/OOM?" | Yes | No |
| Attaching a debugger to a live process | Yes | No |
| "How do I profile my app's performance?" | No | Yes (profiling) |
| "How do I reduce GC pressure?" | No | Yes (gc-memory) |
| Collecting a dump for later analysis | Yes | No |
| Running dotnet-counters to monitor metrics | No | Yes (profiling) |
| Analyzing a dump with dotnet-dump | Yes | No |
| Decompiling an assembly to understand behavior | No | Yes (ilspy-decompile) |
Rule of thumb: if something is broken (crash, hang, deadlock, OOM), route here. If something is slow or needs optimization, route to dotnet-tooling.
dotnet-toolingdotnet-toolingdotnet-toolingdotnet-testingdotnet-devopsdotnet-testingThese tool IDs are the WinDbg MCP server's exported names (single-underscore mcp_...), not the mcp__... dispatch prefix used by some hosts.
| Operation | Purpose |
|---|---|
mcp_mcp-windbg_open_windbg_remote | Attach to a live debug server |
mcp_mcp-windbg_open_windbg_dump | Open a saved dump file |
mcp_mcp-windbg_run_windbg_cmd | Execute debugger commands |
mcp_mcp-windbg_close_windbg_remote | Detach from live session |
mcp_mcp-windbg_close_windbg_dump | Close dump session |
Before any analysis, configure symbols to get meaningful stacks:
.symfix (sets srv* to Microsoft public symbols).sympath+ C:\path\to\your\pdbs.reload /flm (list modules -- check for "deferred" vs "loaded" status)Without correct symbols, stacks show raw addresses instead of function names.
mcp_mcp-windbg_open_windbg_dump with dump file path.loadby sos clr (Framework) or .loadby sos coreclr (.NET Core)!pe (print exception), !analyze -v (automatic analysis)~*e !clrstack (all managed stacks), !threads (thread list)!dumpheap -stat (heap summary), !gcroot <addr> (object roots)!threads, identify waiting threads with !syncblk (sync block table)!dlk (SOS deadlock detection)~Ns !clrstack for specific thread N!waitchain for COM/RPC chains, !mda for MDA diagnostics!runaway to identify threads consuming the most CPU time~Ns kb (native stack), ~Ns !clrstack (managed stack)!dumpheap -stat (type statistics), !dumpheap -type <TypeName> (filter)!gcroot <address> (trace GC roots to pinned or static references)!heap -s (heap summary), !heap -l (leak detection)!eeheap -gc (GC heap segments)## Diagnostic Report
**Symptom:** [crash/hang/high-cpu/memory-leak]
**Process:** [name, PID, bitness]
**Dump type:** [full/mini/live-attach]
### Evidence
- Exception: [type and message, or N/A]
- Faulting thread: [ID, managed/native, stack summary]
- Key stacks: [condensed callstack with module!function]
### Root Cause
[Concise analysis backed by stack/heap evidence]
### Recommendations
[Numbered action items]Cross-references: dotnet-tooling for .NET SDK diagnostic tools (references/profiling.md) and GC/memory tuning (references/gc-memory.md).
© novotnyllc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 18 other files (references) in plugins/dotnet-artisan/skills/dotnet-debugging of novotnyllc/dotnet-artisan.
Open the folder on GitHubat commit de192c1
Dotnet Debugging 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 |
|---|---|---|---|---|---|---|
| Dotnet Debugging this skillnovotnyllc/dotnet-artisan | 233 | — | ~2.1k | Automated safety check: Pass | MIT | |
| .NET Crash Dump Collectiondotnet/skills | 5.6k | 2 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Devsydevsy-org/devsy | 110 | — | ~1.7k | Automated safety check: Pass | MPL-2.0 | |
| Gearcoleco Debuggingdrhelius/Gearcoleco | 141 | — | ~3.5k | Automated safety check: Pass | GPL-3.0 | |
| Ama Logs Update Charts Release Notesmicrosoft/Docker-Provider | 174 | — | ~2.6k | Automated safety check: Pass | Custom licence | |
| Alibabacloud Ecs Sec Userspacealiyun/alibabacloud-ecs-troubleshoot-skills | 148 | 1 repos | ~2.6k | Automated safety check: Notes | Apache-2.0 |
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.
devsy-org/devsy
Operate Devsy workspaces and providers for end users. An agent skill from devsy-org/devsy.
drhelius/Gearcoleco
Debug and trace ColecoVision and Super Game Module games using the Gearcoleco emulator MCP server.
microsoft/Docker-Provider
Prepare an ama-logs release PR: bump the image tag (X.Y.Z) across Helm charts, manifests, and Dockerfiles, and add a formatted ReleaseNotes.md entry.
aliyun/alibabacloud-ecs-troubleshoot-skills
Linux 用户态安全入侵检测与取证工具,专为 AI Agent 设计。自动判断服务器是否被入侵, 提供完整证据链和可执行修复建议。51 个安全分析器覆盖进程/网络/认证/持久化/Rootkit/ 恶意软件/内存取证/容器逃逸等 12 类检测维度,10 个数据采集器全面采集系统状态, 映射 103+ MITRE ATT&CK 技术,支持 standalone/docker/k8s 三种部署模式。
oneclickvirt/oneclickvirt
OneClickVirt operations skill for managing containers, virtual machines, provider nodes, health checks, and metrics through MCP.
novotnyllc/dotnet-artisan
Manages .NET SDK installation (dotnet-install, workloads), project setup (.slnx, Directory.Build.props, CPM), MSBuild authoring, build optimization, performance (Span, ArrayPool, stackalloc)…
novotnyllc/dotnet-artisan
Builds ASP.NET Core APIs, EF Core data access, gRPC, SignalR, and backend services with middleware, security (OAuth, JWT, OWASP), resilience, messaging, OpenAPI, .NET Aspire, Semantic Kernel…
novotnyllc/dotnet-artisan
Baseline C skill loaded for every .NET code path. An agent skill from novotnyllc/dotnet-artisan.
novotnyllc/dotnet-artisan
Detects .NET intent for any C, ASP.NET Core, EF Core, Blazor, MAUI, Uno Platform, WPF, WinUI, SignalR, gRPC, xUnit, NuGet, or MSBuild request from prompt keywords and repository signals (.sln…
novotnyllc/dotnet-artisan
Configures .NET CI/CD pipelines (GitHub Actions with setup-dotnet, NuGet cache, reusable workflows; Azure DevOps with DotNetCoreCLI, templates, multi-stage), containerization (multi-stage…
novotnyllc/dotnet-artisan
Defines .NET test strategy and implementation patterns across xUnit v3 (Facts, Theories, fixtures, IAsyncLifetime), integration testing (WebApplicationFactory, Testcontainers), Aspire testing…
Categories
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…. Dotnet Debugging is an agent skill from novotnyllc/dotnet-artisan.gcroot, BSOD), dotnet-dump, lldb with SOS, createdump, and container diagnostics (Docker, Kubernetes).
Dotnet Debugging fits situations like: routine .NET SDK profiling; benchmark design; CI test debugging.
Run `npx skills add novotnyllc/dotnet-artisan --skill dotnet-debugging -a claude-code`. Or copy the skill folder (plugins/dotnet-artisan/skills/dotnet-debugging in novotnyllc/dotnet-artisan) into .claude/skills/dotnet-debugging in your project. Claude Code loads it when a task matches its description.
Run `npx skills add novotnyllc/dotnet-artisan --skill dotnet-debugging -a codex`. Or copy the skill folder (plugins/dotnet-artisan/skills/dotnet-debugging in novotnyllc/dotnet-artisan) into .agents/skills/dotnet-debugging 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 novotnyllc/dotnet-artisan --skill dotnet-debugging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dotnet-debugging, .gemini/skills/dotnet-debugging, .github/skills/dotnet-debugging and .opencode/skills/dotnet-debugging in your project.
SKILL.md names no scripts, command-line tools or credentials: Dotnet Debugging is instructions for the agent only. Our summary lists: Docker.
SKILL.md names 2 domains. As links in the text: github.com and learn.microsoft.com. 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.
Dotnet Debugging is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Dotnet Debugging: .NET Crash Dump Collection (dotnet/skills, 5.6k stars), Devsy (devsy-org/devsy, 110 stars), Gearcoleco Debugging (drhelius/Gearcoleco, 141 stars) and Ama Logs Update Charts Release Notes (microsoft/Docker-Provider, 174 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
novotnyllc (a GitHub organization) maintains it in novotnyllc/dotnet-artisan, which has 233 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 8, 2026.
Source: novotnyllc/dotnet-artisan on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.