igmarin/rust-core-skills · Archived

rust-essentials

MANDATORY before any .rs write. FCIS, ponytail ladder, parse-at-boundary, Result + ?, iterators, match, naming. Trigger: rust, FCIS, idiomatic rust, ownership intro, Result, newtype, clippy.

First seen Aug 21, 2026

Installation

$ npx skills add igmarin/rust-core-skills --skill rust-essentials

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from igmarin/rust-core-skills.

npx skills add igmarin/rust-core-skills

Browse all from igmarin/rust-core-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
LicenseMIT
More metadata
version
1.0.0
user-invocable
true

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,391 B
  • docs SUMMARY.md 213 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Rust essentials

Canonical: [docs/fcis-rust.md](../../docs/fcis-rust.md)

Goal

Every .rs change follows FCIS and the ponytail ladder.

Inputs / outputs

  • In: current crate + the behaviour to change
  • Out: Rust that compiles, no extra crates, illegal states unrepresentable

Reads / writes

  • Read: Cargo.toml, files the task already opened, docs/fcis-rust.md in this pack
  • Write: none unless a playbook opened the task

Approval

Adding a dependency, unsafe, or toolchain install.

RULES — no exceptions

  1. Apply [docs/fcis-rust.md](../../docs/fcis-rust.md) (ladder + six FCIS rules). Do not restate them here.
  2. Names: types UpperCamelCase, fns snakecase, consts SCREAMINGSNAKE; acronyms as words (HttpServer)
  3. Never skip: trust-boundary parse, Result, // SAFETY:, one failing test for non-trivial logic

Example

// ❌
fn bind(port: u16) -> std::net::SocketAddr {
    format!("127.0.0.1:{port}").parse().unwrap()
}

// ✅
use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4};
use std::num::NonZeroU16;

fn bind(port: NonZeroU16) -> SocketAddr {
    SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::LOCALHOST, port.get()))
}

Steps

  1. Load this skill + docs/fcis-rust.md
  2. If the crate exists, run load-context first
  3. Apply RULES to the diff; do not add types/traits “for later”

Validation

RED: cargo test <test_name> -- --exact. Done: commands in docs/skill-authoring.md (fmt, clippy --all-targets -D warnings, cargo test). No new deps. No unwrap on recoverable paths.

Pitfalls

❌ ✅
New crate for what std does std / existing dep
bool pairs for states enum
Clone to please borrowck restructure or borrow
Essay comments the type and the test

Integration

Predecessor This Successor
load-context rust-essentials ownership-borrowing, type-driven-design, error-handling
playbook tdd rust-essentials implementation after HITL