OpenPackage
The open, universal, coding agent skills, agents, rules, and commands organizer and package manager.
Install / Use
/learn @enulus/OpenPackageREADME
OpenPackage
OpenPackage enables simple, modular management of coding agent configs, providing unified installation, management, and packaging of rules, commands, agents, skills, and MCPs for any platform, any codebase.
Why OpenPackage?
Modern AI coding tools are powerful and efficient when rules, commands, subagents, and skills are properly setup. Unfortunately, these files remain difficult to organize and manage.
OpenPackage provides a centralized and universal interface for installing, uninstalling, and packaging coding agent config files for simplified management and distribution.
- Simplified config management - Install & uninstall rules, commands, agents, skills and MCPs with a single command
- Consistent dependencies - Declare and package sets of config files for organization and reuse
- Universal compatability - Built in cross-platform conversions and install target resolutions
- Community driven - Compose packages together to create powerful workflows that continuously evolve
Use cases
- Install Agents, Skills, and Claude Plugins to any coding platform
- Sync rules, commands, agents, skills, and MCPs across platforms
- Reuse files and configs across multiple codebases
- Simplified, modular management and install/uninstall of configs and specs
How it works
At its core, OpenPackage is a lightweight CLI package manager that performs installs and uninstalls of config files, with the ability to keep track of file sources and dependencies, plus packaging capabilities.
It's basically a much more powerful, universal, and open source version of Vercel Skills and Claude Code Plugins.
Install OpenPackage
npm
npm install -g opkg
Quick start
Install resources
opkg install <resource>
Installs all files from a specified resource into the codebase at cwd, formatted and converted to per platform conventions and into their respective dirs.
Install resources (packages, plugins, rules, commands, agents, and skills)
# OpenPackage local or remote packages
opkg install <package-name>
# Github repos
opkg install gh@<owner>/<repo>
# GitHub URLs
opkg install https://github.com/<owner>/<repo>/<path-to-resource>
# Local path to package or Claude Plugin
opkg install <path-to-dir>
# Git URLs
opkg install git@<host>:<repo>.git
# Examples
opkg install essentials
opkg install gh@anthropics/claude-code --plugins code-review
opkg install gh@wshobson/agents --plugins ui-design --agents ui-designer
opkg install gh@wshobson/agents/plugins/ui-design/agents/ui-designer
opkg install gh@vercel-labs/agent-skills --skills react-best-practices
opkg install https://github.com/anthropics/claude-code/tree/main/plugins/code-review
opkg install https://github.com/wshobson/agents/tree/main/plugins/ui-design/agents/ui-designer.md
opkg install https://github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices
Options
| Option | Description |
| --- | --- |
| -g, --global | Install to home directory (~/) instead of current workspace |
| -s, --skills <skills...> | Install specific skills by name |
| -a, --agents <agents...> | Install specific agents by name |
| -c, --commands <commands...> | Install specific commands by name |
| -r, --rules <rules...> | Install specific rules by name |
| --plugins <plugins...> | Install specific plugins by name |
| --platforms <platforms...> | Install to specific platforms (e.g., cursor claudecode opencode) |
| -i, --interactive | Interactively select resources to install |
| --dev | Add resource to dev-dependencies |
| --remote | Pull and install from remote registry, ignoring local versions |
| --local | Resolve and install using only local registry versions |
List installed resources
opkg list # Lists resources installed to workspace at cwd
opkg list <package> # Lists installed files for specified resource
Use the list command to show an overview of packages and files installed.
Options
| Option | Description |
| --- | --- |
| -s, --scope <scope> | Workspace scope: project or global (default: both) |
| --flat | List packages at root level without nesting |
| -f, --files | Show individual file paths |
| -t, --tracked | Show only tracked resources (skip untracked scan) |
| -u, --untracked | Show only untracked resources |
| --platforms <platforms...> | Filter by specific platforms (e.g., cursor, claude) |
Uninstall packages
opkg uninstall <package>
Removes all files for a package from the codebase at cwd.
Options
| Option | Description |
| --- | --- |
| -g, --global | Uninstall from home directory (~/) instead of current workspace |
| -i, --interactive | Interactively select items to uninstall |
[!TIP]
Learn more by heading over to the official docs.
Compose packages
opkg new <package>
Options
| Option | Description |
| --- | --- |
| --scope <scope> | Package scope: root, project, or global (default: global) |
| --path <path> | Custom path for package directory (overrides scope) |
Then manually add/update/remove files to and from the package following this structure:
<package>
│
│ # Package files
├── openpackage.yml # The OpenPackage manifest, required
├── README.md # LICENSE.md, CONTRIBUTING.md, etc.
│
│ # Content files
├── rules/ # Rule files
├── commands/ # Command files (slash commands)
├── agents/ # Agent files (subagents)
├── skills/ # Skill files (skills)
├── root/ # Any other root dirs or files (Ex: specs/, docs/, tests/, etc.)
├── AGENTS.md # Platform root file
├── mcp.jsonc # MCP config file
│
│ # Custom files
└── <other> # Customizable via `platforms.jsonc` overrides/extensions
You can also use the add and remove commands to add/remove files to/from a package.
opkg add --to <package> # Interactively select files from cwd to add to package
opkg add .cursor/commands/clean.md --to <package> # Adds workspace file or dir to package
opkg remove --from <package> # Interactively select files from package to remove
opkg remove commands/clean.md --from <package> # Removes file or dir from package
add options
| Option | Description |
| --- | --- |
| --to <package-name> | Target package (for dependency: which manifest; for copy: which package source) |
| --dev | Add to dev-dependencies instead of dependencies |
| --copy | Force copy mode (copy files instead of recording dependency) |
| --platform-specific | Save platform-specific variants for platform subdir inputs |
remove options
| Option | Description |
| --- | --- |
| --from <package-name> | Source package name (defaults to workspace package) |
[!TIP]
Learn more about packages from the packages doc on our official docs.
Supported Platforms & Files
OpenPackage performs installation and platform sync of files for supported AI coding platforms outlined by the table below.
| Platform | Directory | Root file | Rules | Commands | Agents | Skills | MCP | | --- | --- | --- | --- | --- | --- | --- | --- | | AdaL | .adal/ | | | | | skills/ | settings.json | | Amp | .agents/ | | checks/ | | | skills/ | .amp/settings.json | | Antigravity | .agent/ | | rules/ | workflows/ | | skills/ | | | Augment Code | .augment/ | | rules/ | commands/ | | skills/ | | | Claude Code | .claude/ | CLAUDE.md | rules/ | commands/ | agents/ | skills/ | .mcp.json (root) | | Claude Code Plugin | .claude-plugin/ | | rules/ | commands/ | agents/ | skills/ | .mcp.json (root) | | Cline | .cline/ | | | | | skills/ | cline_mcp_settings.json | | CodeBuddy | .codebuddy/ | | rules/ | | | skills/ | | | Codex CLI | .codex/ | | | prompts/ | | skills/ | config.toml | | Command Code | .commandcode/ | | | commands/ | agents/ | skills/ | | | Continue | .continue/ | | rules/ | prompts/ | | skills/ | | | Crush | .config/crush/ | | | | | skills/ | crush.json (root) | | Cursor | .cursor/ | | rules/ | commands/ | agents/ | skills/ | mcp.json | | Factory AI | .factory/ | | | commands/ | droids/ | skills/ | settings/mcp.json | | GitHub Copil
