Skip to main content

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, including assets/, references/, examples/).
  • Subagents: *.md files directly under an agents/ folder.
  • Rules: *.md / *.mdc under rules/ and (recursively) instructions/ (e.g. .github/instructions/**/*.instructions.md), .github/custom-instructions.md, plus any CLAUDE.md / AGENTS.md memory 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 named skills/ (skills/<skill>/).
  • index-plugins — folders named claude-plugin/ and cursor-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 as skipped. Sources that no longer exist are reported as missing regardless 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_catalog_cli-0.1.0.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_catalog_cli-0.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

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

Hashes for agent_catalog_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 48deb1f1e27ef15c79dd7864c0e3b50b80e7bb284df9f3b875cd139ac1fd83c7
MD5 beef7636a18827407342bc75cbc580ff
BLAKE2b-256 ae8902bd07154cf0d61cc5c39cef9caa364733bfccb007f35996dc8d3154d71a

See more details on using hashes here.

File details

Details for the file agent_catalog_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_catalog_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51b7e1d3135b5191e0e48c3dc2f2bdab852f645547a1341e4000a3cec78b00b9
MD5 cd904f097f45d29d05923ec6873546de
BLAKE2b-256 11ffc2941ec17c381fe173bf285fe42e353e9ce6f554d44713a938b9ebb14d93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page