async-concurrency-correctness

Diagnose deadlocks, race conditions, and resource exhaustion in asynchronous systems.

9|3|Updated Jun 13, 2026
One-click install
npx skills add https://github.com/Sir-chawakorn/sanook-cli --skill async-concurrency-correctness
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: async-concurrency-correctness
Source: https://github.com/Sir-chawakorn/sanook-cli/tree/main/skills/async-concurrency-correctness
Command: npx skills add https://github.com/Sir-chawakorn/sanook-cli --skill async-concurrency-correctness

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill resolves complex concurrency issues such as deadlocks, race conditions, and performance bottlenecks in asynchronous and multi-threaded environments.

Core Features & Use Cases

  • Runtime-Specific Debugging: Provides tailored guidance for Python asyncio, Node.js, Rust tokio, and Go concurrency models.
  • Safety Guardrails: Identifies dangerous patterns like holding locks across await points, unbounded fan-out, and improper cancellation handling.
  • Verification Strategies: Offers robust testing methodologies including stress testing, race detection, and leak analysis to ensure production-grade stability.

Quick Start

Analyze my current implementation of the worker pool in the provided Rust code to identify potential deadlocks or task leaks.

Frequently Asked Questions about async-concurrency-correctness

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix a deadlock in async Python asyncio or Rust tokio code?

To fix an async deadlock, you must identify dangerous patterns like holding locks across await points. This Skill analyzes your implementation to locate task leaks and resolve such concurrency blocks in environments like Python asyncio or Rust tokio.

What causes race conditions in event-loop architectures?

Race conditions in event-loop architectures are caused by unsafe shared state access and improper task cancellation. Diagnosing these concurrency defects requires rigorous verification protocols to ensure thread safety and proper backpressure.

How do I debug resource exhaustion in multi-threaded Go programs?

Debug resource exhaustion in multi-threaded Go programs by applying stress testing and leak analysis. This process identifies unbounded fan-out and improper cancellation handling to ensure production-grade stability.

Does this concurrency debugging approach work with Node.js and TypeScript?

Yes, this concurrency debugging approach works with Node.js and TypeScript. It provides runtime-specific debugging guidance tailored to Node.js concurrency models to eliminate deadlocks and race conditions.

What is the best way to verify thread safety and proper backpressure in async systems?

The best way to verify thread safety and proper backpressure is implementing robust testing methodologies. Stress testing, race detection, and leak analysis ensure reliable task cancellation and production-grade stability.

When should I not hold locks across await points in asynchronous systems?

You should never hold locks across await points in asynchronous systems because it creates dangerous blocking patterns. Avoiding this practice prevents deadlocks and resource exhaustion in multi-threaded or event-loop architectures.