rust
Write and change Rust the way THIS workspace already does it, NOT by generic defaults — a systems-programming reference carrying the real crate boundaries, error model, and conventions for storage engines, binary formats, Arrow/DataFusion, search and vector indexing, async concurrency, testing, and unsafe discipline, so a change lands idiomatic and review-ready instead of merely compiling. Use when a task touches this workspace's Rust crates and should follow its systems-level conventions rather than boilerplate.
How do I install this agent skill?
npx skills add https://github.com/ulpi-io/skills --skill rustIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is a highly detailed architectural and technical reference for Rust systems programming within a specific database project workspace. It provides implementation patterns for storage engines, vector indexing, wire protocols, and spatial data structures. No malicious patterns, prompt injections, or unauthorized data access mechanisms were detected. The skill adheres to best practices, such as 'safe Rust by default' and strict documentation of unsafe code.
- Socketwarn
4 alerts: gptAnomaly, gptSecurity
- Snykpass
Risk: LOW · No issues
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Non-negotiable rules:
- Identify the subsystem before coding. Load only the relevant references.
- Safe Rust by default.
unsafeonly when justified — everyunsafeblock gets a// SAFETY:comment. - Zero-copy where possible. mmap'd segments,
&str/&[u8]references into pages. Never copy data without reason. - Error types per crate.
thiserrorenums in library crates. Neveranyhowin libraries — only in binaries/tests. - Async with tokio. All I/O is async. CPU-bound work on
spawn_blocking. Never block the tokio runtime. - Workspace crate structure. One crate per subsystem. Depend downward — never circular.
- Property tests for invariants.
proptestfor round-trips, type coercion, binary parsing. </EXTREMELY-IMPORTANT>
rust
Inputs
$request: The crate, subsystem, bug, feature, or review target
Goal
Route Rust work through the right subsystem conventions so changes follow the workspace’s systems-programming patterns instead of generic Rust defaults.
Step 0: Identify the subsystem
Decide which part of the Rust surface the task touches:
- storage engine
- binary formats
- type system
- Arrow or DataFusion
- wire protocols
- search or vectors
- arena or graph code
- geo indexing
- async or concurrency
- testing
- unsafe or error design
Success criteria: The task is mapped to the right subsystem before references are loaded.
Step 1: Load only the relevant references
Use the routing table to pick the matching files. Do not bulk-load the full reference tree.
| Task / Area | Read |
|---|---|
| Toolchain, workspace layout, key crates, Cargo conventions | references/stack.md |
| WAL, mmap, segments, MVCC, compaction, io_uring, backends | references/storage-engine.md |
| Custom on-disk formats, zero-copy parsing, packed structs | references/binary-formats.md |
| Database type system, disk/exec types, Arrow interop | references/type-system.md |
| DataFusion table providers, UDFs, Arrow RecordBatch, planning | references/datafusion-arrow.md |
| pgwire server, MySQL protocol, dialect mapping, ORM compat | references/wire-protocols.md |
| tantivy FTS, HNSW vectors, SIMD distance, hybrid search | references/search-vector.md |
| bumpalo arenas, graph adjacency, traversal algorithms | references/arena-graph.md |
| R-tree spatial index, geo predicates, WGS84 distance | references/geo-rtree.md |
| tokio async, io_uring, crossbeam, lock-free structures, MVCC | references/async-concurrency.md |
| proptest, deterministic testing, integration test patterns | references/testing.md |
| thiserror hierarchies, unsafe patterns, safety invariants | references/error-unsafe.md |
Multiple tasks? Read multiple files.
Success criteria: Only the subsystem-relevant Rust guidance is active.
Step 2: Implement with the core Rust guardrails
Keep these rules active:
- safe Rust by default;
unsafeonly when justified with// SAFETY: - error types match crate boundaries (
thiserrorin libs,anyhowonly in bins/tests) - async code does not block the runtime; CPU work on
spawn_blocking - owned vs borrowed data choices are deliberate; prefer
&[u8]overVec<u8>in signatures - explicit
useimports — no glob imports except in test modules #[must_use]on functions returningResultor computed values#[inline]only on small functions in hot loops — never on public APISend + Syncbounds on trait objects crossing async boundaries#[derive(Debug)]on all public types;#[derive(Clone)]only when cheap- feature flags for optional crate deps —
#[cfg(feature = "...")] - tests match the risk: unit, integration, property, snapshot, or domain-specific verification
Success criteria: The implementation fits the workspace’s systems-level quality bar.
Step 3: Verify the change
Use the narrowest relevant verification loop:
cargo fmtcargo clippy -- -D warnings- focused crate tests
- subsystem-specific tests such as proptest or snapshots when appropriate
Success criteria: The Rust surface is validated the way this workspace expects.
Guardrails
- Do not inline the whole Rust handbook in
SKILL.md. - Do not skip subsystem identification.
- Do not use
anyhowin library crates unless the project specifically allows it there. - Do not add
disable-model-invocation; this is a normal domain skill. - Do not leave unsafe invariants undocumented.
When To Load References
-
references/stack.mdUse for workspace/toolchain context. -
then only the task-relevant subsystem files under
references/
Output Contract
Report:
- which Rust references were loaded
- the subsystem pattern applied
- the change made
- the verification run
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/ulpi-io/skills/rust">View rust on skillZs</a>