m07-concurrency

Diagnose and fix Rust concurrency issues across threads and async tasks.

3|Updated Mar 22, 2026
One-click install
npx skills add https://github.com/0xharryriddle/codex-field-kit --skill m07-concurrency-0xharryriddle
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: m07-concurrency
Source: https://github.com/0xharryriddle/codex-field-kit/tree/main/archive/upstream/chasebuild-agent-skills/rust/skills/m07-concurrency
Command: npx skills add https://github.com/0xharryriddle/codex-field-kit --skill m07-concurrency-0xharryriddle

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Rust developers often struggle with designing safe and efficient concurrency, including Send/Sync constraints, cross-thread data sharing, and correct async patterns.

Core Features & Use Cases

  • Guidance on selecting primitives (Arc, Mutex, RwLock, channels) for safe shared state.
  • Structured patterns for async vs. thread-based concurrency, including error handling and anti-patterns.
  • Domain-agnostic strategies for tracing, guardrails, and robust concurrency design in real-world applications.

Quick Start

Analyze a Rust project to identify Send/Sync violations and implement safe sharing using Arc and Mutex.

Frequently Asked Questions about m07-concurrency

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

FAQPage Schema
How do I fix Rust async future not Send errors and E0277 violations?▼

Fix Rust async future not Send errors by diagnosing cross-thread data sharing violations and applying correct async task management patterns to ensure safety guarantees across std::thread, Arc, and Mutex.

When do I need Arc and Mutex for cross-thread data sharing in Rust?▼

You need Arc and Mutex for cross-thread data sharing in Rust when multiple threads require safe concurrent access to shared state, ensuring synchronization and preventing data races across std::thread boundaries.

What is the best way to choose between RwLock and channels for Rust concurrency?▼

The best way to choose between RwLock and channels involves evaluating async task management requirements, selecting primitives based on read-heavy access patterns versus message-passing needs for robust concurrent code.

Why does my Rust async task fail Send checks across thread boundaries?▼

Rust async tasks fail Send checks when shared state lacks thread-safe synchronization, requiring structured async patterns and domain-guided tracing to identify anti-patterns and implement safe cross-thread data sharing.

Can I use std::thread with Tokio async tasks for concurrent Rust code?▼

You can use std::thread with Tokio async tasks by applying structured patterns for async versus thread-based concurrency, ensuring correct error handling and safety guarantees across mixed concurrency models.

What are common anti-patterns when designing Rust concurrency with Arc and Mutex?▼

Common anti-patterns when designing Rust concurrency with Arc and Mutex include improper guardrail usage and unsafe cross-thread data sharing, which domain-agnostic strategies and best-practice templates resolve for production-grade concurrent code.