Skip to content

athola/skrills

Repository files navigation

Skrills

Skrills Icon

Crates.io Downloads Docs CI Coverage Audit License: MIT Mentioned in Awesome Codex CLI

Skills support engine for Claude Code, Codex CLI, GitHub Copilot CLI, and Cursor.

Installation | User Guide | CLI Reference | MCP Tutorial | FAQ | Changelog

What's new in 0.7.6 -- Plugin assets sync mirrors runtime scripts, binaries, and source packages from the Claude plugin cache to Cursor. Hash-based change detection and executable permission preservation on Unix. See changelog.

Why Skrills?

Skills authored for one AI coding assistant rarely work in another. Skrills validates, analyzes, and syncs skills across four CLI environments from a single Rust binary:

  • One-command sync -- skrills sync-all mirrors skills, commands, agents, MCP servers, hooks, rules, preferences, and plugin assets between Claude Code, Codex CLI, Copilot CLI, and Cursor.
  • Validation with autofix -- detects missing frontmatter, incompatible fields, and body issues across each target's requirements, then fixes them with --autofix.
  • 36-tool MCP server -- exposes validation, sync, intelligence, and research operations over stdio or HTTP so other tools can call Skrills programmatically.

See comparison for how Skrills differs from static skill bundles, rules repositories, and local sync CLIs.

Demo

Skrills Demo

TUI dashboard -- navigate skills, activity, and metrics with keyboard shortcuts:

TUI Dashboard

See the quickstart tutorial for a walkthrough, or the MCP tutorial for server setup.

Features

  • Cross-CLI validation -- validates against Claude Code (permissive), Codex CLI (strict), Copilot CLI (strict), and Cursor rules. Auto-derives missing YAML frontmatter.
  • Multi-directional sync -- syncs eight asset types across four CLIs. File hashing preserves manual edits.
  • Token analytics -- per-skill token counts with reduction suggestions for context-window management.
  • Dependency resolution -- cycle detection and semver constraints across skill graphs.
  • MCP server -- 36 tools over stdio or HTTP for validation, sync, intelligence, research, and skill generation.
  • Session mining -- parses Claude Code and Codex CLI session history to improve recommendations.
  • Dashboards -- TUI and browser UIs showing skills, validation status, usage metrics, and MCP server configs. The standalone skrills-portal.html works offline without a running server.
  • Plugin asset sync -- mirrors runtime scripts, binaries, and source packages from the Claude plugin cache to Cursor with hash-based change detection.
  • Discovery deduplication -- frontmatter identity matching consolidates duplicate skill installations.

Installation

macOS / Linux:

curl -LsSf https://raw.githubusercontent.com/athola/skrills/HEAD/scripts/install.sh | sh

Windows PowerShell:

powershell -ExecutionPolicy Bypass -NoLogo -NoProfile -Command ^
"Remove-Item alias:curl -ErrorAction SilentlyContinue; iwr https://raw.githubusercontent.com/athola/skrills/HEAD/scripts/install.ps1 -UseBasicParsing | iex"

crates.io: cargo install skrills

See installation guide for HTTP transport setup, systemd services, and advanced options.

Quickstart

# Validate skills for Codex/Copilot/Cursor compatibility
skrills validate --target both --autofix

# Analyze token usage
skrills analyze --min-tokens 1000 --suggestions

# Sync from Claude to all other CLIs
skrills sync-all

# Sync between specific environments
skrills sync --from cursor --to claude

# Start MCP server and open the browser dashboard
skrills serve --http 127.0.0.1:3000 --open

# Interactive TUI dashboard
skrills tui

# Launch an agent with automatic backend routing (Claude -> Codex fallback)
skrills multi-cli-agent my-agent

See CLI reference for all commands including skill lifecycle management (skill-deprecate, skill-rollback, skill-import, skill-score, skill-catalog).

Supported Environments

Skrills syncs eight asset types across four CLI environments. Each cell reflects what the adapter reads and writes today:

Asset Claude Code Codex CLI Copilot CLI Cursor
Skills Y Y Y Y
Commands Y Y -- Y
Agents Y -- Y Y
MCP Servers Y Y Y Y
Hooks Y -- -- Y
Instructions / Rules Y -- Y Y
Preferences Y Y Y --
Plugin Assets Y -- -- Y

Plugin assets (scripts, binaries, libraries) are mirrored from the Claude plugin cache to ~/.cursor/plugins/cache/, preserving the directory hierarchy so that skills can reference companion scripts.

Cursor rules (.mdc files) are mapped bidirectionally via mode derivation (alwaysApply, glob-scoped, agent-requested). See ADR 0006 for the mapping strategy and sync guide for workflows.

Architecture

Crate Purpose
cli Binary entry point (delegates to server crate)
server MCP server, HTTP transport, security middleware
validate Validation logic for Claude/Codex/Copilot/Cursor compatibility
analyze Token counting, dependency analysis, optimization
intelligence Recommendations, project analysis, skill generation
sync Multi-directional sync with adapters for each CLI (Claude, Codex, Copilot, Cursor)
dashboard TUI and browser-based skill visualization
discovery Skill discovery and ranking
state Environment config, manifest settings, runtime overrides
metrics SQLite-based telemetry for invocations, validations, sync
subagents Shared subagent runtime and backends
tome Research API orchestration, caching, PDF serving
test-utils Shared test infrastructure (fixtures, RAII guards, temp dirs)

See architecture docs for the crate dependency graph and runtime flow.

Configuration

Create ~/.skrills/config.toml for persistent settings:

[serve]
auth_token = "your-secret-token"
tls_auto = true
cors_origins = "https://app.example.com"

Precedence: CLI flags > environment variables > config file.

See security docs for TLS setup (skrills cert subcommand) and FAQ for environment variables.

Documentation

Resource Description
User Guide Primary documentation (mdBook)
CLI Reference All commands with examples
MCP Tutorial Server setup and tool reference
Sync Guide Cross-CLI sync workflows (Claude, Codex, Copilot, Cursor)
Token Optimization Context window management
FAQ Common questions
Security Auth, TLS, threat model
Changelog Release history

Known Limitations

  • No runtime skill injection: Skrills validates and syncs files; it does not inject skills into prompts at runtime.
  • Copilot command sync: Copilot CLI does not support slash commands, so command sync is skipped.
  • Cursor preferences: Cursor preferences are not yet mapped; preference sync is skipped for Cursor targets.
  • Empirical mining: Session history parsing works best with recent Claude Code / Codex CLI versions.
  • LLM generation: Requires ANTHROPIC_API_KEY or OPENAI_API_KEY for skill creation.

Plugin Marketplaces

Skrills validates, analyzes, and syncs skills from these exemplar plugin marketplaces:

  • superpowers -- Opinionated skill pack for Claude Code covering TDD, code review, planning, debugging, and development workflows.
  • claude-night-market -- Plugin marketplace for Claude Code with skills, agents, hooks, and commands across multiple domains.

Development

make lint test --quiet

Requires Rust 1.75+. See development guide for test coverage, CI, and contribution workflow.

Contributing

License

MIT

Star History Chart

About

Coordinate skills between Codex, Copilot, and Claude Code. Validates, analyzes, and syncs skills, subagents, commands, and configuration between multiple CLIs.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors