This one walks you through C++ and Rust memory models when you're writing lock-free code or trying to pick the right ordering for atomic operations. It covers the spectrum from relaxed to seq_cst, explains acquire-release semantics with concrete examples, and includes practical patterns like spinlocks and reference counting. The ordering decision tree is useful: it tells you when relaxed is enough versus when you need stronger guarantees. If you've ever stared at std::atomic documentation wondering whether you need acquire or release, or debugged a race that only shows up under load, this gives you the mental model to reason about it. The common mistakes section alone will save you from the volatile trap.
npx skills add https://github.com/mohitmishra786/low-level-dev-skills --skill memory-model