agentsclimarketplace

Minimize rust ffi crate surface

Skill ComeOnOliver/skillshub/skills/RediSearch/RediSearch/minimize-rust-ffi-crate-surface

🧠 The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.From the repository description

Install
npx -y skills add ComeOnOliver/skillshub --skill minimize-rust-ffi-crate-surface

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.3 KB, 340 tokens by cl100k_base, as published. Nobody here has run it

Minimize Rust FFI Crate Surface

Remove C symbols defined in a Rust FFI crate or file that are either unused or only used in C/C++ unit tests.

Arguments

  • <path>: Path to the Rust crate or file.
  • <path 1> <path 2>: Multiple Rust crates/files.

If the path doesn't start with src/, assume it to be in the src/redisearch_rs/c_entrypoint directory. E.g. numeric_range_tree_ffi becomes src/redisearch_rs/numeric_range_tree_ffi. If the path points to a directory, review the documentation of all Rust files in that directory.

Instructions

  • Use analyze-rust-ffi-crate-surface to enumerate and analyze the usage of all the FFI symbols exposed by the Rust crate or file (e.g. extern "C" fn annotated with #[unsafe(no_mangle)] or type definitions).
  • For each unused symbol:
    • Delete its Rust definition.
    • Run C/C++ unit tests to ensure the symbol was indeed unused (via ./build.sh RUN_UNIT_TESTS)
  • For each symbol that is only used in C/C++ unit tests, elaborate a plan to either:
    • Refactor the C/C++ unit tests not to use it.
    • Remove the C/C++ unit tests (or assertions) that rely on it, since they are prying into the implementation details of the Rust crate.
    • Keep the symbol, but mark it as "test only" in the Rust documentation.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.