sx

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2026 License: Apache-2.0

README ΒΆ

sx

sx is your team's private npm for AI assets - skills, MCP configs, commands, and more.

Capture what your best AI users have learned and spread it to everyone automatically.


Stars Star History Downloads PRs Welcome

⭐ Star this repo Β· 🌐 Website Β· πŸ“‹ Changelog Β· πŸ“„ License


Demo

Why sx?

Your best developers have figured out how to make AI assistants incredibly productive - custom skills, MCP configs, slash commands, proven patterns. But that knowledge is stuck on their machines.

Current workarounds don't scale:

  • Copy into each repo - Duplication nightmare, no central updates, version drift
  • Global config - Bloats context for projects/tasks that don't need those skills
  • Client plugins - Manually install each one, locked to one AI client, no bundling

sx solves this by:

  • Sharing expertise - Turn individual discoveries into team assets
  • Instant onboarding - New devs inherit the team's AI playbook on day one
  • Central updates - Change once in your vault, everyone gets the update
  • Scoped installation - Right assets for each org, team, bot, repo or person, no context bloat
  • Works with any AI client - Claude Code, Cursor, GitHub Copilot, Gemini, Kiro, and more, plus claude.ai and chatgpt.com via the cloud relay

Quickstart

Install via Homebrew (macOS/Linux):

brew tap sleuth-io/tap
brew install sx

Or via shell script:

curl -fsSL https://raw.githubusercontent.com/sleuth-io/sx/main/install.sh | bash

Then

# Initialize
sx init

# Add an asset from your vault
sx add /path/to/my-skill

# Install assets to your current project
sx install

Multiple vaults? Use profiles to switch between them:

sx profile add work        # Add a new profile
sx profile use work        # Switch to it
sx profile list            # See all profiles

Install targets β€” pick who sees which asset:

sx install my-skill --org                         # everyone in the vault
sx install my-skill --repo github.com/acme/infra  # only inside that repo
sx install my-skill --path github.com/acme/infra#docs/  # one path in a repo
sx install my-skill --team platform               # every member of a team
sx install my-skill --user alice@acme.com         # a single user (must be the caller)
sx install my-skill --bot python-backend          # a bot identity (CI runner, agent)
Scope Who gets it
--org Everyone β€” the default if no flag is set
--repo / --path Callers working inside the named repo or subpath
--team Team members; admin-gated
--user A single human, must match caller's git identity
--bot A bot identity, resolved when SX_BOT=<name> is set

See docs/scoping.md for the full overview and links to a per-scope doc for each install target.

Preview β€” see what sx install would resolve for you, the pip freeze analogue, without downloading or writing anything:

sx install --dry-run

Use your vault from claude.ai or chatgpt.com β€” expose it as an MCP endpoint via the skills.new relay:

sx cloud connect       # opens skills.new, paste back the attach line
sx cloud serve         # keep this running β€” Ctrl+C exits
sx cloud status        # prints the MCP URL to paste into claude.ai / chatgpt.com

The relay forwards requests over a WebSocket your machine opens β€” vault content stays local. See docs/cloud-relay.md.

Usage analytics & audit:

sx stats                                   # adoption dashboard
sx stats --since 7d --json                 # machine-readable
sx audit                                   # recent team/install mutations
sx audit --actor alice@acme.com --since 30d --event install.set

Already using Claude Code?

If you've built up skills, plugins, or MCP configs in your .claude directory, sx helps you version, sync across machines, and share with teammates.

# Add your existing skills/commands (sx auto-detects the type)
sx add ~/.claude/commands/my-command
sx add ~/.claude/skills/my-skill
sx add code-review@claude-plugins-official

Your prompt files stay exactly as they are - sx just wraps them with metadata for versioning.

What can you build and share?

  • Skills - Custom prompts and behaviors for specific tasks
  • Rules - Coding standards and guidelines that apply to specific file types or paths
  • Agents - Autonomous AI agents with specific goals
  • Commands - Slash commands for quick actions
  • Hooks - Automation triggers for lifecycle events
  • MCP Servers (experimental) - Model Context Protocol (MCP) servers for external integrations
  • Plugins - Claude Code plugin bundles with commands, skills, and more

skills.sh support

sx integrates with skills.sh, a community directory of 85k+ agent skills.

sx add anthropics/skills/frontend-design  # Add a specific skill
sx add vercel-labs/agent-skills           # Browse skills in a repo
sx add --browse                           # Search and browse the full directory

Distribution models

Choose the right distribution model for your team:

Local (Personal)

Perfect for easily sharing personal tools across multiple personal projects

sx init --type path --path my/vault/path

Git vault (Small teams)

Share assets through a shared git vault

sx init --type git --repo git@github.com:yourteam/skills.git

Skills.new (Large teams and enterprise)

Centralized management with a UI for discovery, creation, sharing, and usage analytics

sx init --type sleuth

How it works

sx follows the manifest-and-lock pattern used by npm, cargo, and uv:

  1. Manifest (sx.toml) β€” the vault's source of truth. Lists every managed asset, its install scopes (org, repo, path, team, bot, user), and team definitions (members, admins, repositories). Committed to git / path vaults. See docs/manifest-spec.md.
  2. Lock file β€” a per-user resolved artifact. sx install reads the manifest, resolves team and user scopes against the caller's git identity, and writes the result to the user's cache directory (~/<cache>/sx/lockfiles/). When the resolved lock changes, the previous file is rotated with a timestamp so old installs stay reproducible.
  3. Audit + usage streams β€” every team/install mutation appends an audit entry to .sx/audit/YYYY-MM.jsonl; usage events append to .sx/usage/YYYY-MM.jsonl. Query them with sx audit / sx stats.

High level: create assets with metadata, share to your vault, install globally, per repo, per path, per team, per bot, or per user, auto-install on new Claude Code sessions, stay synchronized β€” everyone gets the same tools automatically.

Supported Clients

Client Status Notes
Claude Code βœ… Supported Full support for all asset types
Cline βœ… Supported Skills, rules, workflows as commands, MCP servers, hooks
Codex βœ… Supported Skills, commands, MCP servers
Cursor βœ… Supported Skills, rules, commands, MCP servers, hooks
GitHub Copilot βœ… Supported Skills, rules, commands, agents, MCP servers, local hooks
Gemini (CLI/VS Code) βœ… Supported Skills, rules, commands, MCP servers, hooks
Gemini (JetBrains) βœ… Supported Rules, MCP servers only (no commands/hooks)
Gemini (Android Studio) βœ… Supported Rules, MCP-remote only (HTTP, no stdio)
Kiro βœ… Supported Skills, rules, commands, MCP servers
Openclaw βœ… Supported Skills, rules, commands
claude.ai (web) βœ… Supported Via the skills.new cloud relay
chatgpt.com (web) βœ… Supported Via the skills.new cloud relay

Roadmap

  • βœ… Local, Git, and Skills.new vaults
  • βœ… Claude Code support
  • βœ… Cline support
  • βœ… Cursor support
  • βœ… GitHub Copilot support
  • βœ… Gemini support
  • βœ… Codex support
  • βœ… Kiro support
  • βœ… Openclaw support
  • βœ… claude.ai and chatgpt.com support via the skills.new cloud relay
  • βœ… Org, Team, Bot, Repository & Personal installation targets for all vault types
  • βœ… Skill discovery - Use Skills.new to discover relevant skills from your code and architecture
  • βœ… Analytics - Track skill usage and impact
  • RBAC and change request flow - Support a gated skill update flow

License

See LICENSE file for details.


Development

Click to expand development instructions

Documentation

  • Vault Spec - Vault directory structure
  • Manifest Spec - sx.toml source-of-truth format (assets, scopes, teams)
  • Lock Spec - Per-user resolved lock file
  • Scoping - Install targets and links to per-scope docs (orgs, repos, teams, users, bots)
  • Audit log - Event catalog, sx audit filters, storage format
  • Usage analytics - sx stats dashboard, JSON output, event format
  • Metadata Spec - Asset metadata format
  • MCP Spec - MCP server and query tool
  • Profiles - Multiple configuration profiles
  • Clients - Client support model and IDE vs CLI limitations
  • Cloud relay - Expose your vault to claude.ai and chatgpt.com via skills.new

Prerequisites

Go 1.25 or later is required. Install using gvm:

# Install gvm
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

# Install Go (use go1.4 as bootstrap if needed)
gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.25
gvm use go1.25 --default

Building from Source

make init           # First time setup (install tools, download deps)
make build          # Build binary
make install        # Install to GOPATH/bin

Testing

make test           # Run tests with race detection
make format         # Format code with gofmt
make lint           # Run golangci-lint
make prepush        # Run before pushing (format, lint, test, build)

Releases

Tag and push to trigger automated release via GoReleaser:

git tag v0.1.0
git push origin v0.1.0

Directories ΒΆ

Path Synopsis
cmd
sx command
internal
cloud
Package cloud holds the client-side state for the "sx cloud" relay feature: credential storage, WebSocket dialing, and the MCP dispatcher loop.
Package cloud holds the client-side state for the "sx cloud" relay feature: credential storage, WebSocket dialing, and the MCP dispatcher loop.
cloud/cloudtest
Package cloudtest exposes test-only helpers for the β€œcloudβ€œ package.
Package cloudtest exposes test-only helpers for the β€œcloudβ€œ package.
git
github
Package github provides utilities for working with GitHub URLs and the GitHub API.
Package github provides utilities for working with GitHub URLs and the GitHub API.
handlers/rule
Package rule provides operations for injecting rules into markdown files.
Package rule provides operations for injecting rules into markdown files.
manifest
Package manifest defines sx.toml, the source-of-truth file stored at the vault root.
Package manifest defines sx.toml, the source-of-truth file stored at the vault root.
mcp
mgmt
Package mgmt contains shared data types and serializers for sx management features: teams (interface types only β€” on-disk storage lives in the manifest package), identity resolution, usage events, and audit events.
Package mgmt contains shared data types and serializers for sx management features: teams (interface types only β€” on-disk storage lives in the manifest package), identity resolution, usage events, and audit events.
registry
Package registry provides access to the skills.sh skill directory.
Package registry provides access to the skills.sh skill directory.
ui
Package ui provides terminal UI components for the Skills CLI.
Package ui provides terminal UI components for the Skills CLI.
ui/components
Package components provides interactive UI components for the Skills CLI.
Package components provides interactive UI components for the Skills CLI.
ui/theme
Package theme provides theming support for the Skills CLI UI.
Package theme provides theming support for the Skills CLI UI.
tools
logs command
tools/logs is a dev tool for viewing sx logs with colors
tools/logs is a dev tool for viewing sx logs with colors

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL