Homebrew-style skill manager for AI coding agents
Project description
neoskills
Cross-Agent Skill Bank, Transfer System, and Embedded Skill Substrate
neoskills manages skills as the common denominator across multiple agent ecosystems (Claude Code, OpenCode, OpenClaw). It maintains a canonical, portable master skill bank that you can view in one place, sync to GitHub, and deploy selectively to different agents, instances, and workflows.
Features
- Canonical Skill Bank with LTM/STM memory model and variant support per agent
- Multi-ecosystem discovery - scan Claude Code, OpenCode, and OpenClaw for installed skills
- Bidirectional transfer - import skills into the bank, deploy them to any target
- Symlink-based embedding - zero-copy, reversible projection into agent skill directories
- Web acquisition - import from git repos, zip URLs, or raw file URLs
- Git sync - version control your skill bank and push/pull to GitHub
- Claude-powered enhancement - normalize, audit, generate variants, add docs/tests
- Bundle management - group skills into deployable sets for workflows, teams, or machines
- Plugin mode - runs inside Claude Code as an embedded plugin with agents and commands
Installation
pip install neoskills
Or with uv:
uv add neoskills
Quick Start
# Install from PyPI
pip install neoskills
# or with uv
uv add neoskills
# Initialize workspace
neoskills init
# Discover skills across your agent ecosystems
neoskills scan claude-code-user
neoskills scan opencode-local
# Import skills into the bank
neoskills import from-target claude-code-user --skill skill-discovery
neoskills import from-git https://github.com/your-org/skills-repo
# Deploy to a different agent
neoskills deploy skill skill-discovery --to opencode-local
# Embed bank into an agent via symlinks
neoskills embed --target claude-code-user
neoskills unembed --target claude-code-user
# Sync with GitHub
neoskills sync commit -m "Add new skills"
neoskills sync push
# Enhance with Claude
neoskills enhance audit --skill skill-discovery
neoskills enhance normalize --skill skill-discovery --apply
Architecture
~/.neoskills/
├── LTM/ # Long-term portable knowledge
│ ├── myMemory/ # User-editable agent memory
│ │ ├── AGENTS.md # Operating instructions
│ │ ├── SOUL.md # Persona, boundaries, tone
│ │ ├── TOOLS.md # Tool notes and conventions
│ │ ├── BOOTSTRAP.md # First-run ritual
│ │ ├── IDENTITY.md # Agent name, vibe, emoji
│ │ └── USER.md # User profile and preferences
│ ├── bank/
│ │ ├── skills/ # Canonical skill bank
│ │ │ └── <skill_id>/
│ │ │ ├── canonical/ # Master copy
│ │ │ ├── variants/ # Agent-specific variants
│ │ │ ├── metadata.yaml
│ │ │ └── provenance.yaml
│ │ ├── plugins/
│ │ └── bundles/
│ ├── mappings/
│ │ ├── targets/ # Deployment target definitions
│ │ └── translators/
│ └── sources/
├── STM/ # Short-term runtime artifacts
│ ├── sessions/
│ ├── runs/
│ ├── logs/
│ └── scratch/ # Embed backups
├── targets/
├── registry.yaml # Master skill catalog
├── config.yaml # Configuration
└── state.yaml # Embed state
Targets
neoskills ships with four built-in targets:
| Target | Agent | Discovery Path |
|---|---|---|
claude-code-user |
Claude Code | ~/.claude/skills |
claude-code-plugins |
Claude Code | ~/.claude/plugins/*/skills |
opencode-local |
OpenCode | ~/.config/opencode/skills |
openclaw-custom |
OpenClaw | (user-defined) |
Add custom targets:
neoskills target add my-server \
--agent-type claude-code \
--discovery ~/.claude/skills \
--install ~/.claude/skills
CLI Reference
| Command | Description |
|---|---|
neoskills init |
Create ~/.neoskills/ workspace |
neoskills target list|add |
Manage deployment targets |
neoskills scan <target> |
Discover skills in a target |
neoskills import from-target|from-git|from-web |
Import skills to bank |
neoskills deploy skill|bundle --to <target> |
Deploy to a target |
neoskills deploy create-bundle |
Create a skill bundle |
neoskills embed|unembed |
Symlink projection into agents |
neoskills sync status|commit|push|pull |
Git operations on bank |
neoskills enhance <op> --skill <id> |
Claude-powered enhancement |
neoskills validate [--skill <id>] |
Validate skills (structure, references) |
neoskills install <skill_id>... |
One-step bank verify + embed |
neoskills agent list|run |
List or run autonomous agents |
neoskills config set|get|show |
Configuration management |
neoskills plugin create|validate |
Plugin scaffolding and validation |
Three Operating Modes
- External Orchestrator (default) - CLI runs independently, scans/imports/deploys across agents
- Agent-invoked Tool - Claude Code or OpenCode calls neoskills as a tool
- Embedded Plugin Mode - neoskills installs itself as a Claude Code plugin, exposing agents, skills, and the
/nscommand
Authentication
neoskills resolves authentication automatically:
- .env API key - loads from
./,.neoskills/, or~/.neoskills/.env - SDK subscription reuse - works inside Claude Code/Desktop with no API key
- Disabled - non-LLM features still work (scan, import, deploy, embed)
Development
# Clone and install
git clone https://github.com/neolaf2/neoskills
cd neoskills
uv sync --dev
# Run tests
uv run pytest -v
# Lint
uv run ruff check src/
# Run locally
uv run neoskills --help
Docker
docker build -t neoskills .
docker run -e ANTHROPIC_API_KEY=... neoskills scan claude-code-user
License
MIT - see LICENSE
Author
Richard Tong
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file neoskills-0.3.1.tar.gz.
File metadata
- Download URL: neoskills-0.3.1.tar.gz
- Upload date:
- Size: 115.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b72e4f2a5897c8c0d1b5177f95a12b8e2a5e5ab9f1360f30c8d790a10daa1ded
|
|
| MD5 |
78ce80365cfe02dd446754aa5dbe8bed
|
|
| BLAKE2b-256 |
153cb3b911cb975508e157ccfa4288877949ea46c38b84536261e71fc316e442
|
File details
Details for the file neoskills-0.3.1-py3-none-any.whl.
File metadata
- Download URL: neoskills-0.3.1-py3-none-any.whl
- Upload date:
- Size: 48.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fbe01ca764dbd787a07ec68e491a715fa82d91c8804f81fc11fb7a380237a24
|
|
| MD5 |
e685886660925811eccf82cea498f183
|
|
| BLAKE2b-256 |
c1898246458d89f6646f1811b1fd7872e648b4d79eb5d0dd14e16e17379b5d20
|