CO

concurrency-patterns

Provides patterns and primitives for safe, concurrent TypeScript programming.

Install

mkdir -p .claude/skills/concurrency-patterns && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16146" && unzip -o skill.zip -d .claude/skills/concurrency-patterns && rm skill.zip

Installs to .claude/skills/concurrency-patterns

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Implement thread-safe code, mutexes, semaphores, async/await patterns, and concurrent data structures. Use when handling parallel operations, race conditions, or building high-performance concurrent systems.
207 chars✓ has a “when” trigger
Advanced

Key capabilities

  • Implement thread-safe code
  • Create mutexes and semaphores
  • Utilize async/await patterns
  • Build concurrent data structures
  • Limit concurrency to avoid resource exhaustion
  • Handle errors in concurrent operations

How it works

This skill guides the implementation of safe concurrent code by providing reference guides and best practices for synchronization primitives and patterns like promise pools, mutexes, and worker pools.

Inputs & outputs

You give it
A task that requires parallel execution or resource management
You get back
Thread-safe code, promise pools, mutexes, semaphores, or worker pools

When to use concurrency-patterns

  • Create a task-limited promise pool
  • Implement a mutex for resource locking
  • Coordinate parallel async operations
  • Prevent data corruption in concurrent flows

About this skill

Concurrency Patterns

Table of Contents

Overview

Implement safe concurrent code using proper synchronization primitives and patterns for parallel execution.

When to Use

  • Multi-threaded applications
  • Parallel data processing
  • Race condition prevention
  • Resource pooling
  • Task coordination
  • High-performance systems
  • Async operations
  • Worker pools

Quick Start

Minimal working example:

class PromisePool {
  private queue: Array<() => Promise<any>> = [];
  private active = 0;

  constructor(private concurrency: number) {}

  async add<T>(fn: () => Promise<T>): Promise<T> {
    while (this.active >= this.concurrency) {
      await this.waitForSlot();
    }

    this.active++;

    try {
      return await fn();
    } finally {
      this.active--;
    }
  }

  private async waitForSlot(): Promise<void> {
    return new Promise((resolve) => {
      const checkSlot = () => {
        if (this.active < this.concurrency) {
          resolve();
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Promise Pool (TypeScript)Promise Pool (TypeScript)
Mutex and Semaphore (TypeScript)Mutex and Semaphore (TypeScript)
Worker Pool (Node.js)Worker Pool (Node.js)
Python Threading PatternsPython Threading Patterns
Async Patterns (Python asyncio)Async Patterns (Python asyncio)
Go-Style Channels (Simulation)Go-Style Channels (Simulation)

Best Practices

✅ DO

  • Use proper synchronization primitives
  • Limit concurrency to avoid resource exhaustion
  • Handle errors in concurrent operations
  • Use immutable data when possible
  • Test concurrent code thoroughly
  • Profile concurrent performance
  • Document thread-safety guarantees

❌ DON'T

  • Share mutable state without synchronization
  • Use sleep/polling for coordination
  • Create unlimited threads/workers
  • Ignore race conditions
  • Block event loops in async code
  • Forget to clean up resources

When not to use it

  • When sharing mutable state without synchronization
  • When using sleep/polling for coordination
  • When creating unlimited threads/workers

Limitations

  • Does not support sharing mutable state without synchronization
  • Does not support using sleep/polling for coordination
  • Does not support creating unlimited threads/workers

How it compares

This skill offers structured implementations and best practices for concurrency, ensuring proper synchronization and resource management, unlike ad-hoc concurrent programming.

Compared to similar skills

concurrency-patterns side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
concurrency-patterns (this skill)05moReviewAdvanced
react-component-patterns31moNo flagsIntermediate
typescript-pro34moNo flagsAdvanced
nx-generate16moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry