Update platform counts (4→12) in: - docs/reference/CLAUDE_INTEGRATION.md (EN + zh-CN) - docs/guides/MCP_SETUP.md, UPLOAD_GUIDE.md, MIGRATION_GUIDE.md - docs/strategy/INTEGRATION_STRATEGY.md, DEEPWIKI_ANALYSIS.md, KIMI_ANALYSIS_COMPARISON.md - docs/archive/historical/HTTPX_SKILL_GRADING.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
447 lines
11 KiB
Markdown
447 lines
11 KiB
Markdown
# Multi-Platform Upload Guide
|
|
|
|
Skill Seekers supports uploading to **12 LLM platforms**: Claude AI, Google Gemini, OpenAI ChatGPT, MiniMax AI, OpenCode, Kimi, DeepSeek, Qwen, OpenRouter, Together AI, Fireworks AI, and Generic Markdown export.
|
|
|
|
## Quick Platform Selection
|
|
|
|
| Platform | Best For | Upload Method | API Key Required |
|
|
|----------|----------|---------------|------------------|
|
|
| **Claude AI** | General use, MCP integration | API or Manual | ANTHROPIC_API_KEY |
|
|
| **Google Gemini** | Long context (1M tokens) | API | GOOGLE_API_KEY |
|
|
| **OpenAI ChatGPT** | Vector search, Assistants API | API | OPENAI_API_KEY |
|
|
| **Generic Markdown** | Universal compatibility, offline | Manual distribution | None |
|
|
|
|
---
|
|
|
|
## Claude AI (Default)
|
|
|
|
### Prerequisites
|
|
|
|
```bash
|
|
# Option 1: Set API key for automatic upload
|
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
|
|
# Option 2: No API key (manual upload)
|
|
# No setup needed - just package and upload manually
|
|
```
|
|
|
|
### Package for Claude
|
|
|
|
```bash
|
|
# Claude uses ZIP format (default)
|
|
skill-seekers package output/react/
|
|
```
|
|
|
|
**Output:** `output/react.zip`
|
|
|
|
### Upload to Claude
|
|
|
|
**Option 1: Automatic (with API key)**
|
|
```bash
|
|
skill-seekers upload output/react.zip
|
|
```
|
|
|
|
**Option 2: Manual (no API key)**
|
|
1. Go to https://claude.ai/skills
|
|
2. Click "Upload Skill" or "Add Skill"
|
|
3. Select `output/react.zip`
|
|
4. Done!
|
|
|
|
**Option 3: MCP (easiest)**
|
|
```
|
|
In Claude Code, just say:
|
|
"Package and upload the React skill"
|
|
```
|
|
|
|
**What's inside the ZIP:**
|
|
```
|
|
react.zip
|
|
├── SKILL.md ← Main skill file (YAML frontmatter + markdown)
|
|
└── references/ ← Reference documentation
|
|
├── index.md
|
|
├── api.md
|
|
└── ...
|
|
```
|
|
|
|
---
|
|
|
|
## Google Gemini
|
|
|
|
### Prerequisites
|
|
|
|
```bash
|
|
# Install Gemini support
|
|
pip install skill-seekers[gemini]
|
|
|
|
# Set API key
|
|
export GOOGLE_API_KEY=AIzaSy...
|
|
```
|
|
|
|
### Package for Gemini
|
|
|
|
```bash
|
|
# Gemini uses tar.gz format
|
|
skill-seekers package output/react/ --target gemini
|
|
```
|
|
|
|
**Output:** `output/react-gemini.tar.gz`
|
|
|
|
### Upload to Gemini
|
|
|
|
```bash
|
|
skill-seekers upload output/react-gemini.tar.gz --target gemini
|
|
```
|
|
|
|
**What happens:**
|
|
- Uploads to Google Files API
|
|
- Creates grounding resource
|
|
- Available in Google AI Studio
|
|
|
|
**Access your skill:**
|
|
- Go to https://aistudio.google.com/
|
|
- Your skill is available as grounding data
|
|
|
|
**What's inside the tar.gz:**
|
|
```
|
|
react-gemini.tar.gz
|
|
├── system_instructions.md ← Main skill file (plain markdown, no frontmatter)
|
|
├── references/ ← Reference documentation
|
|
│ ├── index.md
|
|
│ ├── api.md
|
|
│ └── ...
|
|
└── gemini_metadata.json ← Gemini-specific metadata
|
|
```
|
|
|
|
**Format differences:**
|
|
- No YAML frontmatter (Gemini uses plain markdown)
|
|
- `SKILL.md` → `system_instructions.md`
|
|
- Includes `gemini_metadata.json` for platform integration
|
|
|
|
---
|
|
|
|
## OpenAI ChatGPT
|
|
|
|
### Prerequisites
|
|
|
|
```bash
|
|
# Install OpenAI support
|
|
pip install skill-seekers[openai]
|
|
|
|
# Set API key
|
|
export OPENAI_API_KEY=sk-proj-...
|
|
```
|
|
|
|
### Package for OpenAI
|
|
|
|
```bash
|
|
# OpenAI uses ZIP format with vector store
|
|
skill-seekers package output/react/ --target openai
|
|
```
|
|
|
|
**Output:** `output/react-openai.zip`
|
|
|
|
### Upload to OpenAI
|
|
|
|
```bash
|
|
skill-seekers upload output/react-openai.zip --target openai
|
|
```
|
|
|
|
**What happens:**
|
|
- Creates OpenAI Assistant via Assistants API
|
|
- Creates Vector Store for semantic search
|
|
- Uploads reference files to vector store
|
|
- Enables `file_search` tool automatically
|
|
|
|
**Access your assistant:**
|
|
- Go to https://platform.openai.com/assistants/
|
|
- Your assistant is listed with name based on skill
|
|
- Includes file search enabled
|
|
|
|
**What's inside the ZIP:**
|
|
```
|
|
react-openai.zip
|
|
├── assistant_instructions.txt ← Main skill file (plain text, no YAML)
|
|
├── vector_store_files/ ← Files for vector store
|
|
│ ├── index.md
|
|
│ ├── api.md
|
|
│ └── ...
|
|
└── openai_metadata.json ← OpenAI-specific metadata
|
|
```
|
|
|
|
**Format differences:**
|
|
- No YAML frontmatter (OpenAI uses plain text)
|
|
- `SKILL.md` → `assistant_instructions.txt`
|
|
- Reference files packaged separately for Vector Store
|
|
- Includes `openai_metadata.json` for assistant configuration
|
|
|
|
**Unique features:**
|
|
- ✅ Semantic search across documentation
|
|
- ✅ Vector Store for efficient retrieval
|
|
- ✅ File search tool enabled by default
|
|
|
|
---
|
|
|
|
## Generic Markdown (Universal Export)
|
|
|
|
### Package for Markdown
|
|
|
|
```bash
|
|
# Generic markdown for manual distribution
|
|
skill-seekers package output/react/ --target markdown
|
|
```
|
|
|
|
**Output:** `output/react-markdown.zip`
|
|
|
|
### Distribution
|
|
|
|
**No upload API available** - Use for manual distribution:
|
|
- Share ZIP file directly
|
|
- Upload to documentation hosting
|
|
- Include in git repositories
|
|
- Use with any LLM that accepts markdown
|
|
|
|
**What's inside the ZIP:**
|
|
```
|
|
react-markdown.zip
|
|
├── README.md ← Getting started guide
|
|
├── DOCUMENTATION.md ← Combined documentation
|
|
├── references/ ← Separate reference files
|
|
│ ├── index.md
|
|
│ ├── api.md
|
|
│ └── ...
|
|
└── manifest.json ← Skill metadata
|
|
```
|
|
|
|
**Format differences:**
|
|
- No platform-specific formatting
|
|
- Pure markdown - works anywhere
|
|
- Combined `DOCUMENTATION.md` for easy reading
|
|
- Separate `references/` for modular access
|
|
|
|
**Use cases:**
|
|
- Works with **any LLM** (local models, other platforms)
|
|
- Documentation website hosting
|
|
- Offline documentation
|
|
- Share via git/email
|
|
- Include in project repositories
|
|
|
|
---
|
|
|
|
## Complete Workflow
|
|
|
|
### Single Platform (Claude)
|
|
|
|
```bash
|
|
# 1. Scrape documentation
|
|
skill-seekers scrape --config configs/react.json
|
|
|
|
# 2. Enhance (recommended)
|
|
skill-seekers enhance output/react/
|
|
|
|
# 3. Package for Claude (default)
|
|
skill-seekers package output/react/
|
|
|
|
# 4. Upload to Claude
|
|
skill-seekers upload output/react.zip
|
|
```
|
|
|
|
### Multi-Platform (Same Skill)
|
|
|
|
```bash
|
|
# 1. Scrape once (universal)
|
|
skill-seekers scrape --config configs/react.json
|
|
|
|
# 2. Enhance once (or per-platform if desired)
|
|
skill-seekers enhance output/react/
|
|
|
|
# 3. Package for ALL platforms
|
|
skill-seekers package output/react/ --target claude
|
|
skill-seekers package output/react/ --target gemini
|
|
skill-seekers package output/react/ --target openai
|
|
skill-seekers package output/react/ --target markdown
|
|
|
|
# 4. Upload to platforms
|
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
export GOOGLE_API_KEY=AIzaSy...
|
|
export OPENAI_API_KEY=sk-proj-...
|
|
|
|
skill-seekers upload output/react.zip --target claude
|
|
skill-seekers upload output/react-gemini.tar.gz --target gemini
|
|
skill-seekers upload output/react-openai.zip --target openai
|
|
|
|
# Result:
|
|
# - react.zip (Claude)
|
|
# - react-gemini.tar.gz (Gemini)
|
|
# - react-openai.zip (OpenAI)
|
|
# - react-markdown.zip (Universal)
|
|
```
|
|
|
|
---
|
|
|
|
## File Size Limits
|
|
|
|
### Platform Limits
|
|
|
|
| Platform | File Size Limit | Typical Skill Size |
|
|
|----------|----------------|-------------------|
|
|
| Claude AI | ~25 MB per skill | 10-500 KB |
|
|
| Google Gemini | ~100 MB per file | 10-500 KB |
|
|
| OpenAI ChatGPT | ~512 MB vector store | 10-500 KB |
|
|
| Generic Markdown | No limit | 10-500 KB |
|
|
|
|
**Check package size:**
|
|
```bash
|
|
ls -lh output/react.zip
|
|
```
|
|
|
|
**Most skills are small:**
|
|
- Small skill: 5-20 KB
|
|
- Medium skill: 20-100 KB
|
|
- Large skill: 100-500 KB
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### "SKILL.md not found"
|
|
|
|
Make sure you scraped and built first:
|
|
```bash
|
|
skill-seekers scrape --config configs/react.json
|
|
skill-seekers package output/react/
|
|
```
|
|
|
|
### "Invalid target platform"
|
|
|
|
Use valid platform names:
|
|
```bash
|
|
# Valid
|
|
--target claude
|
|
--target gemini
|
|
--target openai
|
|
--target markdown
|
|
|
|
# Invalid
|
|
--target anthropic ❌
|
|
--target google ❌
|
|
```
|
|
|
|
### "API key not set"
|
|
|
|
**Claude:**
|
|
```bash
|
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
```
|
|
|
|
**Gemini:**
|
|
```bash
|
|
export GOOGLE_API_KEY=AIzaSy...
|
|
pip install skill-seekers[gemini]
|
|
```
|
|
|
|
**OpenAI:**
|
|
```bash
|
|
export OPENAI_API_KEY=sk-proj-...
|
|
pip install skill-seekers[openai]
|
|
```
|
|
|
|
### Upload fails
|
|
|
|
If API upload fails, you can always use manual upload:
|
|
- **Claude:** https://claude.ai/skills
|
|
- **Gemini:** https://aistudio.google.com/
|
|
- **OpenAI:** https://platform.openai.com/assistants/
|
|
|
|
### Wrong file format
|
|
|
|
Each platform requires specific format:
|
|
- Claude/OpenAI/Markdown: `.zip` file
|
|
- Gemini: `.tar.gz` file
|
|
|
|
Make sure to use `--target` parameter when packaging.
|
|
|
|
---
|
|
|
|
## Platform Comparison
|
|
|
|
### Format Comparison
|
|
|
|
| Feature | Claude | Gemini | OpenAI | Markdown |
|
|
|---------|--------|--------|--------|----------|
|
|
| **File Format** | ZIP | tar.gz | ZIP | ZIP |
|
|
| **Main File** | SKILL.md | system_instructions.md | assistant_instructions.txt | README.md + DOCUMENTATION.md |
|
|
| **Frontmatter** | ✅ YAML | ❌ Plain MD | ❌ Plain Text | ❌ Plain MD |
|
|
| **References** | references/ | references/ | vector_store_files/ | references/ |
|
|
| **Metadata** | In frontmatter | gemini_metadata.json | openai_metadata.json | manifest.json |
|
|
|
|
### Upload Comparison
|
|
|
|
| Feature | Claude | Gemini | OpenAI | Markdown |
|
|
|---------|--------|--------|--------|----------|
|
|
| **API Upload** | ✅ Yes | ✅ Yes | ✅ Yes | ❌ Manual only |
|
|
| **Manual Upload** | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes (distribute) |
|
|
| **MCP Support** | ✅ Full | ✅ Full | ✅ Full | ✅ Package only |
|
|
| **Web Interface** | claude.ai/skills | aistudio.google.com | platform.openai.com/assistants | N/A |
|
|
|
|
### Enhancement Comparison
|
|
|
|
| Feature | Claude | Gemini | OpenAI | Markdown |
|
|
|---------|--------|--------|--------|----------|
|
|
| **AI Enhancement** | ✅ Sonnet 4 | ✅ Gemini 2.0 | ✅ GPT-4o | ❌ No |
|
|
| **Local Mode** | ✅ Yes (free) | ❌ No | ❌ No | ❌ N/A |
|
|
| **API Mode** | ✅ Yes | ✅ Yes | ✅ Yes | ❌ N/A |
|
|
| **Format Changes** | Keeps YAML | → Plain MD | → Plain Text | N/A |
|
|
|
|
---
|
|
|
|
## API Key Setup
|
|
|
|
### Get API Keys
|
|
|
|
**Claude (Anthropic):**
|
|
1. Go to https://console.anthropic.com/
|
|
2. Create API key
|
|
3. Copy key (starts with `sk-ant-`)
|
|
4. `export ANTHROPIC_API_KEY=sk-ant-...`
|
|
|
|
**Gemini (Google):**
|
|
1. Go to https://aistudio.google.com/
|
|
2. Get API key
|
|
3. Copy key (starts with `AIza`)
|
|
4. `export GOOGLE_API_KEY=AIzaSy...`
|
|
|
|
**OpenAI:**
|
|
1. Go to https://platform.openai.com/
|
|
2. Create API key
|
|
3. Copy key (starts with `sk-proj-`)
|
|
4. `export OPENAI_API_KEY=sk-proj-...`
|
|
|
|
### Persist API Keys
|
|
|
|
Add to shell profile to keep them set:
|
|
```bash
|
|
# macOS/Linux (bash)
|
|
echo 'export ANTHROPIC_API_KEY=sk-ant-...' >> ~/.bashrc
|
|
echo 'export GOOGLE_API_KEY=AIzaSy...' >> ~/.bashrc
|
|
echo 'export OPENAI_API_KEY=sk-proj-...' >> ~/.bashrc
|
|
|
|
# macOS (zsh)
|
|
echo 'export ANTHROPIC_API_KEY=sk-ant-...' >> ~/.zshrc
|
|
echo 'export GOOGLE_API_KEY=AIzaSy...' >> ~/.zshrc
|
|
echo 'export OPENAI_API_KEY=sk-proj-...' >> ~/.zshrc
|
|
```
|
|
|
|
Then restart your terminal or run:
|
|
```bash
|
|
source ~/.bashrc # or ~/.zshrc
|
|
```
|
|
|
|
---
|
|
|
|
## See Also
|
|
|
|
- [FEATURE_MATRIX.md](FEATURE_MATRIX.md) - Complete feature comparison
|
|
- [MULTI_LLM_SUPPORT.md](MULTI_LLM_SUPPORT.md) - Multi-platform guide
|
|
- [ENHANCEMENT.md](ENHANCEMENT.md) - AI enhancement guide
|
|
- [README.md](../README.md) - Main documentation
|