About Skrills
Skrills is an MCP server published by athola in the Developer Tools category: coordinate skills between Codex, Copilot, and Claude Code. Validates, analyzes, and syncs skills, subagents, commands, and configuration between multiple CLIs.
The repository has 69 stars and 10 forks, with the last commit 15 hours ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/athola/skrillsThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Skrills
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 9 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- !No dynamic code executionSource scan found eval or shell execution. Review how tool inputs reach it before granting credentials.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
Skrills
Write a skill once, use it everywhere. Skrills validates and syncs skills, commands, agents, MCP servers, and hooks across Claude Code, Codex CLI, GitHub Copilot CLI, and Cursor, all from a single Rust binary.
Install · User Guide · CLI Reference · FAQ · Changelog
Install
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"
Or cargo install skrills. See the
installation guide for HTTP transport and
service setup.
Everyday use
Skrills handles the loop of writing skills and keeping every CLI current. The common jobs:
Make your Claude skills work everywhere. Codex and Copilot are strict about frontmatter, and Cursor uses its own rule format. Detect and fix the incompatibilities, then push to the other CLIs:
skrills validate --target both --autofix # fix missing/invalid frontmatter and body
skrills sync-all # mirror everything to all four CLIs
Keep two environments in sync. Edit in one, mirror to another. File hashing preserves manual edits on both sides:
skrills sync-all --from cursor --to claude
Trim context-window cost. Surface your token-heaviest skills with reduction suggestions:
skrills analyze --min-tokens 1000 --suggestions
Watch what's loaded, live. cold-window continuously re-reads your
plugins, skills, commands, and subagents, applying per-source token
attribution and tiered alerts. Render it as a terminal TUI or a browser
dashboard (or both):
skrills cold-window --tui # live TUI in this terminal (q / Ctrl-C to quit)
skrills cold-window --browser --port 8888 # same engine, browser dashboard at /dashboard
skrills cold-window --tui --demo # invented data that walks every alert tier, as in the GIF
To keep the TUI always-on in a Zellij pane, see Cold-Window: always-on in Zellij.

Let other tools call Skrills. The MCP server exposes its tools (validation, sync, intelligence, research, subagents) over stdio or HTTP:
skrills serve --http 127.0.0.1:3000 --open
See the quickstart tutorial for a full
walkthrough and the CLI reference for every command,
including skill lifecycle tools (skill-deprecate, skill-rollback,
skill-import, skill-score, skill-catalog).

Supported environments
Skrills syncs eight asset types across four CLIs. Each cell reflects what the adapter reads or 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 |
A dash means that asset doesn't sync to that CLI, either because the CLI
has no equivalent (Copilot CLI has no slash commands) or because the
mapping isn't built yet (Cursor preferences). Plugin assets flow one way,
from Claude Code to Cursor: the whole plugin tree is mirrored into
Cursor's plugins/local/, carrying skill bodies and runtime scripts, and
stale entries are pruned automatically. A sync in the other direction
reports plugin assets as skipped. See the
sync guide for details.
CI integration
Validate skills on every pull request with the reusable GitHub Action:
- uses: athola/skrills/.github/actions/validate-skills@v0.8.2
with:
targets: all
strict: true
path: skills/
Configuration
Persistent settings are in ~/.skrills/config.toml (precedence: CLI
flags > environment variables > config file):
[serve]
auth_token = "your-secret-token"
tls_auto = true
cors_origins = "https://app.example.com"
allowed_hosts = "skrills.internal:8080" # needed when binding a non-loopback address
project_roots = ["~/src"] # project_dir a client may have analyzed
See security docs for TLS setup and the FAQ for environment variables.
Documentation
| Resource | Description |
|---|---|
| User Guide | Primary documentation (mdBook) |
| CLI Reference | All commands with examples |
| Sync Guide | Cross-CLI sync workflows |
| MCP Tutorial | Server setup and tool reference |
| Architecture | Crate graph and runtime flow |
| Security | Auth, TLS, threat model |
| Changelog | Release history |
Limitations
- Skrills validates and syncs files. It does not inject skills into prompts at runtime.
- Session-history mining works best with recent Claude Code / Codex CLI versions.
- LLM-based skill generation (
create-skill) runs theclaudeorcodexCLI found onPATH(override withSKRILLS_CLI_BINARY) and uses that CLI's own login. skrills reads no model API key for it. The API-backed subagent backends are separate and readSKRILLS_CLAUDE_API_KEYorSKRILLS_CODEX_API_KEY.
Contributing
make lint test --quiet
Builds on stable Rust. See the
development guide and
process guidelines. Update docs and tests
with code. Report bugs with your OS, skrills --version, and logs
(--trace-wire for MCP). For security, see the
security policy.
License
README fetched from the repository 9 hours ago. The original is authoritative.