Add skill
Claude Plugin - Personal knowledge base for Claude Code — patterns and integrations across projects
npx -y skills add phucbm/skills --skill add-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Add a new skill or knowledge entry to phucbm/skills repo. Use when the user says "add this to my skills", "save this as a skill", "push this knowledge to phucbm/skills", or wants to preserve a pattern from the current project.
SKILL.md
5.3 KB, as published. Nobody here has run it
Structure
Each skill is a folder with a single SKILL.md — all content inlined directly, no separate knowledge files.
skills/<topic>/SKILL.md— frontmatter + full content- One skill per topic, kebab-case:
skills/vercel-ai-gateway/,skills/dexie/,skills/learn/ - Complex skills (like
wp-blocks-dev) may have sub-skills and additional files co-located inside the skill folder
Steps
-
Read the prompt — if arguments were passed with the slash command (e.g.
/add-skill I want to save the Stripe webhook pattern from this project), treat them as the user's description of what to add and proceed to step 1. If no arguments were given, ask: "What skill or knowledge do you want to add?" and wait for the answer before continuing. -
Check existing skills — pull latest and scan all files in
skills/:gh repo clone phucbm/skills /tmp/phucbm-skills 2>/dev/null || git -C /tmp/phucbm-skills pull find /tmp/phucbm-skills/skills -name "SKILL.md" | sortIf a related skill exists, tell the user before proceeding:
"I found a related skill:
skills/groq/SKILL.md— update that instead, or add a new skill?" -
Determine path:
- Skill:
skills/<topic>/SKILL.md— flat, one level only - Use lowercase kebab-case. Ask if unclear.
- Skill:
-
Draft the SKILL.md and show it to the user:
- Correct frontmatter (
name,description,when_to_use,allowed-tools) - Full content inlined — env vars, code patterns, gotchas, source references
- Generic patterns only; cite specific projects as examples, never hardcode project-specific data
- Correct frontmatter (
-
Wait for confirmation before writing anything.
-
Write the file, update
README.md(add row to skills table), bump patch version in.claude-plugin/plugin.json, commit and push:git -C /tmp/phucbm-skills add . git -C /tmp/phucbm-skills commit -m "skill: add <topic>" git -C /tmp/phucbm-skills push -
Confirm the push URL to the user.
Rules
- Follow Anthropic's official skill writing best practices:
https://github.com/anthropics/skills/blob/main/skills/skill-creator/SKILL.md
Key points:
descriptionis the primary trigger mechanism — be specific and slightly pushy to avoid undertriggering; keep SKILL.md under 500 lines - Never include real API keys or secrets — keep env blocks with empty values as templates
- Always show the file and wait for confirmation before pushing
- All content goes directly in
SKILL.md— no separate knowledge files - Knowledge files are generic — mention specific projects only as examples, never hardcode project-specific data
Plugin Marketplace Management
Claude Code plugins discovered via marketplaces — GitHub repo with .claude-plugin/marketplace.json listing plugins. Can't install plugin without marketplace listing.
Two-step flow (marketplace added once):
/plugin marketplace add phucbm/skills # register catalog once
/plugin install claudify@phucbm # install individual plugins
/plugin install skills@phucbm
See newly added plugins after marketplace update:
/plugin marketplace update phucbm
Or enable auto-update: /plugin UI → select marketplace → toggle auto-update.
phucbm marketplace
phucbm/skills is canonical marketplace for all phucbm plugins.
One repo acts as both marketplace AND plugin host — skills is local ("source": "./") while other plugins (claudify, etc.) are external sources.
Current plugins in .claude-plugin/marketplace.json:
| Plugin | Source | Description |
|---|---|---|
claudify | https://github.com/phucbm/claudify | Bootstrap .claude/ for any repo |
skills | ./ | Personal knowledge base |
registry-system | https://github.com/phucbm/registry-system | Manage shadcn-compatible component registry |
Adding a new phucbm plugin
Option A — Plugin in own repo:
- Create plugin repo with correct structure
- Add entry to
phucbm/skills/.claude-plugin/marketplace.json:{ "name": "my-plugin", "source": "https://github.com/phucbm/my-plugin", "description": "..." } - Do NOT add
marketplace.jsonto plugin repo — onlyplugin.json - Commit and push
phucbm/skills
Option B — Plugin inside phucbm/skills:
- Create
plugins/my-plugin/with correct structure - Add entry with
"source": "./plugins/my-plugin"
Required plugin structure
my-plugin/
├── .claude-plugin/
│ └── plugin.json
└── skills/
└── my-skill/
└── SKILL.md
plugin.json:
{
"name": "my-plugin",
"displayName": "My Plugin",
"version": "1.0.0",
"description": "...",
"author": { "name": "phucbm", "url": "https://github.com/phucbm" },
"repository": "https://github.com/phucbm/my-plugin",
"license": "MIT"
}
Do NOT add marketplace.json to individual plugin repos — only canonical marketplace repo should have one. Multiple repos with same "name" conflict and overwrite each other.
Docs: https://code.claude.com/docs/en/plugin-marketplaces.md