You have 3 options to upload the .zip file:
# Set your API key (one-time setup)
export ANTHROPIC_API_KEY=sk-ant-...
# Package and upload automatically
python3 cli/package_skill.py output/react/ --upload
# OR upload existing .zip
python3 cli/upload_skill.py output/react.zip✅ Fully automatic | No manual steps | Requires API key
# Package the skill
python3 cli/package_skill.py output/react/
# This will:
# 1. Create output/react.zip
# 2. Open output/ folder automatically
# 3. Show clear upload instructions
# Then upload manually to https://claude.ai/skills✅ No API key needed | Works for everyone | Simple
In Claude Code, just say:
"Package and upload the React skill"
# Automatically packages and uploads!
✅ Natural language | Fully automatic | Best UX
The .zip file contains:
steam-economy.zip
├── SKILL.md ← Main skill file (Claude reads this first)
└── references/ ← Reference documentation
├── index.md ← Category index
├── api_reference.md ← API docs
├── pricing.md ← Pricing docs
├── trading.md ← Trading docs
└── ... ← Other categorized docs
Note: The zip only includes what Claude needs. It excludes:
.backupfiles- Build artifacts
- Temporary files
The package script:
- Finds your skill directory (e.g.,
output/steam-economy/) - Validates SKILL.md exists (required!)
- Creates a .zip file with the same name
- Includes all files except backups
- Saves to
output/directory
Example:
python3 cli/package_skill.py output/steam-economy/
📦 Packaging skill: steam-economy
Source: output/steam-economy
Output: output/steam-economy.zip
+ SKILL.md
+ references/api_reference.md
+ references/pricing.md
+ references/trading.md
+ ...
✅ Package created: output/steam-economy.zip
Size: 14,290 bytes (14.0 KB)python3 cli/doc_scraper.py --config configs/steam-economy.jsonOutput:
output/steam-economy_data/(raw scraped data)output/steam-economy/(skill directory)
python3 cli/enhance_skill_local.py output/steam-economy/What it does:
- Analyzes reference files
- Creates comprehensive SKILL.md
- Backs up original to SKILL.md.backup
Output:
output/steam-economy/SKILL.md(enhanced)output/steam-economy/SKILL.md.backup(original)
python3 cli/package_skill.py output/steam-economy/Output:
output/steam-economy.zip← THIS IS WHAT YOU UPLOAD
- Go to Claude (claude.ai)
- Click "Add Skill" or skill upload button
- Select
output/steam-economy.zip - Done!
Minimum required structure:
your-skill/
└── SKILL.md ← Required! Claude reads this first
Recommended structure:
your-skill/
├── SKILL.md ← Main skill file (required)
└── references/ ← Reference docs (highly recommended)
├── index.md
└── *.md ← Category files
Optional (can add manually):
your-skill/
├── SKILL.md
├── references/
├── scripts/ ← Helper scripts
│ └── *.py
└── assets/ ← Templates, examples
└── *.txt
The package script shows size after packaging:
✅ Package created: output/steam-economy.zip
Size: 14,290 bytes (14.0 KB)
Typical sizes:
- Small skill: 5-20 KB
- Medium skill: 20-100 KB
- Large skill: 100-500 KB
Claude has generous size limits, so most documentation-based skills fit easily.
python3 cli/package_skill.py output/steam-economy/# Package all skills in output/
for dir in output/*/; do
if [ -f "$dir/SKILL.md" ]; then
python3 cli/package_skill.py "$dir"
fi
doneunzip -l output/steam-economy.zip# Extract to temp directory
mkdir temp-test
unzip output/steam-economy.zip -d temp-test/
cat temp-test/SKILL.md# Make sure you scraped and built first
python3 cli/doc_scraper.py --config configs/steam-economy.json
# Then package
python3 cli/package_skill.py output/steam-economy/# Check what skills are available
ls output/
# Use correct path
python3 cli/package_skill.py output/YOUR-SKILL-NAME/Most skills are small, but if yours is large:
# Check size
ls -lh output/steam-economy.zip
# If needed, check what's taking space
unzip -l output/steam-economy.zip | sort -k1 -rn | head -20Reference files are usually small. Large sizes often mean:
- Many images (skills typically don't need images)
- Large code examples (these are fine, just be aware)
When you upload a skill zip:
- Claude extracts it
- Reads SKILL.md first - This tells Claude:
- When to activate this skill
- What the skill does
- Quick reference examples
- How to navigate the references
- Indexes reference files - Claude can search through:
references/*.mdfiles- Find specific APIs, examples, concepts
- Activates automatically - When you ask about topics matching the skill
After uploading steam-economy.zip:
You ask: "How do I implement microtransactions in my Steam game?"
Claude:
- Recognizes this matches steam-economy skill
- Reads SKILL.md for quick reference
- Searches references/microtransactions.md
- Provides detailed answer with code examples
# Get your API key from https://console.anthropic.com/
export ANTHROPIC_API_KEY=sk-ant-...
# Add to your shell profile to persist
echo 'export ANTHROPIC_API_KEY=sk-ant-...' >> ~/.bashrc # or ~/.zshrc# Upload existing .zip
python3 cli/upload_skill.py output/react.zip
# OR package and upload in one command
python3 cli/package_skill.py output/react/ --uploadThe upload tool uses the Anthropic /v1/skills API endpoint to:
- Read your .zip file
- Authenticate with your API key
- Upload to Claude's skill storage
- Verify upload success
"ANTHROPIC_API_KEY not set"
# Check if set
echo $ANTHROPIC_API_KEY
# If empty, set it
export ANTHROPIC_API_KEY=sk-ant-..."Authentication failed"
- Verify your API key is correct
- Check https://console.anthropic.com/ for valid keys
"Upload timed out"
- Check your internet connection
- Try again or use manual upload
Upload fails with error
- Falls back to showing manual upload instructions
- You can still upload via https://claude.ai/skills
What you need to do:
- ✅ Scrape:
python3 cli/doc_scraper.py --config configs/YOUR-CONFIG.json - ✅ Enhance:
python3 cli/enhance_skill_local.py output/YOUR-SKILL/ - ✅ Package & Upload:
python3 cli/package_skill.py output/YOUR-SKILL/ --upload - ✅ Done! Skill is live in Claude
- ✅ Scrape:
python3 cli/doc_scraper.py --config configs/YOUR-CONFIG.json - ✅ Enhance:
python3 cli/enhance_skill_local.py output/YOUR-SKILL/ - ✅ Package:
python3 cli/package_skill.py output/YOUR-SKILL/ - ✅ Upload: Go to https://claude.ai/skills and upload the
.zip
What you upload:
- The
.zipfile fromoutput/directory - Example:
output/steam-economy.zip
What's in the zip:
SKILL.md(required)references/*.md(recommended)- Any scripts/assets you added (optional)
That's it! 🚀