What's New¶
User-facing changes in each release. For the full changelog with implementation details, see CHANGELOG.md on GitHub.
Unreleased¶
Antigravity now uses .gemini/ directory¶
Antigravity skills now install to .gemini/skills/ instead of the previous .agent/skills/. This matches the Gemini CLI's move from .agent/ to .gemini/ as its primary configuration directory.
Auto-migration: When you run agr sync, agr add, or agr remove, agr automatically moves existing skills from .agent/skills/ to .gemini/skills/. No manual steps needed. See Automatic Directory Migrations for the full list.
Cursor now uses flat naming¶
Cursor skills are now installed with flat directory names (e.g., .cursor/skills/skill-name/) instead of the previous nested structure (.cursor/skills/owner/repo/skill-name/). This aligns Cursor with all other supported tools.
Auto-migration: When you run agr sync, agr add, or agr remove, agr automatically flattens existing nested Cursor skills to the new layout. If a plain name conflicts with an existing directory, the fully-qualified name (owner--repo--skill) is used instead. No manual steps needed.
agrx now uses --full-auto for Codex¶
When running skills with agrx --tool codex in interactive mode, agr now passes --full-auto to the Codex CLI. This reduces permission prompts during execution, matching the behavior of other tools (Claude Code's --dangerously-skip-permissions, Copilot's --allow-all-tools).
Stricter skill name validation¶
Skill names now follow the Agent Skills specification exactly. Valid names must be:
- 1–64 characters
- Lowercase alphanumeric and hyphens only
- Cannot start or end with a hyphen
- Cannot contain consecutive hyphens (
--)
Previously accepted names with uppercase letters, underscores, or trailing hyphens are now rejected. If you have existing skills with these patterns, rename them before upgrading.
description field required in SKILL.md¶
The description frontmatter field is now required when scaffolding a skill with agr init <name>. The generated template includes a placeholder you should fill in:
See SKILL.md Format for all frontmatter fields.
Improved Copilot detection¶
agr init now detects GitHub Copilot from .github/copilot-instructions.md and .github/instructions/, in addition to .github/copilot/ and .github/skills/. This catches projects that use Copilot's repo-wide or path-specific instruction files without a dedicated skills directory.
Improved OpenCode detection¶
agr init now detects OpenCode from opencode.json and opencode.jsonc config files, in addition to the .opencode/ directory. This catches projects that use OpenCode's config file without having created the .opencode/ directory yet.
Bug fixes¶
- Python SDK: Network failures in
list_skills()andskill_info()now raiseAgrErrorinstead of Python's built-inConnectionError. If your code catchesAgrError(or its subclasses), network errors are now included automatically. If you were catchingConnectionErrorseparately, you can remove that handler. See Error Handling. - Python SDK:
list_skills()now raisesInvalidHandleErrorinstead ofValueErrorfor invalid repo handles, matching the behavior ofskill_info()andSkill.from_git(). If your code catchesValueErrorfromlist_skills(), update it to catchInvalidHandleError(fromagr.exceptions). See Error Handling. - Antigravity detection signal corrected from
.agentto.agents. Previously,agr initwould not auto-detect Antigravity in repos that had an.agents/directory (used by Codex) — only.gemini/was matched. agrx --tool cursorno longer passes an invalid--forceflag to the Cursor CLI. The Cursor CLI (agent) does not support this flag, soagrxnow runs without a permission-bypass flag for Cursor.agrx --tool opencodenow correctly uses two different modes: non-interactive runs useopencode run "prompt"(one-shot execution), while interactive runs (-i) useopencode --prompt "prompt"to inject the prompt into the TUI. Previously,agrxpassed an invalid--promptflag on the base command for non-interactive mode and routed both modes throughopencode run.
0.7.10 — 2026-03-10¶
Updated tool directories¶
Codex and OpenCode updated their skills directory conventions upstream. agr now follows them:
| Tool | Old directory | New directory |
|---|---|---|
| OpenAI Codex | .codex/skills/ |
.agents/skills/ |
| OpenCode | .opencode/skill/ |
.opencode/skills/ |
Auto-migration: When you run agr sync, agr add, or agr remove, agr
automatically moves existing skills from the old directories to the new ones. No
manual steps needed.
Bug fixes¶
agr config unset toolsno longer crashes whendefault_toolis set to a tool outside the default list. The default is now cleared automatically.- The SDK's
cache.info()now counts unique skills instead of counting each cached revision separately. - Cache operations no longer reject valid skill names that happen to contain path-like characters (e.g., names with dots).
0.7.9 — 2026-03-05¶
Content hashes for installed skills¶
Installed skills now include a sha256: content hash in their .agr.json
metadata. This lets you detect whether skill files have been modified on disk
since installation.
The Python SDK exposes this via skill.content_hash and skill.recompute_content_hash():
from agr import Skill
skill = Skill.from_git("anthropics/skills/code-review")
if skill.content_hash != skill.recompute_content_hash():
print("Skill files have changed since install")
0.7.8 — 2026-03-02¶
Interactive onboarding (removed)¶
Added agr onboard interactive guided setup command (later removed — use agr init instead).
Quiet mode¶
Suppress all non-error output with --quiet / -q. Useful in CI/CD pipelines:
Simplified agr init¶
agr init now only creates agr.toml and auto-detects your tools.
0.7.7 — 2026-03-02¶
Bug fixes¶
agr configcommands with--globalno longer require a git repositoryagr config editworks with editors that need flags (e.g.,EDITOR="code --wait")agr config path --globalshows an error when no global config exists instead of printing a nonexistent path
0.7.6 — 2026-03-02¶
Helpful handle suggestions¶
When a two-part handle like agr add owner/repo fails (because it's actually a
repo, not a skill in the default skills repo), agr now probes the repo and
suggests the correct three-part handles:
Skill 'my-repo' not found. However, 'owner/my-repo' exists as a repository with 3 skill(s):
agr add owner/my-repo/skill-a
agr add owner/my-repo/skill-b
agr add owner/my-repo/skill-c
0.7.5 — 2026-02-07¶
agr config command¶
New unified config management:
agr config show # View config
agr config set tools claude codex opencode
agr config set default_tool claude
agr config add sources gitlab --url "https://gitlab.com/{owner}/{repo}.git"
agr config unset default_tool
Replaces the older agr tools commands (which still work but show deprecation
warnings). See the CLI Reference for all subcommands.
Global installs¶
Install skills globally (available in all projects) with the -g flag:
agr add -g anthropics/skills/skill-creator
agr sync -g
agr list -g
agr remove -g anthropics/skills/skill-creator
Global config lives at ~/.agr/agr.toml.
0.7.4 — 2026-02-06¶
Antigravity support¶
agr now supports Antigravity as a tool target:
Skills install to .gemini/skills/ (project) and ~/.gemini/skills/ (global).
0.7.3 — 2026-02-04¶
Default repo name change¶
Two-part handles (user/skill) now look in the skills repo by default instead
of agent-resources. During a deprecation period, agr falls back to
agent-resources with a warning if the skill isn't found in skills.
0.7.2 — 2026-02-02¶
Python SDK¶
Use agr as a Python library:
from agr import Skill, list_skills, skill_info, cache
skill = Skill.from_git("anthropics/skills/code-review")
print(skill.prompt)
print(skill.files)
See the Python SDK documentation for the full API.
OpenCode support¶
agr now supports OpenCode as a tool target with
.opencode/skills/ install path.
0.7.1 — 2026-01-29¶
Flat skill naming¶
Flat tools (Claude, Codex, OpenCode, Copilot, Antigravity) now install skills
using plain names (skill-name/) instead of the full handle
(user--repo--skill/). Existing installs are auto-migrated during agr sync. See How skills are named on disk for details.
Instruction file syncing¶
Keep CLAUDE.md, AGENTS.md, and GEMINI.md in sync across tools with instruction syncing:
agr config set sync_instructions true
agr config set canonical_instructions CLAUDE.md
agr sync # Copies CLAUDE.md content to AGENTS.md, GEMINI.md as needed
0.7.0 — 2026-01-27¶
Multi-tool support¶
Skills can now be installed to multiple AI tools simultaneously. Configure your
tools in agr.toml:
agr add and agr sync install to all configured tools at once. If an install
fails partway through, already-installed copies are rolled back automatically.
Cursor support¶
agr now supports Cursor with skills installed to
.cursor/skills/.
GitHub Copilot support¶
agr now supports GitHub Copilot with
flat directory structure (.github/skills/ for project, ~/.copilot/skills/
for global).
Private repository support¶
Set GITHUB_TOKEN or GH_TOKEN to access private skill repositories:
export GITHUB_TOKEN="ghp_aBcDeFgHiJkL01234567890mNoPqRsTuVwXy"
agr add private-org/skills/internal-tool
See Private Repositories for details.
Next Steps¶
- Tutorial — Get started with agr from scratch
- CLI Reference — Full command reference for all features mentioned above
- Troubleshooting — Fix common errors after upgrading