computerlovetech/agr-cli
> Install, share, sync, and create AI agent skills across coding tools (Claude Code, Cursor, Codex, OpenCode, Copilot, Pi) using the agr CLI. Use skill ("install the pdf skill", "agr add ..."), sync agent resources across tools, share skills with their team, scaffold a new SKILL.md, run a skill ephemerally (agrx), set up a repo to manage AI agent dependencies, or configure tools/sources/instruction-syncing. Also use whenever an agr.toml or agr.lock is present in the project and the user is doing resource-management work.
npx skills add https://github.com/computerlovetech/agr --skill agr-cli
agr is the package manager for AI agent skills. It installs, shares, and syncs
SKILL.md folders across Claude Code, Cursor, Codex, OpenCode, GitHub Copilot,
and Pi. This skill helps you operate the agr CLI on the user's
behalf — set up new repos, install and sync skills, manage agr.toml /
agr.lock, and scaffold in-repo skills under skills/.
Use this skill when the user wants to:
agr add anthropics/skills/pdf).agr.toml after pulling teammates' changes (agr sync).agr upgrade).agrx ...) or invoke an installed one (agr run).agr init my-skill) — especially as in-repo skills under skills/.agr.toml / agr.lock / agr config.agr.toml is present and the user is doing resource-management work.Do NOT use this skill for:
writing effective skill instructions, defer to the user or to a dedicated
authoring skill such as anthropics/skills/skill-creator.
That's a separate workflow — listen, propose, edit, commit, re-install. If
the user has a dedicated debrief / improvement skill installed (e.g.
skill-debrief), use it; otherwise just do the workflow directly.
Before running anything, verify agr is installed:
agr --version
If missing, the standard install is uv tool install agr. **Do not install agr
without checking with the user first** — they may prefer pipx, brew, or a
pinned version in CI.
SKILL.md. agr copies the whole folderinto each configured AI tool's skills directory (.claude/skills/,
.cursor/skills/, .opencode/skills/, .agents/skills/, etc.).
user/skill (assumes a repo namedskills), user/repo/skill (any repo), or ./local/path (on disk).
agr.toml is the manifest (hand-edited or written by agr add).agr.lock is the lockfile (auto-generated, pins commit SHAs and content
hashes — never edit by hand).
-g to operate on~/.agr/agr.toml and global tool dirs.
agr sync only installs *missing* deps. To move past a pinned commit, useagr upgrade.
agent loop), package (a folder with its own agr.toml, expanded
transitively). agr add auto-detects the type.
For the full conceptual model: references/handles.md.
When the user wants to start using agr in a project that has none configured:
agr init. agr auto-detects which AI tools the repo uses(.claude/, CLAUDE.md, .cursor/, .cursorrules, .codex/, .opencode/,
.github/copilot-instructions.md, .pi/, .agents/) and writes agr.toml.
agr config set tools claude codex opencode.
CLAUDE.md) andwants it mirrored to others (AGENTS.md), enable instruction
syncing: agr config set sync_instructions true then
agr config set canonical_instructions CLAUDE.md.
agr.toml. (agr.lock will appear after the first agr add oragr sync — commit it too.)
Full details: references/setup.md.
agr add anthropics/skills/pdf
Notes:
agr add user/skill1 user/skill2 (skills from the same repo arebatched into one download).
--overwrite / -o to replace.-g for global (available in every project).agr add auto-creates agr.toml if missing — no need to agr init first.For handle formats and private repos: references/handles.md
and references/installing-skills.md.
Place project-specific skills under skills/ at the repo root (or at the root
of a relevant submodule). This keeps the skill in version control, reviewable
in PRs, and sharable across the team via agr.toml.
agr init my-skill # scaffolds my-skill/SKILL.md in CWD
mkdir -p skills && mv my-skill skills/
agr add ./skills/my-skill # records {path = "./skills/my-skill", type = "skill"} in agr.toml
Iterate: edit skills/my-skill/SKILL.md, then agr upgrade my-skill to
reinstall the fresh on-disk copy into each configured tool and refresh
agr.lock. (agr add ./skills/my-skill --overwrite also works, but reach for
it when you've changed the dependency's path or are re-adding it — for plain
edits to an already-registered skill, agr upgrade is shorter and lock-aware.)
Teammates pick it up with agr sync after pulling. The local path dependency
travels with the repo, so contributors don't need network access to use it.
For structuring (scripts/, references/, assets/), iteration patterns, and
testing with agrx: references/in-repo-skills.md.
agr sync
This (1) syncs instruction files, (2) runs directory migrations, (3) installs
any deps missing for any tool, (4) refreshes agr.lock.
CI flags:
agr sync --frozen — install exactly what agr.lock says; fail if lock ismissing or doesn't cover all deps. Use in deploy pipelines for byte-identical
installs.
agr sync --locked — fail if agr.lock is stale vs agr.toml. Use in PRchecks to enforce lockfile hygiene.
--frozen and --locked are mutually exclusive.Full lifecycle: references/syncing.md.
agr sync only installs what is missing. To pull the latest upstream code for
a skill that is already installed, use agr upgrade:
agr upgrade # everything in scope
agr upgrade pdf # short-name match (errors on ambiguity)
agr upgrade anthropics/skills/pdf # full handle
Gotcha: upgrading one skill from a multi-skill repo (e.g.
anthropics/skills/pdf) does NOT refresh siblings. Run agr upgrade with no
args, or name each sibling explicitly, to refresh the whole repo together.
agr run pdf # invoke installed skill in default tool
agr run pdf -- "summarise report.pdf" # extra prompt
agr run pdf -i # interactive
agr run pdf --tool cursor # override tool
agrx anthropics/skills/pdf -p "Extract" # ephemeral, no install
agr run requires the skill to be already installed. agrx downloads, runs,
and cleans up. Difference and tool-resolution rules:
references/running-skills.md.
Keys: tools, default_tool, default_owner, default_source,
sync_instructions, canonical_instructions, sources.
agr config show
agr config set tools claude codex opencode
agr config add tools cursor
agr config remove tools cursor # ⚠ DELETES that tool's skills directory
Private repos / custom Git hosts:
agr config add sources gitlab --url "https://gitlab.com/{owner}/{repo}.git"
export GITHUB_TOKEN="..." # auth for private GitHub repos
Add -g to operate on ~/.agr/agr.toml instead of the project file.
All keys with defaults: references/configuration.md.
agr list # status of every dep: installed / partial / not synced / invalid
agr list -g # global skills
cat agr.toml # the manifest
cat agr.lock # the lockfile (READ ONLY)
partial (claude, cursor) means a skill is installed in some tools but not
others — agr sync to fan it out to the rest.
agr.lock by hand. It's regenerated by agr add/agr sync/agr remove/agr upgrade. If it looks wrong, run agr sync (or
agr sync --locked to confirm hygiene).
agr config remove tools <name> deletes that tool's skills directory.Confirm with the user before running it. The skills can be re-installed by
re-adding the tool.
explicitly asked. This skill scaffolds and registers; SKILL.md content
authoring is a separate task.
--overwrite on a skill the user has been editinglocally — overwriting will replace their working copy.
version, alternative install method, or CI constraints.
git tag as part of these workflows. Commit changeslocally; let the user push.
references/handles.md.
lockfile; run agr sync locally and commit.
partial install status → agr sync to fan out to all configured tools.GITHUB_TOKEN is exported.agr.toml → run agr add to let agrrewrite the entry with the correct type field.
Full list: references/troubleshooting.md.
agr add / agr remove, sources, private reposagr sync / agr upgrade, lockfile, CI patternsskills/ workflow, scaffolding, iteratingagr config keys, sources, scopesagr run vs agrxFor the canonical CLI reference, point the user at
https://computerlovetech.github.io/agr/reference/ or run agr <command> --help.
blank slate. Canonical option: anthropics/skills/skill-creator.
session and updating an existing skill. If the user has a dedicated
workflow skill for this, use it; otherwise the workflow is editing the
source under skills/<name>/, committing, and agr upgrade <name>.
Take computerlovetech/agr-cli from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.