Gabriel Fialho / software engineer
What
agentlink, open source
Stack
Rust, Apache-2.0

Six agents reading one file

If two things have the same format and differ only in where they live, copying is the wrong primitive.

The duplication

Anyone writing rules and skills for coding agents ends up maintaining the same file in several places, one per tool. Claude Code, Cursor, Copilot, Codex, and whatever ships next quarter.

The tools that solve this generate copies from a source directory. That works, and it brings the problems copies always bring: a step you have to remember to run, a copy someone edits by mistake, and an orphan left behind when a file is renamed.

What made a different answer available

By 2026 the ecosystem had converged. For the two things that matter, the format is identical and only the location differs:

  • AGENTS.md, an open specification donated to the Linux Foundation in December 2025, read by more than twenty tools.
  • SKILL.md, read by more than thirty.

Once that is true, generating a copy is doing work to produce a file that is byte for byte the file you already had. The alternative is to give the same file more than one name, which is what a filesystem hard link is for.

Above, a source file generating one copy per tool directory, with one copy edited by hand and now different. Below, four tool paths all pointing at a single inode.
Copies can disagree with each other. Names for the same inode cannot.

What that buys

Generating copiesSharing an inode
Needs a generate step, and you have to remember it There is no step
Edit the wrong copy and the others drift There is no wrong copy
Renaming leaves an orphan behind Nothing is orphaned
Supporting a seventh tool means another copy It means another path

Written in Rust, with CI and an Apache-2.0 licence, and published to crates.io so installing it is one command rather than a clone.

Why Rust for a tool that moves files

Distribution. A single binary with no runtime to install, and crates.io as the channel. For a tool whose entire value is removing a setup step, being awkward to install would have undone the point.

Adoption not measured

The crate has 35 downloads. That is a counter, not adoption, and I would rather write the number than let a phrase like "used by developers" do work the number does not support.

There is no telemetry and no user research behind this. What I can point at is that the crate is public, the source is readable, and the design argument above is checkable by anyone who wants to disagree with it. Treat this as evidence about how I make a decision, not about whether anyone bought it.

What carries over

The interesting question was not how to sync files well. It was whether syncing needed to happen at all, and the answer came from noticing that the formats had already converged. Most duplication problems are like that: the expensive fix maintains the duplication carefully, and the cheap one removes the reason it existed.