Skip to main content

CLI for managing agent skills across IDE integrations

Project description

OASR

Open Agent Skill Registry — Manage reusable AI agent skills across IDEs without drift.


The Problem

You've built useful skills for your AI coding assistant. They work great in Cursor. Now you want them in Windsurf. And Claude. And Copilot.

Each tool expects skills in different locations with different formats:

  • Cursor: .cursor/skills/
  • Windsurf: .windsurf/skills/
  • Claude: .claude/commands/
  • Copilot: .github/.md

So you copy your skills everywhere. Then you improve one. Now the copies are stale. You forget which version is current. Some break silently. This is skill drift.

The Solution

ASR keeps your skills in one place and generates thin adapters for each IDE.

┌─────────────────────────────────────────────────────────┐
│           Your Skills (canonical source)                │
│           ~/skills/git-commit/SKILL.md                  │
│           ~/skills/code-review/SKILL.md                 │
└───────────────────────┬─────────────────────────────────┘
                        │
                        ▼
                   oasr adapter
                        │
        ┌───────────────┼──────────────┐...───────────────┐
        ▼               ▼              ▼                  ▼
   .cursor/        .windsurf/       .claude/           <vendor>/
   commands/       workflows/       commands/           skills/

No copying. No drift. One source of truth.


Quick Example

oasr list screenshot List all registered skills with metadata

# Register local skills
oasr add ~/skills/git-commit
oasr add ~/skills/code-review

# Register remote skills from GitHub/GitLab
oasr add https://github.com/user/skills-repo/tree/main/my-skill
oasr add https://gitlab.com/org/project/tree/main/cool-skill

# Generate adapters for a project
oasr adapter --output-dir ~/projects/my-app

# Result:
# ~/projects/my-app/.cursor/commands/git-commit.md
# ~/projects/my-app/.windsurf/workflows/git-commit.md
# ~/projects/my-app/.claude/commands/git-commit.md

Remote Skills

oasr add remote screenshot Register skills directly from GitHub or GitLab

ASR supports registering skills directly from GitHub and GitLab repositories:

# Add a skill from GitHub
oasr add https://github.com/user/repo/tree/main/skills/my-skill

# Add a skill from GitLab
oasr add https://gitlab.com/org/project/tree/dev/cool-skill

# Sync remote skills (check for updates)
oasr sync

# Use remote skills
oasr use my-skill -d ./output

Authentication (optional, for private repos and higher rate limits):

export GITHUB_TOKEN=ghp_your_token_here
export GITLAB_TOKEN=glpat_your_token_here

Remote skills are fetched on-demand during adapter and use operations. The registry stores the URL, and sync checks if the remote source has changed.


Documentation


Supported asr adapter IDEs

IDE Adapter Output
Cursor cursor .cursor/commands/*.md
Windsurf windsurf .windsurf/workflows/*.md
Codex codex .codex/skills/*.md
GitHub Copilot copilot .github/prompts/*.prompt.md
Claude Code claude .claude/commands/*.md

License

See LICENSE.

Screenshots

Command Examples

Command Screenshot
oasr list list
oasr add (local) add
oasr add (remote) add-remote
oasr sync sync
oasr status status
oasr find find
oasr adapter adapter

See docs/.images/ for all screenshots.

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

oasr-0.5.1.tar.gz (563.9 kB view details)

Uploaded Source

Built Distribution

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

oasr-0.5.1-py3-none-any.whl (86.8 kB view details)

Uploaded Python 3

File details

Details for the file oasr-0.5.1.tar.gz.

File metadata

  • Download URL: oasr-0.5.1.tar.gz
  • Upload date:
  • Size: 563.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oasr-0.5.1.tar.gz
Algorithm Hash digest
SHA256 ecebfbf6eb27b25f004c705bba4d0377e0c8f6b2b362dd9fa934213ecf0d93a6
MD5 ef435e6ce588185f953db94fbe3f7226
BLAKE2b-256 42f5b709ef84270f5c85cf78941623f7792e6ffc183a409564748eff38d5ca90

See more details on using hashes here.

Provenance

The following attestation bundles were made for oasr-0.5.1.tar.gz:

Publisher: publish.yml on JordanGunn/oasr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oasr-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: oasr-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 86.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oasr-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c81c9deba31438d0d78b4822abdcd5baf7a5a9364bf87d0d4b94f96aa87583d3
MD5 8813baee88f5d9b15e3634d965e73450
BLAKE2b-256 5f310a3f039d126e28b3ded919301065db9cf0506c6f789e26893bdc4759f4c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for oasr-0.5.1-py3-none-any.whl:

Publisher: publish.yml on JordanGunn/oasr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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