# rust-systems-programming

A skill on systems Rust: ownership, borrowing, threads, async, unsafe and performance. Useful when you write low-level code or port C/C++.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 485 installs · ★ 62
- Author: manutej
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-backend-toolkit/skills/rust-systems-programming/SKILL.md
- Updated: 2026-06-13
- HTML: https://affpapa.org/en/nevibecode/skills/rust-systems-programming

## What it does

The skill walks through ownership and borrowing with code: moving a value, `Copy` types, mutable and immutable references, lifetimes. Then it covers `Rc<RefCell<T>>` for single-threaded sharing and `Arc<T>` for threads, plus `Box<T>` for heap allocation.

Concurrency gets channels via `mpsc`, `Mutex`, `RwLock` and `Arc`. One example shows a data race on `static mut` and how ThreadSanitizer catches it with `RUSTFLAGS=-Zsanitizer=thread`. The async/await section starts and then stops at the first snippet, so do not expect a full async walkthrough.

Install is one command through `npx skills add`, and the file lands at `~/.claude/skills/rust-systems-programming/SKILL.md`. Nothing else to configure, but the examples assume a Rust compiler, and the sanitizer run needs a nightly toolchain.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill rust-systems-programming -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/rust-systems-programming/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/rust-systems-programming/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill rust-systems-programming -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/rust-systems-programming/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill rust-systems-programming -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/rust-systems-programming/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install manutej/luxor-claude-marketplace rust-systems-programming
```

2. **Manually: put the files in place**
- File: `.github/skills/rust-systems-programming/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill rust-systems-programming -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/manutej/luxor-claude-marketplace --path plugins/luxor-backend-toolkit/skills/rust-systems-programming
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/rust-systems-programming/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill rust-systems-programming -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-backend-toolkit/skills/rust-systems-programming/SKILL.md

## When to use it
- understand why the compiler rejects a moved value
- pick between `Rc` and `Arc` for shared state
- build a multithreaded counter without races
- track down a data race in `static mut` with ThreadSanitizer
- port a chunk of C or C++ to safe Rust

## Example prompts
- explain why this code fails to compile: the value was moved and I read it after
- show me how to share a counter across threads with `Arc<Mutex<T>>`
- how do I catch a data race in `static mut` using ThreadSanitizer?

## Similar
- [rust-async-patterns](https://affpapa.org/en/nevibecode/skills/rust-async-patterns.md) — skill · 20625 installs
- [rust-patterns](https://affpapa.org/en/nevibecode/skills/rust-patterns.md) — skill · 5100 installs
- [rust](https://affpapa.org/en/nevibecode/skills/mindrally-rust.md) — skill · 778 installs
- [rust-pro](https://affpapa.org/en/nevibecode/agents/rust-pro.md) — subagent · 1148 installs
- [rust-engineer](https://affpapa.org/en/nevibecode/agents/rust-engineer.md) — subagent · 262 installs
- [rust-router](https://affpapa.org/en/nevibecode/skills/rust-router.md) — skill · 2700 installs

From the same set: [manutej/luxor-claude-marketplace](https://affpapa.org/en/nevibecode/by/manutej/luxor-claude-marketplace.md) — 31 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
