$ cnpm install @daymade/ccpm
npm-like package manager for Claude Code skills.
CCPM makes it easy to discover, install, and share Claude Code skills. Think of it as npm for Claude Code.
# Install CCPM globally
npm install -g @daymade/ccpm
# Search for skills
ccpm search pdf
# Install a skill
ccpm install pdf-reader
# List installed skills
ccpm list
# npm
npm install -g @daymade/ccpm
# Or use npx (no installation needed)
npx @daymade/ccpm search pdf
Requirements: Node.js 18+
CCPM CLI uses a built-in Supabase publishable key for registry access by default.
SUPABASE_ANON_KEY setup is required.SUPABASE_PUBLISHABLE_KEY setup is required.VITE_SUPABASE_PUBLISHABLE_KEY setup is required.Use CCPM_API_URL only when you intentionally want a different backend (for example local Supabase):
CCPM_API_URL=\"http://127.0.0.1:55421/functions/v1\" ccpm search test
| Command | Alias | Description |
|---|---|---|
ccpm search <query> |
Search skills in registry | |
ccpm popular |
Show most downloaded skills | |
ccpm recent |
Show recently published skills | |
ccpm info <name> |
Show skill details |
Search options:
ccpm search pdf # Basic search
ccpm search pdf --limit 50 # More results
ccpm search pdf --tags document # Filter by tag
ccpm search pdf --author daymade # Filter by author
ccpm search pdf --smart # Extended multi-source search (slower)
| Command | Alias | Description |
|---|---|---|
ccpm install <name> |
i |
Install a skill |
ccpm install-bundle <name> |
ib |
Install a curated bundle (shortcut for ccpm install bundle:<name>) |
ccpm update <name> |
Update to latest version | |
ccpm uninstall <name> |
remove |
Uninstall a skill |
ccpm list |
ls |
List installed skills |
Installation options:
ccpm install skill-name # Install to user skills (~/.claude/skills)
ccpm install skill-name --project # Install to project skills (./.claude/skills)
ccpm install skill-name@1.0.0 # Install specific version
ccpm install @daymade/skill-name # Install namespaced skill
ccpm install @daymade # Install a user's public skill stack
ccpm install @daymade/video-creator # Install scoped skill @daymade/video-creator
ccpm install bundle:@daymade/video-creator # Install a user's public bundle (strict)
ccpm install bundle:web-dev # Install a curated bundle
ccpm install skill-name --force # Force reinstall
| Command | Description |
|---|---|
ccpm reviews <skill-name> |
View reviews for a skill |
ccpm review-create <skill-name> |
Write a review |
ccpm review-update <review-id> |
Update your review |
ccpm review-delete <review-id> |
Delete your review |
| Command | Description |
|---|---|
ccpm login |
Authenticate with GitHub |
ccpm logout |
Clear authentication |
ccpm whoami |
Show current user info |
ccpm init |
Initialize new skill package |
ccpm link |
Symlink for local testing |
ccpm version <bump> |
Bump version (major/minor/patch) |
ccpm publish |
Publish skill to registry |
ccpm unpublish <name> |
Remove from registry |
CCPM uses GitHub OAuth for authentication. Run ccpm login to start the authentication flow:
ccpm login
# Opens browser for GitHub authentication
# Callback handled automatically
ccpm whoami
# Shows your username and namespaces
mkdir my-skill && cd my-skill
ccpm init
# Follow prompts to create SKILL.md
Your skill needs a SKILL.md file:
---
name: my-awesome-skill
version: 1.0.0
description: A brief description
author: your-github-username
keywords:
- productivity
- automation
---
# My Awesome Skill
Instructions for Claude...
ccpm link
# Creates symlink in ~/.claude/skills for testing
ccpm publish
# Validates and uploads to registry
CCPM supports both global and namespaced skills:
# Global skill (no namespace)
ccpm install pdf-reader
# Namespaced skill
ccpm install @daymade/pdf-reader
# With version
ccpm install @daymade/pdf-reader@1.0.0
Resolution rule (npm-style):
pdf-reader) resolve global skills only.@daymade/pdf-reader) require explicit namespace.You can also install a user's public skill stack or a public bundle:
ccpm install @daymade # Install a user's public skill stack
ccpm install @daymade/video-creator # Install scoped skill @daymade/video-creator
ccpm install bundle:@daymade/video-creator # Install a user's public bundle
Deterministic routing: @username/bundle-name is always treated as a scoped skill.
Use bundle:@username/bundle-name for user bundles.
To force a specific interpretation:
ccpm install stack:@daymade # Always treat as a user skill stack
ccpm install bundle:@daymade/video-creator # Always treat as a user bundle (fails if not found)
ccpm install skill:@daymade/video-creator # Always treat as a scoped skill
/, \, ..);, &, |, $, `)CCPM stores configuration in ~/.ccpm/:
~/.ccpm/
├── config.json # API settings, preferences
├── auth.json # GitHub OAuth tokens (gitignored)
└── cache/ # Temporary cache
Optional runtime overrides:
CCPM_API_URL: override Edge Functions base URLCCPM_HOME: override config directoryCLAUDE_SKILLS_DIR: override user skills install pathCCPM_PROJECT_SKILLS_DIR: override project skills install path# Try searching first
ccpm search <partial-name>
# Check if it's namespaced
ccpm search @daymade/<name>
# Clear and re-authenticate
ccpm logout
ccpm login
# Force reinstall
ccpm install <name> --force
ccpm-cli - Alias package for npx ccpm-cliinstall-skills - Shortcut for npx install-skills <name>MIT
Copyright 2013 - present © cnpmjs.org | Home |