deadlock-finder-and-fixer

Diagnose concurrency deadlocks and apply canonical fixes from the Fix Catalog.

83|9|Updated May 6, 2026
One-click install
npx skills add https://github.com/compozy/skeeper --skill deadlock-finder-and-fixer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: deadlock-finder-and-fixer
Source: https://github.com/compozy/skeeper/tree/main/.agents/skills/deadlock-finder-and-fixer
Command: npx skills add https://github.com/compozy/skeeper --skill deadlock-finder-and-fixer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Deadlocks and related concurrency hazards stall software and are hard to diagnose in large codebases; this skill provides structured guidance to locate, classify, and fix them.

Core Features & Use Cases

  • Classify symptoms into the Nine Classes taxonomy (Class 1-9) using the Symptom Triage Table.
  • Build runtime lock-wait graphs from thread dumps to prove deadlocks.
  • Use Exhaust-Search to find all instances of a hazard and apply canonical fixes from the Fix Catalog.
  • Guidance for prevention-by-design patterns (structured concurrency, single-writer, two-phase channels) to avoid recurrence.

Quick Start

Analyze a hung process by capturing a thread dump, classifying the symptom, generating the lock-wait graph, and applying the Exhaust-Search flow to exhaustively locate all hazards.

Frequently Asked Questions about deadlock-finder-and-fixer

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

FAQPage Schema
How do I diagnose a concurrency deadlock in a multi-threaded application?

Diagnose a concurrency deadlock by capturing a thread dump of the hung process, classifying the symptom using the Nine Classes taxonomy, and generating a runtime lock-wait graph to prove the deadlock exists. You can then apply the Exhaust-Search flow to locate all hazards.

What is the best way to find all deadlock hazards in a large codebase?

The best way to find all deadlock hazards is using a static-audit recipe combined with exhaustive hazard discovery, which systematically locates every instance of locks held across waits or awaits for comprehensive code coverage. Canonical fixes from the Fix Catalog can then be applied.

Can I use deadlock analysis techniques for Rust, Go, and C/C++ applications?

Yes, deadlock analysis applies to Rust, C/C++, and Go applications, as well as across process boundaries. It handles locks held across waits or awaits in various multi-threaded software environments.

How do I fix and prevent concurrency deadlocks from happening again?

Fix deadlocks by applying canonical fixes from the Fix Catalog. Prevent recurrence by adopting prevention-by-design patterns like structured concurrency, single-writer models, and two-phase channels to avoid future hazards.

Why does my multi-threaded process hang and how do I classify the deadlock symptom?

A multi-threaded process hangs due to concurrency hazards like deadlocks, classifiable into the Nine Classes taxonomy using the Symptom Triage Table to identify the specific lock-wait issue before generating a lock-wait graph.