claude-night-market
A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Validates and syncs skills, commands, agents, MCP servers, and hooks across Claude Code, Codex CLI, GitHub Copilot CLI, and Cursor, from a single Rust binary. Includes a skill that turns a codebase into a self-contained HTML portal.
Claude Code
> /plugin marketplace add athola/skrills> /plugin install skrills@skrills-marketplace
Codex
$ npx skills add athola/skrills -a codex
Cursor
$ npx skills add athola/skrills -a cursor
Gemini CLI
$ npx skills add athola/skrills -a gemini-cli
GitHub Copilot
$ copilot plugin marketplace add athola/skrills$ copilot plugin install skrills@skrills-marketplace
OpenCode
$ npx skills add athola/skrills -a opencode
Windsurf
$ npx skills add athola/skrills -a windsurf


![]()
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
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.
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. validate and
analyze read ~/.claude only when SKRILLS_INCLUDE_CLAUDE=1 is set
(or pass --skill-dir); sync-all always reads it:
export SKRILLS_INCLUDE_CLAUDE=1
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).
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 | Y |
| Agents | Y | 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 (Codex and Copilot have no hooks) or because the
mapping isn't built yet (Cursor preferences). Copilot gets commands as
.prompt.md prompt files. Codex has no agent directory, so agents go one
way, into ~/.agents/skills/agent-<name>. Cursor already runs the hooks
in ~/.claude/settings.json, so a Claude-to-Cursor sync skips them
rather than run them twice. 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.
Validate skills on every pull request with the reusable GitHub Action:
- uses: athola/skrills/.github/actions/validate-skills@v0.9.0
with:
targets: all
strict: true
path: skills/
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.
| 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 |
create-skill) runs the claude or codex
CLI found on PATH (override with SKRILLS_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 read SKRILLS_CLAUDE_API_KEY or
SKRILLS_CODEX_API_KEY.make fmt precommit # every check the pre-commit hook runs
Builds on Rust 1.89 or later; the test suite needs 1.93.1 or later. 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.
A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
A development methodology for coding agents that makes the agent brainstorm before building, follow plans, run parallel work and finish branches in a disciplined way. You get fewer skipped steps and more consistent results from your coding assistant.
Helps you take a change from a rough idea or bug report through to a tested, reviewed result, with each step handled by a focused skill. Its skills cover pinning down domain terms, designing module interfaces, diagnosing hard bugs, and reviewing changes against your repo's coding standards.
Gives your coding agent a planning, testing and review routine to follow on every task. It plans before building, checks changes with tests, has a fresh reviewer look for regressions, and saves repeated wins as reusable skills.
Developer tools for working on the React codebase itself. Provides skills for extracting error messages, managing and debugging feature flags across release channels, running Flow type checks, and fixing lint and formatting issues before committing.
Validates and syncs skills, commands, agents, MCP servers, and hooks across Claude Code, Codex CLI, GitHub Copilot CLI, and Cursor, from a single Rust binary. Includes a skill that turns a codebase into a self-contained HTML portal. Install it with the command on its page. It includes html-portal-generator. Its skills do not fire on their own yet. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it