Skip to main content

A CLI for managing AI agent skills across harnesses

Project description

Agent Skill Bridge

Agent Skill Bridge is a CLI for managing AI agent skills across different harnesses such as Codex, Claude Code, Crush, and DeepAgents.

It keeps a shared skill store, copies or links skills into harness-level global and project-level skill folders, tracks project usage, and can sync skills between harnesses.

Features:

  • skill list/remove
  • skill install
  • skill link/copy
  • skill sync
  • usage output
  • harness config management
  • shell completion

Operation output uses:

[<op>][<level>] <skill-name> -> <path>

The manager files are stored under:

~/.agents

The shared skill store is:

~/.agents/skills

A harness is an agent tool that consumes skills, such as Codex or Claude Code. Global and project storage are the harness's own global-level and project-level configuration paths.

Agent Skill Bridge maintains the skills folder and a usage file for tracking:

~/.agents/asb-usage.json

Usage tracking (the must exist in the mapper):

<owner-harness>: {
    "projects": {
        <proj>: {
            <skill>: <mode>
        }
    },
    "globals": {
        <target-harness>: {
            <skill>: <mode>
        }
    }
}

Global usage is grouped by skill origin. Skills that already exist in the shared store are recorded under default.globals.<target-harness>. Source-only skills imported during sync --all are recorded under <src-harness>.globals.<target-harness>.

Install

uv sync --python 3.10 --link-mode copy

The package name is agent-skill-bridge. Run the CLI with asb:

uv run --python 3.10 asb --help

The long command agent-skill-bridge is also available.

List

Show skills of the current project.

By default, list detects harnesses used by the current project. A harness is considered used when its project prefix exists in the current project; the skills folder does not need to exist yet. It then shows both project and global levels for those harnesses. Be quiet if there is nothing to show.

asb list [<harness>] [--global | --project]
  • -g/--global: global only (any folder)
  • -p/--project: project only
  • By default, we list project level and global level with level title
  • list -g shows global skills for the detected project harnesses and the default global skills

Example:

Project (<harness>):
- <skill-name>
...

Global (<harness>):
- <skill-name>

Remove

asb remove [<harness>] [<skill-name>...] [--global] [--link] [--all]

For

  • -g/--global: global only
  • -l/--link: remove the symlink and its linked shared-store skill
  • -a/--all: requires a skill name, removes it from the default global store and from project paths recorded in usage by first running npx skills remove <skill-name> -g -a universal -y, then falling back to direct deletion if that command fails
  • By default, we just remove the skill from current project
  • no harness: open a terminal UI picker for harness first, then skills
  • skill picker controls: Arrow moves, Space selects, Enter confirms
  • first positional argument: harness name
  • project-level remove deletes the project prefix too when it only contains an empty skills folder

For unknown skill name, just show error message

Install

asb install <skill-ref> [-y]

Install a skill into the default global store by running:

npx skills add <skill-ref> -a universal -g -y

Without -y, Agent Skill Bridge asks whether to run the install. With -y, it runs immediately. The npx command always receives -y.

Link/Copy

asb copy [<harness>] [<skill-names>...] [-p | -g]
asb link [<harness>] [<skill-names>...] [-p | -g]

Copy/Link skill from the shared skill store into a harness global or project path.

  • no argument: open a terminal UI picker for harness first, then skills
  • copy/link harness picker does not show default
  • harness only: open a terminal UI picker for skills
  • harness picker controls: Arrow moves, Enter confirms
  • skill picker controls: Arrow moves, Space selects, Enter confirms
  • -p/--project: operation on project level
  • -g/--global: operation on global level
  • By default, operation on project level
  • first positional argument: harness name

Sync

asb sync <src_harness> <dst_harness> [--copy] [--all] [-p | -g]

Sync all skills from the Agent Skill Bridge shared store into another harness global or project path. The source harness is used to detect skills that exist in the source global path but are missing from the shared store.

  • By default, sync in link mode from the shared store
  • -c/--copy: sync in copy mode
  • -a/--all: copy source-only skills into the shared store before syncing
  • Without -a, source-only skills are reported as warnings and are not synced
  • If the source harness has no global skills, sync completes without changing the destination and reports that the source has no skills
  • When sync runs, it reports the number of skills synced to the destination
  • -p/--project: operation on project level
  • -g/--global: operation on global level
  • By default, operation on project level

Completion

asb completion zsh
asb completion bash

Output the completion script in stdout

Usage

asb usage

Print asb-usage.json as globals first, then projects.

Global usage:

[global]:
<harness>
  - <skill>
  - <skill>

Project usage:

[project]:
<harness>
  <project-path>
    - <skill>
    - <skill>

Config

asb config list
asb config add <harness> [-p <project>] [-g <global>]
asb config remove <harness> [-p | -g] [-a]

config list shows every harness config except default.

config add adds the fields that are provided. If neither -p nor -g is provided, the harness is stored as an empty object. If the harness already exists, Agent Skill Bridge asks whether to overwrite it and defaults to no.

config remove removes the whole harness config by default. With -p or -g, it removes only that field. By default, Agent Skill Bridge asks whether to delete the related global and recorded project skill folders. With -a, it deletes them without asking.

Default storage:

  • project: .agents/skills
  • global: ~/.agents/skills

For different harness, the mapper file is:

~/.agents/asb-mapper.json

The default entry is always provided by Agent Skill Bridge and is not shown by config list.

<harness> : {
    "project": <prefix>,
    "global": <prefix>
}

Then we get the folder by:

harness = mapper.get(name, mapper["default"])
project_folder = harness.get("project", mapper["default"]["project"]) / "skills"
global_folder = harness.get("global", mapper["default"]["global"]) / "skills"

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_skill_bridge-0.4.1.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

agent_skill_bridge-0.4.1-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file agent_skill_bridge-0.4.1.tar.gz.

File metadata

  • Download URL: agent_skill_bridge-0.4.1.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for agent_skill_bridge-0.4.1.tar.gz
Algorithm Hash digest
SHA256 39ac348d66592d79b0dc2a0a33ca5666b14c654cf12cb734a8f85a103f119a45
MD5 21d79f38289d6f2227ac4a3b3b377194
BLAKE2b-256 64e8f8f17db257821e4f727856829bbfed694658abccbf5589ea661d17cf05f9

See more details on using hashes here.

File details

Details for the file agent_skill_bridge-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: agent_skill_bridge-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for agent_skill_bridge-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6846a9f6c30da6f7e92acbffa97871673f7cd31f7ff87a304878e7bf521b9825
MD5 bbb3fc7fabc16726c4ea4c8513840294
BLAKE2b-256 2885353cabe53a37a2a91747f9b35c8829cc1a6bc0708fac9879fdd68e6fa3e8

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