A
AgentSkill
SkillsAbout
A

AgentSkill

© 2025

Not affiliated with Anthropic

Back to Skills

Weaviate Claude

Claude Skills for connecting Claude.ai to local Weaviate vector databases - manage collections, ingest data, and query with RAG

ai-ml
saskinosie
37
5
Updated Dec 10, 2025
aiclaudeclaude-aiclaude-skillsdata-ingestiondockerdocker-composedocument-searchembeddingsknowledge-basellmpythonragsemantic-searchvector-databaseweaviate
View on GitHub

Installation

git clone https://github.com/saskinosie/weaviate-claude-skills ~/.claude/skills/weaviate-claude

SKILL.md

# Weaviate Skills Collection

A comprehensive set of Claude Skills for working with **local Weaviate vector databases**. These skills enable you to connect, manage, ingest data, and query Weaviate running in Docker directly through Claude.ai or Claude Desktop.

## Important: Local Weaviate Required

**These skills are designed for LOCAL Weaviate instances running in Docker.**

⚠️ **Claude Desktop and Claude Web have network restrictions** that prevent connections to external services like Weaviate Cloud. Therefore, these skills use a local Docker-based Weaviate instance that runs on `localhost:8080` with no network limitations.

**Benefits of Local Setup:**
- ✅ No network restrictions in Claude
- ✅ Free (no cloud costs)
- ✅ Fast local queries
- ✅ Full data privacy and control
- ✅ Works offline (with transformers vectorizer)

## What are Claude Skills?

Claude Skills are self-contained knowledge modules that Claude can load on-demand. Each skill is a folder containing a `SKILL.md` file with instructions, code examples, and best practices for a specific task.

Skills provide:
- **Progressive Disclosure**: Claude only loads what it needs
- **Composability**: Skills can depend on other skills
- **Portability**: Easy to share and reuse across projects
- **No Deployment**: Works directly in Claude.ai web or Claude Desktop
- **Client-Friendly**: Just download folders and start using
- **Local-First**: Run Weaviate in Docker, no external dependencies

## Available Skills

### 0. [weaviate-local-setup](weaviate-local-setup/) **← START HERE**
Set up and manage a local Weaviate instance using Docker for development and testing.

**When to use**: Before anything else - sets up your local Weaviate database

**Key features**:
- Docker and Docker Compose configurations
- Multiple vectorizer options (transformers, OpenAI, Cohere)
- Data persistence and backup
- No cloud costs or network restrictions
- Perfect for Claude Desktop/Web environments

### 1. [weaviate-connection](weaviate-connection/)
Connect to your local Weaviate instance and verify connection health.

**When to use**: After starting Weaviate - establishes database connection

**Key features**:
- Local connection to Docker instance
- Environment variable management
- Connection health checks
- Error troubleshooting

### 2. [weaviate-collection-manager](weaviate-collection-manager/)
Create, view, update, and delete Weaviate collections with comprehensive schema management.

**When to use**: Setting up database schema, managing collections

**Key features**:
- List and inspect collections
- Create collections with various vectorizers
- Configure RAG and reranking
- Data type reference tables
- Multi-modal collection support

### 3. [weaviate-data-ingestion](weaviate-data-ingestion/)
Upload data to Weaviate collections with support for single objects, batch uploads, and multi-modal content.

**When to use**: Adding documents, images, or any data to collections

**Key features**:
- Single and batch object insertion
- JSON/CSV file import
- Image upload (base64 encoding)
- Document chunking strategies
- Progress tracking for large uploads
- Error handling and validation

### 4. [weaviate-query-agent](weaviate-query-agent/)
Search and retrieve data using semantic search, filters, RAG, and hybrid queries.

**When to use**: Searching collections, Q&A, finding similar items

**Key features**:
- Semantic vector search
- Keyword (BM25) search
- Hybrid search
- Advanced filtering
- RAG (Retrieval Augmented Generation)
- Multi-modal image search
- Aggregation and analytics

## Quick Start

### Step 1: Get the Skills

**Option A: Download**
1. Download this repository as ZIP
2. Extract the `weaviate-skills` folder
3. Place it somewhere accessible (e.g., `~/Documents/`)

**Option B: Clone**
```bash
git clone https://github.com/saskinosie/weaviate-claude-skills.git ~/Documents/weaviate-claude-skills
```

**Option C: Project Integration**
1. Add `weaviate-skills/` to your project repository
2. Commit skills alongside your code

### Step 2: Set Up Python Environment (Optional)

**Claude will handle this automatically**, but you can set it up manually if preferred:

```bash
cd weaviate-claude-skills

# Create virtual environment
python3 -m venv .venv

# Activate it
source .venv/bin/activate  # macOS/Linux
# OR
.venv\Scripts\activate     # Windows

# Install dependencies
pip install -r requirements.txt
```

**Note:** When you use the skills with Claude, Claude will check for dependencies and create the virtual environment if needed.

### Step 3: Start Local Weaviate

**Required: Docker Desktop must be installed and running**

```bash
cd weaviate-claude-skills/weaviate-local-setup
docker-compose up -d
```

Wait 10-15 seconds for startup, then verify:
```bash
curl http://localhost:8080/v1/.well-known/ready
```

### Step 4: Use in Claude

**Claude.ai Web:**
1. Open [Claude.ai](https://claude.ai)
2. Upload the individual `SKILL.md` files you need (attachment limit: 20 files)
3. Upload your `.env` file
4. Say: "Connect to my local Weaviate instance"

**Claude Desktop:**
1. Open Claude Desktop
2. Reference the skills folder in your conversation
3. Say: "I have Weaviate skills in ~/Documents/weaviate-skills. Connect to my local Weaviate instance."

**Note**: Due to the 20-file attachment limit in Claude Web, you may need to upload skills individually rather than the entire folder (the `.git` folder contains many files). Claude Desktop doesn't have this limitation.

## Installation Details

### Python Environment

**Claude handles dependency management automatically!** When you first use the skills, Claude will:
1. Check if a virtual environment exists
2. Create `.venv/` if needed
3. Install required packages (weaviate-client, python-dotenv, etc.)
4. Run all Python code within the virtual environment

**Manual setup (optional):**
```bash
cd weaviate-claude-skills
python3 -m venv .venv
source .venv/bin/activate  # macOS/Linux
pip install -r requirements.txt
```

The `requirements.txt` includes:
```
weaviate-client>=4.0.0
openai>=1.0.0
python-dotenv>=1.0.0
```

### Environment Setup

Your configuration goes in a `.env` file in the project root:

1. **Copy the template**:
   ```bash
   cp .env.example .env
   ```

2. **Edit `.env` with your credentials**:
   ```bash
   # Weaviate Connection (REQUIRED)
   WEAVIATE_URL=your-cluster.weaviate.cloud  # NO https:// prefix
   WEAVIATE_API_KEY=your-weaviate-api-key

   # Vectorizer API Keys (optional, only if using these services)
   OPENAI_API_KEY=your-openai-api-key
   COHERE_API_KEY=your-cohere-api-key
   ```

3. **Where to find your Weaviate credentials**:
   - Log into [Weaviate Cloud Console](https://console.weaviate.cloud/)
   - Click on your cluster
   - **REST Endpoint**: Copy the URL (without `https://`)
   - **API Key**: Click "API Keys" to view/generate

**Important**:
- `.env` is in `.gitignore` - never commit secrets to version control!
- Share `.env.example` with your clients as a template
- Each person needs their own `.env` file with their credentials

### Local Setup (Docker)

For local development or if you have network restrictions in Claude:

1. **Install Docker Desktop** (if not already installed)

2. **Start Weaviate locally** using the `weaviate-local-setup` skill:
   ```bash
   cd weaviate-skills/weaviate-local-setup
   docker-compose up -d
   ```

3. **Update your `.env` for local connection**:
   ```bash
   WEAVIATE_URL=localhost:8080
   WEAVIATE_API_KEY=  # Leave empty for local
   ```

4. **Verify it's running**:
   ```bash
   curl http://localhost:8080/v1/.well-known/ready
   ```

**Benefits of local setup**:
- No network restrictions (works in Claude Web and Claude Desktop)
- Free (no cloud costs)
- Faster development cycles
- Full data control and privacy

## Workflow

### Cloud Workflow
```
1. Connect to Weaviate (weaviate-connection)
   ↓
2. Create/Manage Collections (weaviate-collection-manager)
   ↓
3. Upload Data (weaviate-data-ingestion)
   ↓
4. Query and Search (weaviate-query-agent)
```

### Local Development Workflow
```
0. Start Local Weaviate (weaviate-local-setup)
   ↓
1. Connect to Weaviate (weaviate-connection) - using localhost:8080
   ↓
2. Create/Manage Collections (weaviate-collection-manager)
   ↓
3. Upload Data (weaviate-data-ingestion)
   ↓
4. Query and Search (weaviate-query-agent)
```

## Example Usage

### Example 1: Complete Setup

```
You: "I want to create a vector database for my technical documentation"

Claude: *Loads weaviate-connection skill*
        "Let me help you connect to Weaviate. Do you have a Weaviate Cloud
        account or a local instance?"

You: "I have a cloud instance at xyz.weaviate.cloud"

Claude: *Guides through connection setup*
        *Tests connection*
        ✅ Connected to Weaviate successfully!

You: "Create a collection for technical documents with RAG enabled"

Claude: *Loads weaviate-collection-manager skill*
        *Creates optimized collection schema*
        ✅ Created 'TechnicalDocuments' collection with OpenAI vectorizer and GPT-4 RAG

You: "Upload these 100 PDF files from /docs folder"

Claude: *Loads weaviate-data-ingestion skill*
        *Processes PDFs, chunks text, batch uploads*
        📊 Processing: [████████████████████] 100/100
        ✅ Successfully uploaded 100 documents (523 chunks)

You: "Find information about seismic zone requirements"

Claude: *Loads weaviate-query-agent skill*
        *Performs semantic search with RAG*

        🤖 Answer: Seismic zone requirements vary by location...
        📚 Sources: Building Code Manual (Page 45), Seismic Guidelines (Page 12)
```

### Example 2: Quick Search

```
You: "Search my product catalog for items similar to 'wireless headphones under $200'"

Claude: *Loads weaviate-connection and weaviate-query-agent*
        *Connects to existing collection*
        *Runs hybrid search with price filter*

        Found 8 products:
        • Sony WH-1000XM4 - $179.99
        • Bose QuietComfort 45 - $199.00
        • ...
```

### Example 3: Data Import

```
You: "Import products.json into my ProductCatalog collection"

Claude: *Loads weaviate-data-ingestion skill*
        *Validates JSON structure*
        *Batch uploads with progress tracking*

        📄 Loaded 500 products from products.json
        ✅ Successfully uploaded: 500
        ⏱️  Time: 12.3 seconds
```

## Skill Dependencies

Each skill declares its dependencies in the frontmatter:

```yaml
dependencies:
  - weaviate-connection
  - weaviate-collection-manager
```

Claude will automatically load prerequisite skills as needed.

## Sharing with Friends

### For Testing/Demos

1. Share the `weaviate-skills` folder via:
   - Email (ZIP file)
   - Dropbox/Google Drive link
   - GitHub repository

2. Provide your client with:
   - The skills folder
   - Their Weaviate credentials (`.env` template)
   - Simple instructions: "Open Claude.ai and tell it you have Weaviate skills to load"

### For Production Use

1. Create a dedicated Weaviate cluster for the client
2. Provide read-only or scoped API keys
3. Share the skills folder
4. Client can use Claude.ai web (no technical setup required)

## Best Practices

1. **Start with Connection**: Always load `weaviate-connection` first
2. **Check Schema**: Review collection schema before ingesting data
3. **Batch Upload**: Use batch operations for multiple objects
4. **Use Filters**: Combine vector search with filters for precision
5. **Monitor Quotas**: Track API usage for OpenAI/Cohere vectorizers
6. **Version Control**: Keep skills in your repository for team collaboration

## Troubleshooting

### "Cannot connect to Weaviate" or "Network domain not allowed"

**For Cloud Instances:**
- Verify URL doesn't include `https://` prefix
- Check API key is correct
- Ensure cluster is running (for self-hosted)

**For Claude Desktop/Web with Network Restrictions:**
- Use the local setup instead (see `weaviate-local-setup` skill)
- In Claude Desktop: Add `*.weaviate.cloud` to **Settings → Capabilities → Allow network egress → Additional allowed domains**
- Or run Weaviate locally with Docker (no network restrictions)

### "No results found"
- Confirm collection has data
- Try broader search terms
- Check vectorizer is configured correctly

### "Batch upload fails"
- Reduce batch size
- Validate data types match schema
- Check for network timeouts

### Local Docker Issues
- Port 8080 already in use: Change port or stop conflicting service
- Container won't start: Check logs with `docker logs weaviate`
- Data not persisting: Ensure you're using volumes (`-v weaviate-data:/var/lib/weaviate`)

See individual skill files for detailed troubleshooting guides.

## Advanced Features

### Custom RAG Pipelines
Combine `weaviate-query-agent` with custom LLM calls for specialized Q&A systems.

### Multi-Modal Search
Use `weaviate-collection-manager` to create CLIP-enabled collections for image+text search.

### Automated Workflows
Chain skills together for complete data processing pipelines.

## Requirements

**Minimum**:
- Python 3.8+
- weaviate-client library
- Weaviate instance (cloud or local)

**Optional** (depending on vectorizer):
- OpenAI API key (for text2vec-openai)
- Cohere API key (for text2vec-cohere)
- HuggingFace models (for text2vec-huggingface)

**For Local Development**:
- Docker Desktop (for weaviate-local-setup)

## Project Structure

```
weaviate-skills/
├── README.md                          # This file
├── .env.example                       # Environment template
├── .gitignore                         # Git ignore rules
├── weaviate-connection/
│   └── SKILL.md                       # Connection skill
├── weaviate-collection-manager/
│   └── SKILL.md                       # Collection management skill
├── weaviate-data-ingestion/
│   └── SKILL.md                       # Data upload skill
├── weaviate-query-agent/
│   └── SKILL.md                       # Query and search skill
└── weaviate-local-setup/
    ├── SKILL.md                       # Local Weaviate setup guide
    └── docker-compose.yml             # Docker Compose configuration
```

## Contributing

We welcome contributions! To add a new skill:

1. Create a new folder: `skill-name/`
2. Add `SKILL.md` with YAML frontmatter
3. Include clear examples and error handling
4. Update this README
5. Submit a pull request

## Support

- [Weaviate Documentation](https://weaviate.io/developers/weaviate)
- [Weaviate Python Client](https://weaviate.io/developers/weaviate/client-libraries/python)
- [Claude Skills Guide](https://docs.anthropic.com/claude/docs/claude-skills)

## License

MIT License - Free to use, modify, and distribute.

---

**Built with ❤️ for the Weaviate community**