Getting Started
1. Started with pnpm-plugin-skills
If your project already uses pnpm, the easiest way to adopt skills-package-manager is to start from pnpm install and let skill installation happen automatically inside the existing dependency workflow.
Install the pnpm plugin
Add the plugin to your workspace configuration:
This tells pnpm to load pnpm-plugin-skills during installation.
Declare the skills your project needs
Create a skills.json file at the workspace root. You can create it manually or use the CLI to initialize:
Example skills.json:
This manifest defines:
installDir: where managed skills are materializedlinkTargets: which agent-specific directories receive linksskills: which skills should be installed
Run pnpm as usual
Now run the normal install command:
During this process, the plugin will:
- Read
skills.json - Resolve each skill source
- Generate or update
skills-lock.yaml - Materialize skills into
installDir - Link them into every directory listed in
linkTargets
That means your regular pnpm bootstrap flow now also restores agent skill context.
Add .agents/skills etc to .gitignore
Since the skill directories are generated artifacts, you should add them to .gitignore:
2. Add more skills when needed
When you want to introduce another skill, you can either edit skills.json directly or use the CLI to update the manifest:
3. Refresh remote skill versions
When remote git-based skills should move forward to newer commits, run:
Then run:
This keeps the resolved lockfile state and linked directories aligned with the latest declared versions.
1. Initialize your project
If you're not using pnpm or prefer a standalone workflow, you can use the CLI directly to manage skills.
Install the CLI
You don't need to install the CLI globally — just use npx to run it on demand:
Create a skills.json manifest
Initialize a new project with the init command:
The default skills.json created by init --yes:
This manifest defines:
installDir: where managed skills are materializedlinkTargets: which agent-specific directories receive linksskills: which skills should be installed (empty initially)
Install your first skills
Add skills to your project using the add command:
After add, the skill is immediately resolved, materialized into installDir, and linked to each configured linkTarget.
Run install to materialize skills
If you edited skills.json manually or want to ensure everything is synced:
This reads skills.json, resolves each skill specifier, generates or updates skills-lock.yaml, materializes skills into installDir, and links them into every directory listed in linkTargets.
Add .agents/skills to .gitignore
Since the skill directories are generated artifacts, you should add them to .gitignore:
2. Add more skills when needed
When you want to introduce another skill, you can either edit skills.json directly or use the CLI:
3. Refresh remote skill versions
When remote git-based skills should move forward to newer commits, run:
Or update specific skills only:
This keeps the resolved lockfile state and linked directories aligned with the latest declared versions.