Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    laurigates

    cargo-machete

    laurigates/cargo-machete
    Coding
    5

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Detect unused dependencies in Rust projects for cleaner Cargo.toml files and faster builds. Use when auditing dependencies, optimizing build times, cleaning up Cargo.toml, or detecting bloat. Trigger...

    SKILL.md

    cargo-machete - Unused Dependency Detection

    Detect and remove unused dependencies in Rust projects using cargo-machete.

    When to Use This Skill

    Use this skill when... Use X instead when...
    Auditing for unused dependencies Checking for outdated deps -- use cargo outdated
    Cleaning up Cargo.toml Auditing security vulnerabilities -- use cargo audit
    Optimizing build times by removing bloat Checking license compliance -- use cargo deny
    Verifying deps in CI Need nightly-accurate analysis -- use cargo +nightly udeps

    Context

    • Cargo.toml: !find . -maxdepth 1 -name \'Cargo.toml\'
    • Workspace: !grep -q '\[workspace\]' Cargo.toml
    • cargo-machete installed: !cargo machete --version
    • Machete config: !find . -maxdepth 1 -name \'.cargo-machete.toml\'
    • Workspace members: !grep -A 20 '^\[workspace\]' Cargo.toml

    Execution

    Execute this unused dependency analysis:

    Step 1: Verify installation

    Check if cargo-machete is installed (see Context above). If not installed, install it:

    cargo install cargo-machete
    

    Step 2: Run dependency analysis

    Run cargo-machete with metadata for detailed output:

    # Single crate
    cargo machete --with-metadata
    
    # Workspace (if Context shows workspace)
    cargo machete --workspace --with-metadata
    

    Step 3: Evaluate results

    Review the output and classify each finding:

    Finding Action
    Genuinely unused dependency Remove with --fix or manually
    Proc-macro dependency (e.g., serde derive) Add machete:ignore comment
    Build.rs-only dependency Move to [build-dependencies]
    Re-exported dependency Add machete:ignore comment with explanation

    Step 4: Apply fixes

    For confirmed unused dependencies, auto-remove them:

    cargo machete --fix
    

    For false positives, add ignore annotations in Cargo.toml:

    serde = "1.0"  # machete:ignore - used via derive macro
    

    Or create .cargo-machete.toml for project-wide ignores:

    [ignore]
    dependencies = ["serde", "log"]
    

    Step 5: Verify build

    After removing dependencies, confirm everything still compiles:

    cargo check --all-targets
    cargo test --no-run
    

    False Positive Handling

    Scenario Solution
    Proc-macro deps (e.g., serde derive) machete:ignore comment
    Build.rs-only deps Move to [build-dependencies]
    Re-exported deps machete:ignore comment with explanation
    Example/bench-only deps Verify in [dev-dependencies]

    Comparison with cargo-udeps

    Feature cargo-machete cargo-udeps
    Accuracy Good Excellent
    Speed Very fast Slower
    Rust version Stable Requires nightly
    False positives Some Fewer

    Use cargo-machete for fast CI checks. Use cargo-udeps for thorough audits:

    cargo +nightly udeps --workspace --all-features
    

    Agentic Optimizations

    Context Command
    Quick check cargo machete
    Detailed check cargo machete --with-metadata
    Workspace check cargo machete --workspace --with-metadata
    Auto-fix cargo machete --fix
    Verify after fix cargo check --all-targets
    Accurate check (nightly) cargo +nightly udeps --workspace

    Quick Reference

    Flag Description
    --with-metadata Show detailed output with versions and locations
    --fix Auto-remove unused dependencies from Cargo.toml
    --workspace Check all workspace members
    -p <crate> Check specific workspace member
    --exclude <crate> Exclude specific workspace member

    Troubleshooting

    Problem Solution
    Proc macro flagged as unused Add machete:ignore comment in Cargo.toml
    Build.rs dep flagged Move to [build-dependencies]
    Re-exported dep flagged Add machete:ignore with explanation
    Need more accuracy Use cargo +nightly udeps

    For CI integration patterns, configuration file examples, pre-commit setup, and Makefile integration, see REFERENCE.md.

    Repository
    laurigates/claude-plugins
    Files