npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

skill-bridge

v0.1.1

Published

CLI for migrating local skills between Claude Code, Codex, and Antigravity.

Readme

Skill Bridge

I use multiple agent tools side by side, and each one has its own skill system. Over time that meant I was constantly working with different skill sets, different instructions, and slightly different outputs depending on where I was running the task. Skill Bridge started as a small tool to solve that problem for myself: move skills between Claude Code, Codex, and Antigravity without manually copying folders, rewriting frontmatter, or losing scripts and references.

Skill Bridge is a CLI for migrating local skill folders between Claude Code, Codex, and Antigravity. It discovers skill folders, lets you choose source and target platforms, supports large skill libraries with inline search, checks destination conflicts with SHA-256 checksums, and copies complete skill directories safely.

What It Does

  • Migrates Claude Code skills to Codex.
  • Migrates Codex skills to Claude Code.
  • Migrates Antigravity global skills to and from Claude Code or Codex.
  • Preserves full skill folders, including scripts/, references/, assets/, examples, and supporting files.
  • Reads personal skill folders from ~/.claude/skills, ~/.codex/skills, and ~/.gemini/antigravity/skills.
  • Reads project skill folders from .claude/skills and .codex/skills.
  • Follows symlinked skill directories.
  • Supports custom source and target folders.
  • Provides an interactive terminal UI for browsing, searching, and selecting skills.
  • Supports non-interactive scripted migrations with flags.
  • Detects destination conflicts with SHA-256 checksums.
  • Automatically skips identical destination skills.
  • Asks whether to overwrite or skip differing destination skills.
  • Supports overwrite all / skip all conflict decisions.
  • Creates optional agents/openai.yaml metadata when migrating to Codex.
  • Omits Codex-only agents/openai.yaml metadata when migrating to Claude Code or Antigravity.
  • Supports dry runs before writing anything.

Installation

Run once without installing:

npx skill-bridge

Install globally to use skill-bridge from any directory:

npm install -g skill-bridge

Then run:

skill-bridge

Update later:

npm update -g skill-bridge

Remove:

npm uninstall -g skill-bridge

Quick Start

Start the interactive migration flow:

skill-bridge

Preview a Claude Code to Codex migration:

skill-bridge --from claude --to codex --all --dry-run

Preview only matching skills:

skill-bridge --from claude --to codex --filter estifie --all --dry-run

Migrate Codex skills to Claude Code:

skill-bridge --from codex --to claude

Preview Antigravity global skills moving into Codex:

skill-bridge --from antigravity --to codex --all --dry-run

Run a non-interactive migration and skip destination conflicts:

skill-bridge --from claude --to codex --all --yes --on-conflict skip

Run a non-interactive migration and overwrite differing destination skills:

skill-bridge --from codex --to claude --all --yes --on-conflict overwrite

Interactive Flow

Skill Bridge asks where the migration should start:

Which platform do you want to migrate from?
Claude Code
Codex
Antigravity
Cancel

Then it asks where the migrated skills should go:

Which platform do you want to migrate to?
Codex
Antigravity
Cancel

Skill Bridge uses the default skill folders unless you pass --source or --target. After discovery, the skill picker opens:

How do you want to choose skills?
Browse skills
Select all <count> skills
Cancel

Skill Selection

Browse Skills

Opens the main multi-select list with an inline search field. Type directly in the picker to filter the visible skills:

Search: auth
[ ] auth-hardening [personal]
[x] oauth-review [project]
Back
  • arrow keys move the active row.
  • typing filters the list immediately.
  • space selects or unselects the active skill.
  • enter confirms the current selection.
  • ctrl+u clears the search.
  • Back returns to the previous picker menu.

Search / Filter

Searches across:

  • skill name
  • description
  • scope
  • relative source path

Search lives inside Browse and updates the visible skills as you type:

[ ] auth-hardening [personal]
[ ] auth-session-review [project]

Custom Folders

Default skill folders are resolved from the current user's home directory, so the same defaults work on macOS, Linux, and Windows:

  • Claude Code: ~/.claude/skills
  • Codex: ~/.codex/skills
  • Antigravity: ~/.gemini/antigravity/skills

Use --source to read skills from a custom folder instead of the default personal and project locations:

skill-bridge --from claude --to codex --source ./claude-skills

Use --target to write skills into a custom folder:

skill-bridge --from claude --to codex --target ./codex-skills

Use both for fully explicit migrations:

skill-bridge \
  --from claude \
  --to codex \
  --source ./claude-skills \
  --target ./codex-skills \
  --all \
  --dry-run

Disable default personal and project discovery when using a custom source:

skill-bridge \
  --from claude \
  --to codex \
  --source ./claude-skills \
  --no-personal \
  --no-project

Conflict Handling

When a destination skill folder already exists, Skill Bridge compares the expected migrated output against the existing destination using SHA-256 checksums.

If the checksums match, the skill is skipped automatically:

Destination already contains the same skill (checksum matched).

If the destination exists but differs, interactive mode asks:

Overwrite this skill
Skip this skill
Overwrite this and all remaining conflicts
Skip this and all remaining conflicts
Cancel migration

For non-interactive runs, choose a policy:

skill-bridge --from claude --to codex --all --yes --on-conflict skip
skill-bridge --from claude --to codex --all --yes --on-conflict overwrite

Shortcuts:

skill-bridge --from claude --to codex --all --yes --skip-existing
skill-bridge --from claude --to codex --all --yes --overwrite

Dry runs show whether each skill would import, skip, or overwrite:

skill-bridge --from claude --to codex --filter estifie --all --dry-run

Platform Behavior

Skill Bridge treats each supported tool as a local skill platform. The source platform controls where skills are discovered from; the target platform controls where migrated skills are written.

Claude Code

  • Personal skills: ~/.claude/skills
  • Project skills: .claude/skills
  • Skill shape: <skill>/SKILL.md plus supporting files.
  • Claude-specific frontmatter such as allowed-tools, disable-model-invocation, and user-invocable is removed when migrating to non-Claude targets.

Codex

  • Personal skills: ~/.codex/skills
  • Project skills: .codex/skills
  • Skill shape: <skill>/SKILL.md plus supporting files.
  • Codex output can include agents/openai.yaml metadata unless --no-codex-metadata is used.
  • Codex-only agents/openai.yaml metadata is not copied when migrating to Claude Code or Antigravity.

Antigravity

  • Global skills: ~/.gemini/antigravity/skills
  • Project skills are not scanned automatically; pass --source for custom locations.
  • Uses the same local skill folder shape: <skill>/SKILL.md plus supporting files.
  • Codex-only agents/openai.yaml metadata is not copied into Antigravity.

All default paths are resolved from the current user's home directory, so ~/.gemini/antigravity/skills becomes the correct home-relative path on macOS, Linux, and Windows.

CLI Reference

Usage: skill-bridge [options]

CLI for migrating local skills between Claude Code, Codex, and Antigravity.
Options:
  --from <platform>         Source platform: claude, codex, or antigravity.
  --to <platform>           Target platform: claude, codex, or antigravity.
  -s, --source <path...>    Custom source skills directory or a single skill directory.
  -t, --target <path>       Target skills directory. Defaults to the selected target platform.
  --cwd <path>              Project directory used for project skill discovery.
  -a, --all                 Select every discovered skill without opening the selector.
  -f, --filter <query>      Filter discovered skills by name, description, scope, or relative path.
  -y, --yes                 Accept the migration confirmation prompt.
  --dry-run                 Show what would be migrated without writing files.
  --overwrite               Overwrite every differing destination skill.
  --skip-existing           Skip every existing destination skill.
  --on-conflict <action>    Conflict policy: ask, skip, or overwrite.
  --no-personal             Do not scan personal source skills.
  --no-project              Do not scan project source skills.
  --no-codex-metadata       Do not create agents/openai.yaml when migrating to Codex.

Examples

Migrate one searched set from Claude Code to Codex:

skill-bridge --from claude --to codex --filter "ios" --all --dry-run

Migrate from a project-local Claude skill folder:

skill-bridge \
  --from claude \
  --to codex \
  --source ./.claude/skills \
  --target ./.codex/skills \
  --all

Migrate Codex skills back to Claude Code and overwrite conflicts:

skill-bridge --from codex --to claude --all --yes --overwrite

Use Codex output without generating agents/openai.yaml:

skill-bridge --from claude --to codex --all --no-codex-metadata

Migrate Claude Code skills into Antigravity:

skill-bridge --from claude --to antigravity --all --dry-run

Development

This project uses Bun for local development.

bun install
bun run check
bun test
bun run build

Run locally:

bun run dev

Run local smoke tests:

bun run dev -- --from claude --to codex --filter estifie --all --dry-run
bun run dev -- --from codex --to claude --all --dry-run
bun run dev -- --from antigravity --to codex --all --dry-run