К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

rust-engineer — скилл для Claude Code: что делает и как установить

Направляет агента писать и проверять идиоматичный код на Rust 2021. Помогает настроить времена жизни, связать трейты и развернуть асинхронный сервис на tokio.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Jeffallan/claude-skills --skill rust-engineer -a claude-code
Открыть на GitHub

Что делает rust-engineer

Скилл задаёт строгие правила для программ на Rust 2021. Лишние аллокации отсекаются сразу. Модель сначала выстраивает времена жизни ссылок и трейты, а не клонирует буферы при первой претензии компилятора. Если функции хватает среза байтов, в коде появится &[u8], а не Vec<u8>.

Для ошибок настраивается Result с оператором ? и перечислениями на thiserror. Асинхронные задачи скилл выстраивает вокруг рантайма tokio, требуя не смешивать блокирующий ввод-вывод с асинхронным контекстом. Вызовы unwrap() в рабочем коде прямо запрещены, поэтому модель вынуждена сразу обрабатывать сбои штатно.

Проверка опирается на cargo clippy --all-targets --all-features и cargo test. Любой блок unsafe здесь обязательно сопровождается описанием инвариантов безопасности.

Какие задачи решает

  • исправить ошибки borrow checker и расставить явные времена жизни
  • спроектировать API на базе трейтов, дженериков и ассоциированных типов
  • написать асинхронный сервис на базе tokio без блокирующих вызовов
  • оформить обработку ошибок через Result и макросы thiserror
  • документировать инварианты безопасности для блоков unsafe

Примеры запросов агенту

  • Помоги исправить ошибки владения и расставить времена жизни в парсере: src/parser.rs
  • Спроектируй клиент API на tokio с кастомным перечислением ошибок через thiserror
  • Проверь модуль с FFI-биндингами и опиши инварианты безопасности для блоков unsafe

Как установить rust-engineer

1Через Skills CLI (Vercel)

npx skills add Jeffallan/claude-skills --skill rust-engineer -a claude-code

2Вручную: положить файлы

~/.claude/skills/rust-engineer/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/rust-engineer/

Из того же набора61

Весь набор →
laravel-specialist https://github.com/Jeffallan Настраивает агента на разработку бэкенда на Laravel 10+ и PHP 8.2+. Помогает писать модели Eloquent, очереди Horizon, API resources и тесты Pest. Claude Code CX Codex Cursor +1 23 300установок golang-pro https://github.com/Jeffallan Скилл помогает писать идиоматичный Go: разбирать конкурентный код, строить микросервисы и проверять производительность. Пригодится для goroutines, gRPC и тестов. Claude Code CX Codex Cursor +1 18 900установок php-pro https://github.com/Jeffallan Задаёт правила разработки на PHP 8.3+ для Laravel и Symfony: включает strict_types, анализ в PHPStan на уровне 9 и тесты PHPUnit или Pest. Claude Code CX Codex Cursor +1 15 500установок flutter-expert https://github.com/Jeffallan Скилл для разработки кросс-платформных приложений на Flutter 3+ и Dart. Помогает с виджетами, управлением состоянием через Riverpod или Bloc, маршрутизацией GoRouter и оптимизацией производительности. Claude Code CX Codex Cursor +1 14 300установок typescript-pro https://github.com/Jeffallan Настраивает строгую типизацию TypeScript, генерирует брендированные типы и связывает tRPC. Пригодится при проектировании надёжных API и сложных generic-структур. Claude Code CX Codex Cursor +1 14 200установок kubernetes-specialist https://github.com/Jeffallan Скилл помогает создавать и проверять Kubernetes-манифесты, настраивать безопасность и разбирать сбои подов. Пригодится для деплоя и сопровождения кластерных workloads. Claude Code CX Codex Cursor +1 14 100установок devops-engineer https://github.com/Jeffallan Скилл создаёт Dockerfile, CI/CD-конфигурации и манифесты Kubernetes. Нужен для инфраструктуры, деплоя и разбора инцидентов. Claude Code CX Codex Cursor +1 11 200установок wordpress-pro https://github.com/Jeffallan Скилл помогает разрабатывать темы и плагины WordPress, блоки Gutenberg и магазины WooCommerce. Нужен для задач с REST API, хуками, безопасностью и производительностью. Claude Code CX Codex Cursor +1 9 700установок

Похожие

ctf-forensics ljagiello Набор техник цифровой криминалистики и анализа сигналов для CTF: образы дисков, дампы памяти, PCAP, стеганография, Windows-артефакты и side-channel атаки. Claude Code CX Codex Cursor +1 9 000установок bash-scripting sickn33 Пошаговый план разработки shell-скриптов с защитными паттернами и тестами на Bats. Claude Code CX Codex Cursor +1 2 400установок gpui-kit longbridge Скилл обучает ИИ-агентов правилам разработки десктопных приложений на Rust через крейт gpui-kit. Помогает собирать интерфейсы, настраивать фокус, темы и писать тесты. Claude Code CX Codex Cursor +1 1 000установок codebase-inspection Hermes Agent Считает строки кода, файлы и языки в репозитории через pygount. Пригодится для оценки размера и состава проекта. Claude Code CX Codex Cursor +1 420установок microsoft-agent-framework официальный github Помогает создавать и разбирать приложения, агентов и рабочие процессы на Microsoft Agent Framework. Пригодится и для миграции с Semantic Kernel или AutoGen. GitHub Copilot 1 900установок migrate-to-shoehorn Matt Pocock Переводит type assertions с as в тестах на функции из @total-typescript/shoehorn. Нужен для частичных объектов и намеренно неверных данных в проверках. Claude Code 475 388установок write-swift emilkowalski Скилл помогает писать, проверять и переносить код на Swift с учётом модели языка. Подойдёт, когда нужно разобраться с конкурентностью, ошибкой или циклом удержания объектов. Claude Code CX Codex Cursor +1 117 500установок megacave JuliusBrussee Переводит ответы ассистента на классический китайский язык (вэньянь) для экономии места на экране. Активируется командами /megacave или /caveman wenyan. Claude Code CX Codex Cursor +1 24 400установок

Вопросы о rust-engineer

Как установить rust-engineer в Claude Code?

Выполните команду npx skills add Jeffallan/claude-skills --skill rust-engineer -a claude-code в терминале.

Что делает скилл rust-engineer?

Он направляет ИИ-агента писать код по стандартам Rust 2021 с акцентом на безопасность памяти, иерархию трейтов и тесты.

Почему rust-engineer запрещает unwrap в коде?

Скилл исключает аварийные завершения в продакшене, требуя возвращать Result либо фиксировать причину сбоя через expect().

Исходный текст

SKILL.md · MIT
---
name: rust-engineer
description: Writes, reviews, and debugs idiomatic Rust code with memory safety and zero-cost abstractions. Implements ownership patterns, manages lifetimes, designs trait hierarchies, builds async applications with tokio, and structures error handling with Result/Option. Use when building Rust applications, solving ownership or borrowing issues, designing trait-based APIs, implementing async/await concurrency, creating FFI bindings, or optimizing for performance and memory safety. Invoke for Rust, Cargo, ownership, borrowing, lifetimes, async Rust, tokio, zero-cost abstractions, memory safety, systems programming.
license: MIT
metadata:
  author: https://github.com/Jeffallan
  company: https://synergetic.solutions
  version: "1.1.0"
  domain: language
  triggers: Rust, Cargo, ownership, borrowing, lifetimes, async Rust, tokio, zero-cost abstractions, memory safety, systems programming
  role: specialist
  scope: implementation
  output-format: code
  related-skills: test-master
---

# Rust Engineer

Senior Rust engineer with deep expertise in Rust 2021 edition, systems programming, memory safety, and zero-cost abstractions. Specializes in building reliable, high-performance software leveraging Rust's ownership system.

## Core Workflow

1. **Analyze ownership** — Design lifetime relationships and borrowing patterns; annotate lifetimes explicitly where inference is insufficient
2. **Design traits** — Create trait hierarchies with generics and associated types
3. **Implement safely** — Write idiomatic Rust with minimal unsafe code; document every `unsafe` block with its safety invariants
4. **Handle errors** — Use `Result`/`Option` with `?` operator and custom error types via `thiserror`
5. **Validate** — Run `cargo clippy --all-targets --all-features`, `cargo fmt --check`, and `cargo test`; fix all warnings before finalising

## Reference Guide

Load detailed guidance based on context:

| Topic | Reference | Load When |
|-------|-----------|-----------|
| Ownership | `references/ownership.md` | Lifetimes, borrowing, smart pointers, Pin |
| Traits | `references/traits.md` | Trait design, generics, associated types, derive |
| Error Handling | `references/error-handling.md` | Result, Option, ?, custom errors, thiserror |
| Async | `references/async.md` | async/await, tokio, futures, streams, concurrency |
| Testing | `references/testing.md` | Unit/integration tests, proptest, benchmarks |

## Key Patterns with Examples

### Ownership & Lifetimes

```rust
// Explicit lifetime annotation — borrow lives as long as the input slice
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
    if x.len() > y.len() { x } else { y }
}

// Prefer borrowing over cloning
fn process(data: &[u8]) -> usize {   // &[u8] not Vec<u8>
    data.iter().filter(|&&b| b != 0).count()
}
```

### Trait-Based Design

```rust
use std::fmt;

trait Summary {
    fn summarise(&self) -> String;
    fn preview(&self) -> String {          // default implementation
        format!("{}...", &self.summarise()[..50])
    }
}

#[derive(Debug)]
struct Article { title: String, body: String }

impl Summary for Article {
    fn summarise(&self) -> String {
        format!("{}: {}", self.title, self.body)
    }
}
```

### Error Handling with `thiserror`

```rust
use thiserror::Error;

#[derive(Debug, Error)]
pub enum AppError {
    #[error("I/O error: {0}")]
    Io(#[from] std::io::Error),
    #[error("parse error for value `{value}`: {reason}")]
    Parse { value: String, reason: String },
}

// ? propagates errors ergonomically
fn read_config(path: &str) -> Result<String, AppError> {
    let content = std::fs::read_to_string(path)?;  // Io variant via #[from]
    Ok(content)
}
```

### Async / Await with Tokio

```rust
use tokio::time::{sleep, Duration};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let result = fetch_data("https://example.com").await?;
    println!("{result}");
    Ok(())
}

async fn fetch_data(url: &str) -> Result<String, reqwest::Error> {
    let body = reqwest::get(url).await?.text().await?;
    Ok(body)
}

// Spawn concurrent tasks — never mix blocking calls into async context
async fn parallel_work() {
    let (a, b) = tokio::join!(
        sleep(Duration::from_millis(100)),
        sleep(Duration::from_millis(100)),
    );
}
```

### Validation Commands

```bash
cargo fmt --check                          # style check
cargo clippy --all-targets --all-features  # lints
cargo test                                 # unit + integration tests
cargo test --doc                           # doctests
cargo bench                                # criterion benchmarks (if present)
```

## Constraints

### MUST DO
- Use ownership and borrowing for memory safety
- Minimize unsafe code (document all unsafe blocks with safety invariants)
- Use type system for compile-time guarantees
- Handle all errors explicitly (`Result`/`Option`)
- Add comprehensive documentation with examples
- Run `cargo clippy` and fix all warnings
- Use `cargo fmt` for consistent formatting
- Write tests including doctests

### MUST NOT DO
- Use `unwrap()` in production code (prefer `expect()` with messages)
- Create memory leaks or dangling pointers
- Use `unsafe` without documenting safety invariants
- Ignore clippy warnings
- Mix blocking and async code incorrectly
- Skip error handling
- Use `String` when `&str` suffices
- Clone unnecessarily (use borrowing)

## Output Templates

When implementing Rust features, provide:
1. Type definitions (structs, enums, traits)
2. Implementation with proper ownership
3. Error handling with custom error types
4. Tests (unit, integration, doctests)
5. Brief explanation of design decisions

## Knowledge Reference

Rust 2021, Cargo, ownership/borrowing, lifetimes, traits, generics, async/await, tokio, Result/Option, thiserror/anyhow, serde, clippy, rustfmt, cargo-test, criterion benchmarks, MIRI, unsafe Rust

Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)

[Documentation](https://jeffallan.github.io/claude-skills/skills/language/rust-engineer/)

© https://github.com/Jeffallan · MIT · Jeffallan/claude-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой