Skill Seekers v3.1.0
Export skills to AI platforms and vector databases
Packaging converts your skill directory into a platform-specific format:
output/my-skill/ ──▶ Packager ──▶ output/my-skill-{platform}.{format}
↓ ↓
(SKILL.md + Platform-specific (ZIP, tar.gz,
references) formatting directories,
FAISS index)
| Platform | Format | Extension | Best For |
|---|---|---|---|
| Claude AI | ZIP + YAML | .zip |
Claude Code, Claude API |
| Google Gemini | tar.gz | .tar.gz |
Gemini skills |
| OpenAI ChatGPT | ZIP + Vector | .zip |
Custom GPTs |
| LangChain | Documents | directory | RAG pipelines |
| LlamaIndex | TextNodes | directory | Query engines |
| Haystack | Documents | directory | Enterprise RAG |
| Pinecone | Markdown | .zip |
Vector upsert |
| ChromaDB | Collection | .zip |
Local vector DB |
| Weaviate | Objects | .zip |
Vector database |
| Qdrant | Points | .zip |
Vector database |
| FAISS | Index | .faiss |
Local similarity |
| Markdown | ZIP | .zip |
Universal export |
| Cursor | .cursorrules | file | IDE AI context |
| Windsurf | .windsurfrules | file | IDE AI context |
| Cline | .clinerules | file | VS Code AI |
# Default packaging
skill-seekers package output/my-skill/
# Explicit target
skill-seekers package output/my-skill/ --target claude
# Output: output/my-skill-claude.zip# Google Gemini
skill-seekers package output/my-skill/ --target gemini
# Output: output/my-skill-gemini.tar.gz
# OpenAI
skill-seekers package output/my-skill/ --target openai
# Output: output/my-skill-openai.zip
# LangChain
skill-seekers package output/my-skill/ --target langchain
# Output: output/my-skill-langchain/ directory
# ChromaDB
skill-seekers package output/my-skill/ --target chroma
# Output: output/my-skill-chroma.zip# Create skill once
skill-seekers create <source>
# Package for multiple platforms
for platform in claude gemini openai langchain; do
echo "Packaging for $platform..."
skill-seekers package output/my-skill/ --target $platform
done
# Results:
# output/my-skill-claude.zip
# output/my-skill-gemini.tar.gz
# output/my-skill-openai.zip
# output/my-skill-langchain/#!/bin/bash
SKILL_DIR="output/my-skill"
PLATFORMS="claude gemini openai langchain llama-index chroma"
for platform in $PLATFORMS; do
echo "▶️ Packaging for $platform..."
skill-seekers package "$SKILL_DIR" --target "$platform"
if [ $? -eq 0 ]; then
echo "✅ $platform done"
else
echo "❌ $platform failed"
fi
done
echo "🎉 All platforms packaged!"# Skip validation (faster)
skill-seekers package output/my-skill/ --skip-quality-check# Prevent opening folder after packaging
skill-seekers package output/my-skill/ --no-open# Package and upload
export ANTHROPIC_API_KEY=sk-ant-...
skill-seekers package output/my-skill/ --target claude --uploadFor very large skills, use streaming to reduce memory usage:
# Enable streaming
skill-seekers package output/large-skill/ --streaming
# Custom chunk size
skill-seekers package output/large-skill/ \
--streaming \
--streaming-chunk-chars 2000 \
--streaming-overlap-chars 100When to use:
- Skills > 500 pages
- Limited RAM (< 8GB)
- Batch processing many skills
Optimize for Retrieval-Augmented Generation:
# Enable semantic chunking
skill-seekers package output/my-skill/ \
--target langchain \
--chunk-for-rag \
--chunk-tokens 512
# Custom chunk size
skill-seekers package output/my-skill/ \
--target chroma \
--chunk-tokens 256 \
--chunk-overlap-tokens 50Chunking Options:
| Option | Default | Description |
|---|---|---|
--chunk-for-rag |
auto | Enable chunking |
--chunk-tokens |
512 | Tokens per chunk |
--chunk-overlap-tokens |
50 | Overlap between chunks (tokens) |
--no-preserve-code-blocks |
- | Allow splitting code blocks |
Auto-scaling overlap: When
--chunk-tokensis set to a non-default value but--chunk-overlap-tokensis left at default (50), the overlap automatically scales tomax(50, chunk_tokens / 10)for better context preservation with larger chunks.
skill-seekers package output/my-skill/ --target claudeUpload:
# Auto-upload
skill-seekers package output/my-skill/ --target claude --upload
# Manual upload
skill-seekers upload output/my-skill-claude.zip --target claudeFormat:
- ZIP archive
- Contains SKILL.md + references/
- Includes YAML manifest
skill-seekers package output/my-skill/ --target geminiUpload:
export GOOGLE_API_KEY=AIza...
skill-seekers upload output/my-skill-gemini.tar.gz --target geminiFormat:
- tar.gz archive
- Optimized for Gemini's format
skill-seekers package output/my-skill/ --target openaiUpload:
export OPENAI_API_KEY=sk-...
skill-seekers upload output/my-skill-openai.zip --target openaiFormat:
- ZIP with vector embeddings
- Ready for Assistants API
skill-seekers package output/my-skill/ --target langchainUsage:
from langchain.document_loaders import DirectoryLoader
loader = DirectoryLoader("output/my-skill-langchain/")
docs = loader.load()
# Use in RAG pipelineFormat:
- Directory of Document objects
- JSON metadata
skill-seekers package output/my-skill/ --target chromaUpload:
# Local ChromaDB
skill-seekers upload output/my-skill-chroma.zip --target chroma
# With custom URL
skill-seekers upload output/my-skill-chroma.zip \
--target chroma \
--chroma-url http://localhost:8000Usage:
import chromadb
client = chromadb.HttpClient(host="localhost", port=8000)
collection = client.get_collection("my-skill")skill-seekers package output/my-skill/ --target weaviateUpload:
# Local Weaviate
skill-seekers upload output/my-skill-weaviate.zip --target weaviate
# Weaviate Cloud
skill-seekers upload output/my-skill-weaviate.zip \
--target weaviate \
--use-cloud \
--cluster-url https://xxx.weaviate.network# Package (actually creates .cursorrules file)
skill-seekers package output/my-skill/ --target cursor
# Or install directly
skill-seekers install-agent output/my-skill/ --agent cursorResult: .cursorrules file in your project root.
skill-seekers install-agent output/my-skill/ --agent windsurfResult: .windsurfrules file in your project root.
Before packaging, skills are validated:
# Check quality
skill-seekers quality output/my-skill/
# Detailed report
skill-seekers quality output/my-skill/ --report
# Set minimum threshold
skill-seekers quality output/my-skill/ --threshold 7.0Quality Metrics:
- SKILL.md completeness
- Code example coverage
- Navigation structure
- Reference file organization
output/
├── my-skill/ # Source skill
│ ├── SKILL.md
│ └── references/
│
├── my-skill-claude.zip # Claude package
├── my-skill-gemini.tar.gz # Gemini package
├── my-skill-openai.zip # OpenAI package
├── my-skill-langchain/ # LangChain directory
├── my-skill-chroma.zip # ChromaDB package
└── my-skill-weaviate.zip # Weaviate package
Problem: SKILL.md is missing or malformed
Solution:
# Check skill structure
ls output/my-skill/
# Rebuild if needed
skill-seekers create --config my-config --skip-scrape
# Or recreate
skill-seekers create <source>Problem: Typo in target name
Solution:
# Check available targets
skill-seekers package --help
# Common targets: claude, gemini, openai, langchain, chroma, weaviateProblem: Missing API key
Solution:
# Set API key
export ANTHROPIC_API_KEY=sk-ant-...
export GOOGLE_API_KEY=AIza...
export OPENAI_API_KEY=sk-...
# Try again
skill-seekers upload output/my-skill-claude.zip --target claudeProblem: Skill too large for memory
Solution:
# Use streaming mode
skill-seekers package output/my-skill/ --streaming
# Smaller chunks
skill-seekers package output/my-skill/ --streaming --streaming-chunk-chars 1000# Create once
skill-seekers create <source>
# Package for all needed platforms
for platform in claude gemini langchain; do
skill-seekers package output/my-skill/ --target $platform
done# Validate first
skill-seekers quality output/my-skill/ --threshold 6.0
# Then package
skill-seekers package output/my-skill/# Automatically detected, but can force
skill-seekers package output/large-skill/ --streamingDon't delete output/my-skill/ after packaging - you might want to:
- Re-package for other platforms
- Apply different workflows
- Update and re-enhance
- Workflows Guide - Apply workflows before packaging
- MCP Reference - Package via MCP
- Vector DB Integrations - Platform-specific guides