Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add utooland/skills
Or install specific skill: npx add-skill https://github.com/utooland/skills
# Description
|
# SKILL.md
name: utoo
description: |
npm ๅ
็ฎก็ๅทฅๅ
ท๏ผ็จๆฅๅฎ่ฃ
npm ๅ
ใ็ๆไพ่ตๆ ใๆง่กๅ็ซฏ้กน็ฎๅฝไปค็ญใ
ๅผบๅถๆง่งๅ๏ผMANDATORY๏ผ๏ผ
ๅฝ้กน็ฎไธญๅญๅจ package.json ๆไปถๆถ๏ผไฝ MUST๏ผๅฟ
้กป๏ผไฝฟ็จๆญค skill ๆฅๆง่กๆๆ npm/pnpm/yarn ็ธๅ
ณๆไฝใ
ไธฅๆ ผ็ฆๆญข็ดๆฅไฝฟ็จไปฅไธๅฝไปค๏ผ
- โ ็ฆๆญข: pnpm test โ โ
ไฝฟ็จ: Skill(skill: "utoo", args: "test")
- โ ็ฆๆญข: pnpm install โ โ
ไฝฟ็จ: Skill(skill: "utoo", args: "install")
- โ ็ฆๆญข: pnpm run <script> โ โ
ไฝฟ็จ: Skill(skill: "utoo", args: "run
# README.md
Agent Skill NPM Boilerplate
๐ A template for creating and publishing Claude Code skills as npm packages
This is a GitHub template repository for creating Claude Code skills that can be distributed and installed via npm. It provides a complete, production-ready structure following the official Claude Code skills specification.
๐ฏ What is this?
This boilerplate helps you create skills that can be installed via npm:
# Your users can install your skill like this
npm install -g @antskill/your-skill
# The skill is automatically installed to ~/.claude/skills/
# and immediately available in Claude Code
โจ Features
- โ Official Specification: Fully compliant with Claude Code skills format
- โ Multi-Tool Support: Install to Claude Code, Cursor, Windsurf, and more! (See Multi-Tool Support)
- โ Smart Installation: Auto-detects global vs project-level installation
- โ Progressive Disclosure: Supports main SKILL.md + reference files
- โ Lifecycle Management: Install, update, uninstall scripts included
- โ Best Practices: Follows all recommended patterns from official docs
- โ Ready to Publish: Just customize and publish to npm
๐ Quick Start
Option 1: Use as GitHub Template
- Click the "Use this template" button at the top of this repository
- Clone your new repository
- Customize your skill (see Customization Guide)
- Publish to npm
Option 2: Clone Directly
# Clone this repository
git clone https://github.com/yourusername/agent-skill-npm-boilerplate.git my-skill
cd my-skill
# Remove git history and start fresh
rm -rf .git
git init
# Install dependencies (for development)
npm install
# Customize your skill
๐ Project Structure
agent-skill-npm-boilerplate/
โโโ package.json # npm package configuration
โโโ SKILL.md # Main skill definition (REQUIRED)
โโโ .claude-skill.json # Installation configuration
โโโ install-skill.js # Installation script
โโโ uninstall-skill.js # Uninstallation script
โโโ reference.md # Detailed documentation (optional)
โโโ examples.md # Usage examples (optional)
โโโ scripts/ # Utility scripts (optional)
โ โโโ setup.sh # Post-install setup
โ โโโ config.json.example # Configuration template
โโโ README.md # This file (customize for your skill)
โโโ LICENSE # License file
โโโ .gitignore # Git ignore rules
๐จ Customization Guide
Step 1: Update package.json
Replace the following placeholders:
{
"name": "@antskill/YOUR-SKILL-NAME", // Change this
"version": "1.0.0",
"description": "YOUR SKILL DESCRIPTION", // Change this
"author": "YOUR NAME", // Change this
"repository": {
"url": "YOUR-REPO-URL" // Change this
}
}
Step 2: Update SKILL.md
Edit SKILL.md and replace placeholders:
---
name: your-skill-name # Must match directory name
description: Your skill description here. Use when [scenarios].
allowed-tools: Read, Bash # Tools your skill can use
---
Step 3: Update .claude-skill.json
{
"name": "your-skill-name", // Must match SKILL.md name
"package": "@antskill/your-skill-name"
}
Step 4: Add Your Logic
Edit the "Instructions" section in SKILL.md:
## Instructions
When the user [describes scenario]:
1. **Step 1**: Do something
2. **Step 2**: Do something else
3. **Step 3**: Complete the task
Step 5: Test Locally
# Test the installation script
node install-skill.js
# Check if installed correctly
ls -la ~/.claude/skills/your-skill-name/
cat ~/.claude/skills/your-skill-name/SKILL.md
# Open Claude Code and verify
# Ask Claude: "What skills are available?"
Step 6: Publish to npm
# Login to npm (first time only)
npm login
# Publish your skill
npm publish --access public
๐ Skill Development Best Practices
1. Write Clear Descriptions
The description field in SKILL.md is crucial - it determines when Claude uses your skill:
# โ Bad: Too vague
description: Helps with files
# โ
Good: Specific and includes trigger keywords
description: Analyzes TypeScript files for type errors. Use when checking types, debugging TypeScript issues, or validating .ts files.
2. Use Progressive Disclosure
Keep SKILL.md under 500 lines. Put detailed content in separate files:
# In SKILL.md
For complete API reference, see [reference.md](reference.md)
For examples, see [examples.md](examples.md)
Claude will only load these files when needed, saving context.
3. Limit Tool Access
Use allowed-tools to restrict what your skill can do:
# Read-only skill
allowed-tools: Read, Grep, Glob
# Can read and execute (but not modify files)
allowed-tools: Read, Bash
# Full access
allowed-tools: Read, Edit, Write, Bash
4. Include Examples
Show concrete examples in your SKILL.md:
## Examples
### Example 1: Basic Usage
User asks: "Check my commit message"
Claude will:
1. Read the commit message
2. Validate format
3. Suggest improvements
๐ฆ Installation Behavior
Global Installation (Recommended)
npm install -g @antskill/your-skill
Installs to: ~/.claude/skills/your-skill-name/
Available: Across all projects for the current user
Project-Level Installation
npm install --save-dev @antskill/your-skill
Installs to: .claude/skills/your-skill-name/
Available: Only in this project (can be committed to git)
Priority Order
When multiple skills exist:
1. Enterprise (managed settings)
2. Personal (~/.claude/skills/)
3. Project (.claude/skills/)
4. Plugin
๐ง Advanced Features
Custom Hooks
Run scripts during installation:
// .claude-skill.json
{
"hooks": {
"postinstall": "bash scripts/setup.sh"
}
}
Multiple Files
Support rich documentation:
// .claude-skill.json
{
"files": {
"reference.md": "reference.md",
"examples.md": "examples.md",
"scripts": "scripts/"
}
}
Configuration
Let users customize your skill:
# scripts/setup.sh
cat > scripts/config.json <<EOF
{
"option1": "default",
"option2": true
}
EOF
๐ Troubleshooting
Skill Not Appearing
# Check installation location
ls -la ~/.claude/skills/
# Verify SKILL.md format
cat ~/.claude/skills/your-skill/SKILL.md
# Check manifest
cat ~/.claude/skills/.skills-manifest.json
Permission Errors
# Fix npm permissions (recommended)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
# Or use sudo (not recommended)
sudo npm install -g @antskill/your-skill
Skill Not Triggering
- Make sure the
descriptionincludes keywords users would naturally say - Test by asking Claude directly: "Use the your-skill-name skill to..."
๐ Resources
- Claude Code Skills Documentation
- Skills Best Practices
- npm Package Publishing Guide
- Conventional Commits
๐ค Contributing
Contributions are welcome! Please:
- Fork this repository
- Create a feature branch
- Make your changes
- Submit a pull request
See CONTRIBUTING.md for details.
๐ License
This template is MIT licensed. Skills you create from this template can use any license you choose.
๐ก Examples
Skills built with this template:
@antskill/git-commit-helper- Generate conventional commit messages@antskill/code-reviewer- Automated code review assistance@antskill/test-generator- Generate test cases from code
(Add your skill here after publishing!)
๐ Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
๐ Show Your Support
If you find this template helpful:
- โญ Star this repository
- ๐ Report bugs
- ๐ก Suggest features
- ๐ Improve documentation
Made with โค๏ธ for the Claude Code community
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.