angular-architect
Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state…
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
Claude Code
$ npx -y skills add Jeffallan/claude-skills --skill rust-engineer --agent claude-code
Codex
$ npx skills add Jeffallan/claude-skills --skill rust-engineer -a codex -y
Cursor
$ npx skills add Jeffallan/claude-skills --skill rust-engineer -a cursor -y
Gemini CLI
$ npx skills add Jeffallan/claude-skills --skill rust-engineer -a gemini-cli -y
GitHub Copilot
$ npx skills add Jeffallan/claude-skills --skill rust-engineer -a github-copilot -y
OpenCode
$ npx skills add Jeffallan/claude-skills --skill rust-engineer -a opencode -y
Windsurf
$ npx skills add Jeffallan/claude-skills --skill rust-engineer -a windsurf -y
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
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.
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
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 |
// 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()
}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)
}
}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)
}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)),
);
}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)
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
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/jeffall
67 Specialized Skills for Full-Stack Developers. Transform Claude Code into your expert pair programmer.
Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state…
Use when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture. Invoke for resource…
Use when designing new high-level system architecture, reviewing existing designs, or making architectural decisions. Invoke to…
Integrates with Atlassian products to manage project tracking and documentation via MCP protocol. Use when querying Jira issues…
Designs chaos experiments, creates failure injection frameworks, and facilitates game day exercises for distributed systems —…
Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for parsing flags and…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.