mdr, the CLI

mdr is a small command-line tool. It is one file with no dependencies, and it needs Node 18 or newer. It installs a skill or another instruction file at an exact version, into the folder your AI agent reads, and writes that version into a file called mdr.lock.

Connect an agent at modelranch.com

Install
curl -fsSL https://markdownregistry.com/install.sh | sh

Puts mdr in ~/.local/bin. Read it first: /mdr.mjs. Anonymous install counts: mdr add, install and update report the artifact id, kind and label, your agent type, the command, the CLI version and a random id kept in ~/.config/mdr/id, never file contents or paths; MDR_TELEMETRY=0 turns that off.

Commands

mdr search <query>                 find files
mdr info <owner/repo/name>          versions, audit, badge
mdr add <owner/repo/name>[@version] install pinned, write mdr.lock  (--agent claude|codex|cursor|opencode, --dir PATH, --force)
mdr install                         install everything in mdr.lock at its pinned hash
mdr outdated                        which main files (SKILL.md) moved upstream, with the new audit grade
mdr diff <owner/repo/name> [from] [to]   line diff of the main file between two versions
mdr update <owner/repo/name>        move the pin to the latest version

The lockfile

{
  "version": 1,
  "registry": "https://markdownregistry.com",
  "entries": {
    "anthropics/skills/pdf": { "artifact": "art_...", "label": "v1.4.2", "sha256": "...", "commit": "...", "path": ".claude/skills/pdf" }
  }
}

A walk-through with real output, including what happens to local edits when you update: how to pin an agent skill to an exact version.

Questions

How do I install the mdr CLI?

Run curl -fsSL https://markdownregistry.com/install.sh | sh. It puts one small file in ~/.local/bin. It has no dependencies and needs Node 18 or newer. You can read the install script and the tool's source before you run either.

What is mdr.lock?

mdr.lock is a file mdr writes in the folder you run it from. It lists what you installed and the exact version of each: its id, its label, its SHA-256 fingerprint and, for a public file, the GitHub commit it came from. mdr install uses it to download and check those exact contents again. It installs them exactly, or it stops with an error.

How do I update a pinned artifact?

Run mdr outdated. It shows which installed files have a newer main file (SKILL.md for a skill) on GitHub, with the new version's audit grade. Then run mdr update owner/repo/name to switch to it; until you do, your installed copy stays as it is. For a public skill, mdr outdated and mdr diff compare only the main file. An update also brings the other files from the new version's commit, so read that commit to see changes to scripts or references.