Skrills

Skrills is a skills support engine for AI coding assistants, enabling seamless synchronization and validation across multiple CLI environments.

Skrills

<p align="center"> <img src="assets/icon.png" alt="Skrills Icon"> </p>

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:

AssetClaude CodeCodex CLICopilot CLICursor
SkillsYYYY
CommandsYY--Y
AgentsY--YY
MCP ServersYYYY
HooksY----Y
Instructions / RulesY--YY
PreferencesYYY--
Plugin AssetsY----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

CratePurpose
cliBinary entry point (delegates to server crate)
serverMCP server, HTTP transport, security middleware
validateValidation logic for Claude/Codex/Copilot/Cursor compatibility
analyzeToken counting, dependency analysis, optimization
intelligenceRecommendations, project analysis, skill generation
syncMulti-directional sync with adapters for each CLI (Claude, Codex, Copilot, Cursor)
dashboardTUI and browser-based skill visualization
discoverySkill discovery and ranking
stateEnvironment config, manifest settings, runtime overrides
metricsSQLite-based telemetry for invocations, validations, sync
subagentsShared subagent runtime and backends
tomeResearch API orchestration, caching, PDF serving
test-utilsShared 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

ResourceDescription
User GuidePrimary documentation (mdBook)
CLI ReferenceAll commands with examples
MCP TutorialServer setup and tool reference
Sync GuideCross-CLI sync workflows (Claude, Codex, Copilot, Cursor)
Token OptimizationContext window management
FAQCommon questions
SecurityAuth, TLS, threat model
ChangelogRelease 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