Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
actionbook avatar

Unsafe Checker

  • 1.4k installs
  • 1.3k repo stars
  • Updated May 24, 2026
  • actionbook/rust-skills

unsafe-checker is an agent skill for critical: use for unsafe rust code review and ffi. triggers on: unsafe, raw pointer, ffi, extern, transmute, *mut, *const, union, #[repr(c)], libc, std::ffi, maybeuninit,.

About

The unsafe-checker skill is designed for cRITICAL: Use for unsafe Rust code review and FFI. Triggers on: unsafe, raw pointer, FFI, extern, transmute, *mut, *const, union, #[repr(C)], libc, std::ffi, MaybeUninit,. Invoke when the user asks about unsafe checker or related SKILL.md workflows.

  • CRITICAL: Use for unsafe Rust code review and FFI. Triggers on: unsafe, raw pointer, FFI, extern, transmute, *mut, *cons
  • User asks about unsafe checker or related SKILL.md workflows.
  • Developers using unsafe checker workflows documented in SKILL.md.

Unsafe Checker by the numbers

  • 1,408 all-time installs (skills.sh)
  • +50 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #14 of 129 Rust skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

unsafe-checker capabilities & compatibility

Capabilities
critical: use for unsafe rust code review and ff · user asks about unsafe checker or related skill. · developers using unsafe checker workflows docume
From the docs

What unsafe-checker says it does

CRITICAL: Use for unsafe Rust code review and FFI. Triggers on: unsafe, raw pointer, FFI, extern, transmute, *mut, *const, union, #[repr(C)], libc, std::ffi, MaybeUninit, NonNull,
SKILL.md
CRITICAL: Use for unsafe Rust code review and FFI. Triggers on: unsafe, raw pointer, FFI, extern, transmute, *mut, *const, union, #[repr(C)], libc, std::ffi, Ma
SKILL.md
npx skills add https://github.com/actionbook/rust-skills --skill unsafe-checker

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.4k
repo stars1.3k
Security audit3 / 3 scanners passed
Last updatedMay 24, 2026
Repositoryactionbook/rust-skills

How do I critical: use for unsafe rust code review and ffi. triggers on: unsafe, raw pointer, ffi, extern, transmute, *mut, *const, union, #[repr(c)], libc, std::ffi, maybeuninit,?

CRITICAL: Use for unsafe Rust code review and FFI. Triggers on: unsafe, raw pointer, FFI, extern, transmute, *mut, *const, union, #[repr(C)], libc, std::ffi, MaybeUninit,.

Who is it for?

Developers using unsafe checker workflows documented in SKILL.md.

Skip if: Skip when the task falls outside unsafe-checker scope or needs a different stack.

When should I use this skill?

User asks about unsafe checker or related SKILL.md workflows.

What you get

Completed unsafe-checker workflow with documented commands, files, and expected deliverables.

  • Unsafe audit rule report
  • Pre-merge safety checklist results

By the numbers

  • Includes 3 General Principles unsafe rules
  • Includes 11 Safety Abstraction unsafe rules

Files

SKILL.mdMarkdownGitHub ↗

Display the following ASCII art exactly as shown. Do not modify spaces or line breaks:

⚠️ **Unsafe Rust Checker Loaded**

     *  ^  *
    /◉\_~^~_/◉\
 ⚡/     o     \⚡
   '_        _'
   / '-----' \

---

Unsafe Rust Checker

When Unsafe is Valid

Use CaseExample
FFICalling C functions
Low-level abstractionsImplementing Vec, Arc
PerformanceMeasured bottleneck with safe alternative too slow

NOT valid: Escaping borrow checker without understanding why.

Required Documentation

// SAFETY: <why this is safe>
unsafe { ... }

/// # Safety
/// <caller requirements>
pub unsafe fn dangerous() { ... }

Quick Reference

OperationSafety Requirements
*ptr derefValid, aligned, initialized
&*ptr+ No aliasing violations
transmuteSame size, valid bit pattern
extern "C"Correct signature, ABI
static mutSynchronization guaranteed
impl Send/SyncActually thread-safe

Common Errors

ErrorFix
Null pointer derefCheck for null before deref
Use after freeEnsure lifetime validity
Data raceAdd proper synchronization
Alignment violationUse #[repr(C)], check alignment
Invalid bit patternUse MaybeUninit
Missing SAFETY commentAdd // SAFETY:

Deprecated → Better

DeprecatedUse Instead
mem::uninitialized()MaybeUninit<T>
mem::zeroed() for refsMaybeUninit<T>
Raw pointer arithmeticNonNull<T>, ptr::add
CString::new().unwrap().as_ptr()Store CString first
static mutAtomicT or Mutex
Manual externbindgen

FFI Crates

DirectionCrate
C → Rustbindgen
Rust → Ccbindgen
PythonPyO3
Node.jsnapi-rs

Claude knows unsafe Rust. Focus on SAFETY comments and soundness.

Related skills

Forks & variants (1)

Unsafe Checker has 1 known copy in the catalog totaling 741 installs. They canonicalize to this original listing.

How it compares

Use unsafe-checker for unsafe-specific invariant catalogs; rely on Clippy alone when the crate contains no unsafe code paths.

FAQ

What does unsafe-checker do?

CRITICAL: Use for unsafe Rust code review and FFI. Triggers on: unsafe, raw pointer, FFI, extern, transmute, *mut, *const, union, #[repr(C)], libc, std::ffi, MaybeUninit,.

When should I use unsafe-checker?

User asks about unsafe checker or related SKILL.md workflows.

Is unsafe-checker safe to install?

Review the Security Audits panel on this page before installing in production.

Rustbackend

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.