agentleFS
DevolutionsDevolutions/IronRDP/.agents/skills/dependency-pruner/SKILL.md

dependency-pruner

Skill3.3k starsChanged 2 days agoApache-2.0View on GitHub

Audit the dependencies a change added or widened before its pull request opens, keep each only where it is load-bearing, and replace the rest with a few lines, a lighter package, or one already in the tree. Use at the end of a change, as the last worker task before the pull request opens, or when asked to trim or justify a package's dependencies.

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run once per change, on the diff, after the code is complete, because a package added mid-way is often not needed by the end.

    line 7
  2. Distinctive:

    Commit the pruning apart from the feature work, so its review is about dependencies and nothing else.

    line 27

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

A dependency is a maintenance contract: every one costs build time, audit surface, and a future upgrade, so each must be load-bearing, which means removing it would cost more than it saves. Run once per change, on the diff, after the code is complete, because a package added mid-way is often not needed by the end.

Inventory

List every direct dependency, feature, and version bump the manifest diff adds or widens, then every package the lockfile diff adds and the direct dependency or feature that pulls it in, since a feature flag or a transitive addition expands the build as much as a new direct entry. For each direct one, find the code that uses it and write down what it does there and what removing it would take.

Decide

  • Replaceable in a few straightforward, testable lines of safe code: replace it, because the package costs every upgrade and the lines cost one review; except where the lines would reimplement security-sensitive or standards-defined behaviour - parsing, cryptography, encodings - which is where a short implementation is wrong in ways no test of yours catches.
  • Replaceable only with unsafe: keep it, since zerocopy, bytemuck, and their kind are audited where a hand-written transmute is not.
  • A proc-macro in a foundational package - one kept to few dependencies because many others build on it - goes unless the feature cannot exist without it, because a macro adds a host-side build and the common derive stacks bring syn into every dependent's build graph; an error type there is Display and Error written by hand, not thiserror.
  • Already in the tree, directly or transitively: reuse it rather than add a second package for the same job.
  • Needed but heavy: look for a minimal alternative that does only the needed part.
  • Two candidates remain: take the one with the stronger maintenance evidence - issues and pull requests answered, releases when fixes were needed, more than one active maintainer - since the one that stops being maintained becomes your code.
  • A dependency the applicable intent file allows or forbids by name follows the intent.

Change

Remove what the decisions say to remove, then inspect the resolved graph and run the repository's dependency policy checks (for Cargo, cargo tree -d for duplicate versions and the feature graph for enabled edges), because a removal changes resolution and feature unification for packages you did not touch. Commit the pruning apart from the feature work, so its review is about dependencies and nothing else. Report every kept dependency with what it does and why replacing it costs more, every removed one with what replaced it, and the net change in direct and transitive counts.

Download now (ZIP)

Trending

More talk lately.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 1 mentionMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 1 mentionJul 2026: 16 mentionsAug 2026: 1 mentionSep 2026: 15 mentionsOct 2026: 14 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the Devolutions/IronRDP repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about Devolutions/IronRDP

The biggest 5 of 60 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 60

Talked about on GitHub, Bluesky and Hacker News (60 times).

On GitHub · 50

45 more on GitHub

On Bluesky · 9

4 more on Bluesky

On Hacker News · 1

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.