windbg-user-mutex-held-across-co-await SKILL.md skillA

windbg-user-mutex-held-across-co-await from microsoft/win-dev-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add microsoft/win-dev-skills/windbg-user-mutex-held-across-co-await@git:20261007.790b577

Pins git:20261007.790b577 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
microsoft/win-dev-skills
Path
plugins/windbg/skills/windbg-user-mutex-held-across-co-await/SKILL.md
Versions recorded
2
Latest version
git:20261007.790b577, committed Oct 7, 2026
First version recorded
Oct 7, 2026
Size
4,245 bytes
Repository stars
475
License
MIT

Use when app, service, or user-mode driver C++ coroutine code holds a thread-affine lock across suspension and later hangs or fails. Not for all coroutine crashes or choosing lock performance.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Mutex Held Across co_await

**Load `windbg-diagnostic-method` first** if it is not already loaded in this
conversation, and apply it throughout for evidence ranking, hypothesis testing,
confidence calibration, independent review, and report validation. This skill
adds the bug-family-specific commands and evidence requirements.

## Detection

This pattern can occur in native application, service, or user-mode driver
code, including UMDF components that use C++ coroutines. Look for a lock
acquired before `co_await` and released after resumption or
coroutine destruction. Mutex ownership belongs to the acquiring thread, not
the coroutine frame. A resumption on another thread can violate that contract.
Even same-thread resumption can create reentrancy or progress problems when
the awaited operation needs a lock the coroutine still holds.

## Workflow

1. Identify the exact lock primitive and acquisition/release scope in source.
   Audit every suspension point while the RAII guard or ownership is alive.
2. Establish the acquire and resume threads using trace/source evidence.
   Standard mutexes and SRW locks do not provide a universally queryable owner
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add microsoft/win-dev-skills/windbg-user-mutex-held-across-co-await@sha256:407528726c53c79a

The line at the top of this page pins the label git:20261007.790b577, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_z3qhmlqjvsiuk7ek.svg)](https://markdownregistry.com/a/art_z3qhmlqjvsiuk7ek)

2 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 2 versions of this file, all committed on Oct 7, 2026.

versioncommittedcommitsizeaudit
git:20261007.790b577 latest2026-10-07 790b577 4,245 BA view · diff
git:20261007.e1050cd2026-10-07 e1050cd 4,116 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (4245 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

microsoft/win-dev-skills · 475 stars · license MIT · pushed 2026-10-19 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_z3qhmlqjvsiuk7ek
GET https://markdownregistry.com/api/v1/resolve?ref=microsoft/win-dev-skills/windbg-user-mutex-held-across-co-await
GET https://markdownregistry.com/api/v1/blob/407528726c53c79ad3a314a5b297f2fb869eae963974059657842a41087485ad

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from microsoft/win-dev-skills

windbg-diagnostic-method SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-diagnostic-method/SKILL.md · Use with every WinDbg plugin investigation to apply evidence-first reasoning, confidence calibration, contrarian…
git:20261007.e1050cd · audit A · 475 stars
windbg-kernel-bugcheck-triage SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-kernel-bugcheck-triage/SKILL.md · Use when a kernel dump reports a Windows bugcheck; decode parameters and recover exception or trap context before…
git:20261007.790b577 · audit A · 475 stars
windbg-kernel-irp-lifecycle-triage SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-kernel-irp-lifecycle-triage/SKILL.md · Use when kernel evidence shows stalled I/O, a power IRP, or completion/cancellation misuse; inspect request state and…
git:20261007.790b577 · audit A · 475 stars
windbg-kernel-lock-deadlock-triage SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-kernel-lock-deadlock-triage/SKILL.md · Use when kernel threads block on driver synchronization or Verifier reports a lock-order violation; build an…
git:20261007.790b577 · audit A · 475 stars
windbg-kernel-verifier-triage SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-kernel-verifier-triage/SKILL.md · Use when a kernel dump contains Driver Verifier violations; inspect flags, bugcheck subcodes, and available I/O shadow…
git:20261007.790b577 · audit A · 475 stars
windbg-user-exception-triage SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-user-exception-triage/SKILL.md · Use when a native C/C++ app, service, or user-mode driver host (including UMDF) crashes with a structured exception in…
git:20261007.790b577 · audit A · 475 stars
windbg-user-heap-corruption-investigation SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-user-heap-corruption-investigation/SKILL.md · Use when an app, service, or user-mode driver host heap fails or Application Verifier detects corruption; inspect…
git:20261007.790b577 · audit A · 475 stars
windbg-user-ttd-reverse-debugging-triage SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-user-ttd-reverse-debugging-triage/SKILL.md · Use when an app, service, or user-mode driver host TTD recording is available and earlier calls, writes, or lifetimes…
git:20261007.790b577 · audit A · 475 stars
windbg-user-virtual-memory-exhaustion SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-user-virtual-memory-exhaustion/SKILL.md · Use when a native app, service, or user-mode driver host allocation fails; distinguish VA exhaustion, fragmentation…
git:20261007.790b577 · audit A · 475 stars
windbg-user-wait-chain-analysis SKILL.md skill
microsoft/win-dev-skills · plugins/windbg/skills/windbg-user-wait-chain-analysis/SKILL.md · Use when an app, service, or user-mode driver host is unresponsive on locks, COM/RPC, I/O, or another process; follow…
git:20261007.790b577 · audit A · 475 stars
sample-skill SKILL.md skill
microsoft/win-dev-skills · scripts/tests/fixtures/local-plugin/plugins/sample/skills/sample-skill/SKILL.md · Sample skill used to test the catalog tooling. Use when testing CI. Not for real work.
git:20261007.ff081af · audit A · 475 stars

Every file in microsoft/win-dev-skills

Browse by kind, by grade A, or by owner.