by mode-io
Manage skills across Codex CLI, Claude Code, Cursor, OpenCode, and OpenClaw from one local app.
# Add to your Claude Code skills
git clone https://github.com/mode-io/skill-managerGuides for using ai agents skills like skill-manager.
Last scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ws: ws: Uninitialized memory disclosure",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T16:14:24.443Z",
"npmAuditRan": true,
"pipAuditRan": false
}No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
AI extensions are scattered across harness-specific folders, MCP config files, slash command locations, and marketplace sources. Skill Manager gives those pieces one local control surface:
| Product idea | What it means |
|---|---|
| In use | Skill Manager controls the item and can enable or disable it across harnesses. |
| Needs review | Skill Manager found local state, config differences, or inventory issues that need a decision. |
| Scan | Run LLM-backed security checks against Skills before trusting them. |
| Discover | Browse marketplaces and preview external tools. |
Start with the whole extension portfolio: what is in use, what needs review, what can be discovered, and where extensions are active.

Use Skills as shared local packages instead of maintaining separate copies per harness.
Typical flow:

Scan Skills with an LLM-backed security review before you rely on them.
Typical flow:
Scan configurations are managed separately so you can save multiple providers, choose one active configuration, and keep API keys masked in list views.
Use MCP servers as one normalized config that can be written into each harness shape.
Typical flow:

Use slash commands as one shared prompt library instead of rewriting the same command in each harness-specific format.
Typical flow:
$ARGUMENTS where runtime input should be inserted.
Marketplace is the discovery surface:

brew tap mode-io/tap
brew install skill-manager
skill-manager start
npm install -g @mode-io/skill-manager
skill-manager start
The npm wrapper downloads the native release artifact for the current platform and CPU architecture.
| Harness | Skills | MCP servers | Slash commands |
|---|---|---|---|
| Codex CLI | Yes | Yes | Yes |
| Claude Code | Yes | Yes | Yes |
| Cursor | Yes | Yes | Yes |
| OpenCode | Yes | Yes | Yes |
| OpenClaw | Yes | Not Yet | Not Yet |
Skill Manager is a local configuration-management tool. It runs on your machine and reads or writes local harness extension state.
Actions that can change local state include:
App-owned files live under ~/Library/Application Support/skill-manager on macOS and XDG base directories on Linux.
Before adoption, each harness points at its own local skill folder. After adoption, Skill Manager keeps one canonical package in its shared local store and exposes it to selected harnesses with local links. Disabling a harness removes that harness binding without deleting the package.
Skill scans build a bounded prompt context from SKILL.md, manifest metadata, script and config files, and files referenced by the Skill instructions. Secret-bearing files such as .env, private keys, certificates, and credential files are excluded from the prompt context, and large files are skipped when they exceed scanner limits.
The scanner uses the active saved LLM configuration first. If none is active, it can fall back to supported environment variables such as ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY, GOOGLE_API_KEY, AZURE_OPENAI_API_KEY, AWS_BEDROCK_MODEL, or OLLAMA_HOST.
Scan reports show whether the Skill is safe, the maximum severity, findings, locations, snippets, and remediation text. The frontend caches completed reports in browser local storage so recent results remain visible after navigation.
MCP servers are stored as normalized Skill Manager records, then translated into the config shape each harness expects:
mcp_servers.mcpServers JSON entries.When Skill Manager finds different configs for the same MCP server, it asks you to resolve the source of truth first.
Slash commands are stored as TOML records under Skill Manager app storage, then rendered into each supported harness format:
~/.config/opencode/commands and invokes