Web search with automatic Qdrant storage for building persistent knowledge
Automatically builds a persistent knowledge base by searching the web and storing findings in Qdrant. It first checks existing stored knowledge before performing new searches, ensuring information stays fresh and avoiding redundant queries.
/plugin marketplace add mindmorass/reflex/plugin install reflex@mindmorass-reflexThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Combines WebSearch with automatic Qdrant storage to build a searchable knowledge base.
1. Check Qdrant first → qdrant-find for existing knowledge
2. Search if needed → WebSearch for current information
3. Store valuable finds → qdrant-store with rich metadata
4. Return synthesized → Combine stored + new knowledge
Before searching the web, check if the answer already exists:
Tool: qdrant-find
Query: "<user's question or topic>"
If sufficient information exists with recent harvested_at, use it directly.
When stored knowledge is insufficient or stale:
Tool: WebSearch
Query: "<refined search query>"
After getting valuable results, store with rich metadata:
Tool: qdrant-store
Information: |
# <Topic/Question>
## Key Findings
- Finding 1
- Finding 2
## Details
<Synthesized information from search results>
## Sources
- [Title](URL)
Metadata:
# Required fields
source: "web_search"
content_type: "text"
harvested_at: "2025-01-04T10:30:00Z"
# Search context
query: "<original search query>"
urls: ["https://example.com/1", "https://example.com/2"]
# Classification (for filtering)
category: "technology"
subcategory: "databases"
type: "documentation"
# Technical context (when applicable)
language: "python"
framework: "fastapi"
version: "0.100+"
# Quality signals
confidence: "high"
freshness: "current"
# Relationships
related_topics: ["vector-search", "embeddings", "rag"]
project: "reflex"
| Field | Type | Description |
|---|---|---|
| source | string | Origin: web_search, api_docs, github, manual |
| content_type | string | text, code, image, video_transcript |
| harvested_at | string | ISO 8601 timestamp |
| Field | Type | Description |
|---|---|---|
| query | string | Original search query |
| urls | array | Source URLs (array for proper filtering) |
| domain | string | Primary domain (e.g., github.com) |
| Field | Type | Values |
|---|---|---|
| category | string | technology, business, science, design, security, devops |
| subcategory | string | More specific: databases, frontend, ml, networking |
| type | string | documentation, tutorial, troubleshooting, reference, comparison, news |
| Field | Type | Description |
|---|---|---|
| language | string | Programming language: python, typescript, rust, go |
| framework | string | Framework/library: fastapi, react, tokio |
| version | string | Version constraint: 3.12+, >=2.0, latest |
| platform | string | linux, macos, windows, docker, kubernetes |
| Field | Type | Values |
|---|---|---|
| confidence | string | high, medium, low - how reliable is this info |
| freshness | string | current, recent, dated, historical |
| depth | string | overview, detailed, comprehensive |
| Field | Type | Description |
|---|---|---|
| related_topics | array | Related concepts for discovery |
| project | string | Associated project name |
| supersedes | string | ID of entry this replaces |
| parent_topic | string | Broader topic this belongs to |
| Field | Type | Description |
|---|---|---|
| image_url | string | URL to the image |
| alt_text | string | Image description |
| image_type | string | photo, diagram, screenshot, chart, icon |
Find Python documentation:
qdrant-find with filter:
category: "technology"
language: "python"
type: "documentation"
Find recent troubleshooting:
qdrant-find with filter:
type: "troubleshooting"
freshness: "current"
Find project-specific knowledge:
qdrant-find with filter:
project: "reflex"
Always store:
Skip storing:
User asks: "How do I set up GitHub Actions for Python testing?"
# Step 1: Check existing
qdrant-find: "GitHub Actions Python testing setup"
→ No relevant results
# Step 2: Search
WebSearch: "GitHub Actions Python pytest workflow 2025"
→ Returns results with workflow examples
# Step 3: Store
qdrant-store:
Information: |
# GitHub Actions Python Testing Setup
## Key Findings
- Use `actions/setup-python@v5` for Python environment
- Matrix testing across Python versions: 3.9, 3.10, 3.11, 3.12
- pytest with coverage using `pytest-cov`
## Workflow Template
```yaml
name: Python Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- run: pip install -e .[test]
- run: pytest --cov
```
## Sources
- [GitHub Actions Python Guide](https://docs.github.com/en/actions/...)
Metadata:
source: "web_search"
content_type: "code"
harvested_at: "2025-01-04T10:30:00Z"
query: "GitHub Actions Python pytest workflow 2025"
urls: ["https://docs.github.com/en/actions/..."]
domain: "github.com"
category: "technology"
subcategory: "ci-cd"
type: "documentation"
language: "python"
framework: "pytest"
platform: "github-actions"
confidence: "high"
freshness: "current"
depth: "detailed"
related_topics: ["testing", "ci-cd", "yaml", "github"]
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.