Scan a directory for AI-assistant skills, rules and subagents and copy selected ones into a chosen assistant's folder layout.
Project description
agent-catalog
A Typer CLI that scans a directory for AI-assistant artifacts (skills, rules, subagents), caches them, and lets you interactively copy selected ones into a chosen coding assistant's folder layout.
Install / run
This is a uv project.
uv sync
uv run agent-catalog --help
Commands
init <target_dir>
Scans target_dir for the config roots .agents/, .cursor/, .claude/, .github/, .codex/ and indexes:
- Skills: any folder containing
SKILL.md(the whole package, includingassets/,references/,examples/). - Subagents:
*.mdfiles directly under anagents/folder. - Rules:
*.md/*.mdcunderrules/and (recursively)instructions/(e.g..github/instructions/**/*.instructions.md),.github/custom-instructions.md, plus anyCLAUDE.md/AGENTS.mdmemory files anywhere under the target (excluding.git,.venv,node_modules, etc.).
Names and descriptions come from YAML frontmatter (name, description); rules fall back to the filename plus the first few lines. Results are written to .agent-catalog.json in the current directory.
uv run agent-catalog init /path/to/source
index-skills <target_dir> / index-plugins <target_dir>
Additive scans for patterned skill collections, discovered recursively anywhere under target_dir. Each immediate <skill>/ subfolder containing a SKILL.md is indexed and appended to the existing .agent-catalog.json (deduped by absolute path, so re-runs and overlap with init are safe).
index-skills— folders namedskills/(skills/<skill>/).index-plugins— folders namedclaude-plugin/andcursor-plugin/(claude-plugin/<skill>/,cursor-plugin/<skill>/).
uv run agent-catalog index-skills /path/to/source
uv run agent-catalog index-plugins /path/to/source
pick-skills / pick-agents / pick-rules
Loads the cache and opens on the full catalog as an interactive multi-select (Arrows to move, type to filter live, <Space> to toggle, Enter to confirm), asks which coding assistant to target, and copies the selected artifacts into that assistant's folder.
uv run agent-catalog pick-skills # copy into ./ (cwd)
uv run agent-catalog pick-rules --target ./proj # copy into another project root
uv run agent-catalog pick-agents --assistant .claude --overwrite
pick-skills:filter / pick-agents:filter / pick-rules:filter
Same as the base pickers, but pre-narrow the catalog by a filter TERM (case-insensitive substring on the artifact name) before the picker opens — handy for large catalogs. If TERM is omitted you are prompted for it. Live type-to-filter still applies on top.
uv run agent-catalog pick-skills:filter wiki # only skills whose name contains "wiki"
uv run agent-catalog pick-rules:filter # prompts for a filter term
Options (all pick commands):
--target, -t— project root to copy into (default: cwd).--assistant, -a— the target coding assistant whose folder convention the selected artifacts are copied into (one of.agents,.claude,.cursor,.codex,.github). This selects the destination root, combined with the per-kind subfolder to form the copy destination (e.g.<target>/.claude/skills/<name>/). It affects where files land only, not what is scanned or indexed. If omitted, the command asks you to choose one before copying.--overwrite— replace artifacts that already exist at the destination. Skills (directory packages) are merged over the existing folder, overwriting overlapping files but leaving any extra files in place; agents/rules (single files) are replaced. Without it, existing targets are left untouched and reported asskipped. Sources that no longer exist are reported asmissingregardless of this flag.
Destination mapping
Per-assistant destinations are defined in agents_catalog/destinations.py:
| Kind | Default subfolder |
|---|---|
| skill | <assistant>/skills/<name>/ |
| agent | <assistant>/agents/<file> |
| rule | <assistant>/rules/<file> (.github -> instructions/) |
These are sensible defaults; edit the tables in destinations.py to match evolving conventions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_catalog_cli-0.1.0.tar.gz.
File metadata
- Download URL: agent_catalog_cli-0.1.0.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48deb1f1e27ef15c79dd7864c0e3b50b80e7bb284df9f3b875cd139ac1fd83c7
|
|
| MD5 |
beef7636a18827407342bc75cbc580ff
|
|
| BLAKE2b-256 |
ae8902bd07154cf0d61cc5c39cef9caa364733bfccb007f35996dc8d3154d71a
|
File details
Details for the file agent_catalog_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agent_catalog_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51b7e1d3135b5191e0e48c3dc2f2bdab852f645547a1341e4000a3cec78b00b9
|
|
| MD5 |
cd904f097f45d29d05923ec6873546de
|
|
| BLAKE2b-256 |
11ffc2941ec17c381fe173bf285fe42e353e9ce6f554d44713a938b9ebb14d93
|