Skip to main content
skill CX Codex

m07-concurrency — Claude Code skill for Rust concurrency

Guides Rust concurrency and async decisions, from Send/Sync errors to locks and channels. Use it when spawned tasks, shared state, or deadlocks need design review.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add actionbook/rust-skills --skill m07-concurrency -a claude-code
Open on GitHub

What m07-concurrency does

This skill guides Rust concurrency and async work by separating CPU-bound work from I/O-bound work, then checking how data is shared. It points CPU parallelism toward std::thread or rayon, while I/O concurrency uses async/await with tokio or async-std.

It helps select Arc<T> for immutable sharing, Arc<Mutex<T>> or Arc<RwLock<T>> for mutable state, channels for message passing, and atomic types for simple operations. It also covers E0277, a future is not Send, lock ordering, and a MutexGuard that remains alive across await.

The skill asks whether a type should cross thread boundaries before adding Send or wrapping it in a lock. Holding a lock across await can hold up other tasks, so that is a reason to tighten the guard's scope.

What it helps with

  • diagnose an E0277 Send or Sync error
  • choose threads or async/await for Rust work
  • share state across threads with channels
  • keep MutexGuard out of an await scope
  • trace a deadlock to lock ordering

Example prompts for the agent

  • Analyse this E0277 error: my type cannot be sent between threads.
  • I need parallel CPU work in Rust. Should this use std::thread or rayon?
  • Check why this future is not Send after await in tokio::spawn.

How to install m07-concurrency

1Skills CLI (Vercel)

npx skills add actionbook/rust-skills --skill m07-concurrency -a claude-code

2Manually: put the files in place

~/.claude/skills/m07-concurrency/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/m07-concurrency/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about m07-concurrency

How do I install m07-concurrency in Claude Code?

Run npx skills add actionbook/rust-skills --skill m07-concurrency -a claude-code, then run npx skills add actionbook/rust-skills --skill m07-concurrency -a claude-code again. The skill file is at ~/.claude/skills/m07-concurrency/SKILL.md.

What does m07-concurrency do?

It guides design choices for concurrent and async Rust code, including threads, Send, Sync, futures, locks, and channels. It also helps investigate common compiler and runtime issues around shared state.

How does it choose between Mutex, RwLock, and channels?

For mutable shared state, it considers Mutex or RwLock; RwLock is suited to read-heavy shared access. When state does not need to be shared, it points to message passing through channels.

Similar skills

All skills for Programming languages →

From the same set35

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor