opencode-skills-collection 3.1.9 → 3.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +8 -1
  2. package/bundled-skills/browser-testing-with-devtools/SKILL.md +334 -0
  3. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  4. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  5. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  6. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  7. package/bundled-skills/docs/sources/sources.md +4 -0
  8. package/bundled-skills/docs/users/bundles.md +1 -1
  9. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  10. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  11. package/bundled-skills/docs/users/getting-started.md +1 -1
  12. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  13. package/bundled-skills/docs/users/usage.md +4 -4
  14. package/bundled-skills/docs/users/visual-guide.md +4 -4
  15. package/bundled-skills/drizzle-migration-conflict/SKILL.md +179 -0
  16. package/bundled-skills/drizzle-migration-conflict/references/ci-policy.md +87 -0
  17. package/bundled-skills/drizzle-migration-conflict/references/conflict-resolution.md +163 -0
  18. package/bundled-skills/drizzle-migration-conflict/references/report-template.md +69 -0
  19. package/bundled-skills/drizzle-migration-conflict/references/sources.md +51 -0
  20. package/bundled-skills/drizzle-migration-conflict/scripts/check_drizzle_migrations.py +721 -0
  21. package/bundled-skills/frontend-lighthouse/SKILL.md +348 -0
  22. package/bundled-skills/pre-release-review/SKILL.md +198 -0
  23. package/bundled-skills/pre-release-review/references/checklist.md +104 -0
  24. package/bundled-skills/pre-release-review/references/report-template.md +91 -0
  25. package/bundled-skills/re-create/SKILL.md +251 -0
  26. package/bundled-skills/weaviate/SKILL.md +132 -0
  27. package/bundled-skills/weaviate/references/ask.md +36 -0
  28. package/bundled-skills/weaviate/references/create_collection.md +152 -0
  29. package/bundled-skills/weaviate/references/environment_requirements.md +34 -0
  30. package/bundled-skills/weaviate/references/example_data.md +24 -0
  31. package/bundled-skills/weaviate/references/explore_collection.md +50 -0
  32. package/bundled-skills/weaviate/references/fetch_filter.md +88 -0
  33. package/bundled-skills/weaviate/references/get_collection.md +32 -0
  34. package/bundled-skills/weaviate/references/hybrid_search.md +47 -0
  35. package/bundled-skills/weaviate/references/import_data.md +160 -0
  36. package/bundled-skills/weaviate/references/keyword_search.md +38 -0
  37. package/bundled-skills/weaviate/references/list_collections.md +31 -0
  38. package/bundled-skills/weaviate/references/query_search.md +38 -0
  39. package/bundled-skills/weaviate/references/semantic_search.md +46 -0
  40. package/bundled-skills/weaviate/scripts/ask.py +106 -0
  41. package/bundled-skills/weaviate/scripts/create_collection.py +359 -0
  42. package/bundled-skills/weaviate/scripts/example_data.py +945 -0
  43. package/bundled-skills/weaviate/scripts/explore_collection.py +295 -0
  44. package/bundled-skills/weaviate/scripts/fetch_filter.py +261 -0
  45. package/bundled-skills/weaviate/scripts/get_collection.py +122 -0
  46. package/bundled-skills/weaviate/scripts/hybrid_search.py +157 -0
  47. package/bundled-skills/weaviate/scripts/import.py +701 -0
  48. package/bundled-skills/weaviate/scripts/keyword_search.py +142 -0
  49. package/bundled-skills/weaviate/scripts/list_collections.py +77 -0
  50. package/bundled-skills/weaviate/scripts/query_search.py +135 -0
  51. package/bundled-skills/weaviate/scripts/semantic_search.py +139 -0
  52. package/bundled-skills/weaviate/scripts/weaviate_conn.py +231 -0
  53. package/bundled-skills/weaviate-cookbooks/SKILL.md +67 -0
  54. package/bundled-skills/weaviate-cookbooks/references/advanced_rag.md +274 -0
  55. package/bundled-skills/weaviate-cookbooks/references/agentic_rag.md +360 -0
  56. package/bundled-skills/weaviate-cookbooks/references/async_client.md +428 -0
  57. package/bundled-skills/weaviate-cookbooks/references/basic_agent.md +270 -0
  58. package/bundled-skills/weaviate-cookbooks/references/basic_rag.md +219 -0
  59. package/bundled-skills/weaviate-cookbooks/references/data_explorer.md +336 -0
  60. package/bundled-skills/weaviate-cookbooks/references/environment_requirements.md +78 -0
  61. package/bundled-skills/weaviate-cookbooks/references/frontend_interface.md +104 -0
  62. package/bundled-skills/weaviate-cookbooks/references/pdf_multimodal_rag.md +635 -0
  63. package/bundled-skills/weaviate-cookbooks/references/project_setup.md +75 -0
  64. package/bundled-skills/weaviate-cookbooks/references/query_agent_chatbot.md +163 -0
  65. package/package.json +1 -1
  66. package/skills_index.json +156 -0
@@ -0,0 +1,34 @@
1
+ # Environment Requirements for Weaviate
2
+
3
+ Use this reference when building apps that connect to Weaviate and require external inference provider keys.
4
+
5
+ ## Required Weaviate Auth
6
+
7
+ - `WEAVIATE_URL`
8
+ - `WEAVIATE_API_KEY`
9
+
10
+ ## External Provider Env Vars and Headers
11
+
12
+ | Provider | Environment Variable(s) | Header(s) sent to Weaviate |
13
+ |----------|--------------------------|-----------------------------|
14
+ | Anthropic | `ANTHROPIC_API_KEY` | `X-Anthropic-Api-Key` |
15
+ | Anyscale | `ANYSCALE_API_KEY` | `X-Anyscale-Api-Key` |
16
+ | AWS | `AWS_ACCESS_KEY`, `AWS_SECRET_KEY` | `X-Aws-Access-Key`, `X-Aws-Secret-Key` |
17
+ | Cohere | `COHERE_API_KEY` | `X-Cohere-Api-Key` |
18
+ | Databricks | `DATABRICKS_TOKEN` | `X-Databricks-Token` |
19
+ | Friendli | `FRIENDLI_TOKEN` | `X-Friendli-Api-Key` |
20
+ | Google Vertex AI | `VERTEX_API_KEY` | `X-Goog-Vertex-Api-Key` |
21
+ | Google AI Studio | `STUDIO_API_KEY` | `X-Goog-Studio-Api-Key` |
22
+ | HuggingFace | `HUGGINGFACE_API_KEY` | `X-HuggingFace-Api-Key` |
23
+ | Jina AI | `JINAAI_API_KEY` | `X-JinaAI-Api-Key` |
24
+ | Mistral | `MISTRAL_API_KEY` | `X-Mistral-Api-Key` |
25
+ | NVIDIA | `NVIDIA_API_KEY` | `X-Nvidia-Api-Key` |
26
+ | OpenAI | `OPENAI_API_KEY` | `X-OpenAI-Api-Key` |
27
+ | Azure OpenAI | `AZURE_API_KEY` | `X-Azure-Api-Key` |
28
+ | Voyage AI | `VOYAGE_API_KEY` | `X-Voyage-Api-Key` |
29
+ | xAI | `XAI_API_KEY` | `X-Xai-Api-Key` |
30
+
31
+ ## Usage Notes
32
+
33
+ - Set only the provider keys your collection configuration actually uses.
34
+ - If multiple providers are configured, include all corresponding headers.
@@ -0,0 +1,24 @@
1
+ # Example Data
2
+
3
+ Add example data to a Weaviate collection for users without their own data or wanting a quick example. Downloads data from the huggingface hub.
4
+
5
+ ```bash
6
+ uv run scripts/example_data.py --domain "DOMAIN_NAME" [--vectorizer "..."] [--nrows X]
7
+ ```
8
+
9
+ ## Parameters
10
+
11
+ | Parameter | Flag | Required | Default | Description |
12
+ |-----------|------|----------|---------|-------------|
13
+ | `--domain` | `-d` | No | `academic` | Defines which dataset is being used. One of 'academic', 'finance', 'ecommerce', 'medical', or 'customer_support'. |
14
+ | `--vectorizer` | `-v` | No | `text2vec_weaviate` | Optional vectorizer (e.g., `text2vec_openai`, `text2vec_cohere`, `none`) |
15
+ | `--nrows` | `-n` | No | `None` | Optionally subset the data. If not supplied uses full dataset. |
16
+
17
+ **When to use:** Creating example data for immediate use of other skills, if no data is available or user requests some toy data.
18
+
19
+ **Domain Datasets:**
20
+ - `academic` is the `jamescalam/ai-arxiv2` dataset, contains a selection of chunked papers from Arxiv on the topic of AI/ML. Creates the `AI_Arxiv` collection in the Weaviate instance
21
+ - `finance` is the `AgamiAI/Indian-Income-Tax-Returns` dataset, fully synthetic Indian Income Tax Return forms. Creates the `Income_Tax_Returns` collection in the Weaviate instance
22
+ - `ecommerce` is the `pkghf/ecom-product-catalog` dataset, containing structured e-commerce product information including product details, pricing, categorization. Creates the `Product_Catalog` collection in the Weaviate instance
23
+ - `medical` is the `Amod/hair_medical_sit`, containing information about common hair related diseases. Creates the `Hair_Medical` collection in the Weaviate instance
24
+ - `customer_support` is the `Console-AI/IT-helpdesk-synthetic-tickets`, synthetic customer support tickets from IT. Creates the `IT_Support_Tickets` collection in the Weaviate instance
@@ -0,0 +1,50 @@
1
+ # Explore Collection
2
+
3
+ Get statistical insights, aggregation metrics, and sample data from a collection.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uv run scripts/explore_collection.py "CollectionName" [--limit 5] [--no-metrics] [--json]
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Flag | Required | Default | Description |
14
+ |-----------|------|----------|---------|-------------|
15
+ | `name` | — | Yes (positional) | — | Collection name |
16
+ | `--limit` | `-l` | No | `5` | Number of sample objects to show |
17
+ | `--no-metrics` | — | No | `false` | Skip calculating individual property metrics (faster) |
18
+ | `--json` | — | No | `false` | Output in JSON format |
19
+
20
+ ## Metrics by Data Type
21
+
22
+ The script calculates aggregation metrics based on property data types:
23
+
24
+ | Data Type | Metrics |
25
+ |-----------|---------|
26
+ | **Text** | count, top_occurrences (top 5 values with counts) |
27
+ | **Int / Number** | count, min, max, mean, median, mode, sum |
28
+ | **Boolean** | count, percentage_true, percentage_false, total_true, total_false |
29
+ | **Date** | count, min, max, median, mode |
30
+
31
+ Use `--no-metrics` to skip metric calculation for faster results when you only need sample objects.
32
+
33
+ ## Output
34
+
35
+ - **Default**: Markdown-formatted report with total count, per-property metrics tables, and sample objects
36
+ - **JSON**: Structured metrics and sample data
37
+
38
+ ## Examples
39
+
40
+ Explore with default settings:
41
+
42
+ ```bash
43
+ uv run scripts/explore_collection.py "Articles"
44
+ ```
45
+
46
+ More samples, skip metrics:
47
+
48
+ ```bash
49
+ uv run scripts/explore_collection.py "Products" --limit 20 --no-metrics
50
+ ```
@@ -0,0 +1,88 @@
1
+ # Fetch and Filter
2
+
3
+ Fetch objects from a collection by UUID, with filters, or as a random sample. Supports complex nested filter logic (AND, OR).
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uv run scripts/fetch_filter.py "CollectionName" [--id "UUID"] [--filters 'JSON'] [--limit 10] [--properties "prop1,prop2"] [--json]
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Flag | Required | Default | Description |
14
+ |-----------|------|----------|---------|-------------|
15
+ | `collection_name` | — | Yes (positional) | — | Collection name |
16
+ | `--id` | — | No | — | Fetch a specific object by UUID |
17
+ | `--filters` | `-f` | No | — | JSON string defining filters (see filter syntax below) |
18
+ | `--limit` | `-l` | No | `10` | Number of objects to fetch |
19
+ | `--properties` | `-p` | No | all | Comma-separated properties to include in output |
20
+ | `--json` | — | No | `false` | Output in JSON format |
21
+
22
+ ## Modes
23
+
24
+ 1. **Fetch by UUID**: Use `--id` to retrieve a specific object
25
+ 2. **Fetch with filters**: Use `--filters` to retrieve filtered subsets
26
+ 3. **Fetch random sample**: Omit both `--id` and `--filters` for unfiltered results
27
+
28
+ ## Filter Syntax
29
+
30
+ ### Simple property filter
31
+
32
+ ```json
33
+ {"property": "category", "operator": "equal", "value": "Science"}
34
+ ```
35
+
36
+ ### Logical operators (AND / OR)
37
+
38
+ ```json
39
+ {"operator": "and", "filters": [
40
+ {"property": "category", "operator": "equal", "value": "Science"},
41
+ {"property": "year", "operator": "greater_than", "value": 2020}
42
+ ]}
43
+ ```
44
+
45
+ ### List of filters (implicit AND)
46
+
47
+ ```json
48
+ [
49
+ {"property": "category", "operator": "equal", "value": "Science"},
50
+ {"property": "year", "operator": "greater_than", "value": 2020}
51
+ ]
52
+ ```
53
+
54
+ ### Supported operators
55
+
56
+ `equal`, `not_equal`, `less_than`, `less_or_equal`, `greater_than`, `greater_or_equal`, `like`, `contains_any`, `contains_all`, `is_none`
57
+
58
+ ## Output
59
+
60
+ - **Default**: Markdown table with object UUIDs and properties
61
+ - **JSON**: Array of objects with full metadata
62
+
63
+ ## Examples
64
+
65
+ Fetch by UUID:
66
+
67
+ ```bash
68
+ uv run scripts/fetch_filter.py "Articles" --id "550e8400-e29b-41d4-a716-446655440000"
69
+ ```
70
+
71
+ Filter by property:
72
+
73
+ ```bash
74
+ uv run scripts/fetch_filter.py "Products" --filters '{"property": "price", "operator": "less_than", "value": 50}'
75
+ ```
76
+
77
+ Complex filter with AND/OR:
78
+
79
+ ```bash
80
+ uv run scripts/fetch_filter.py "Articles" --filters '{"operator": "or", "filters": [{"property": "category", "operator": "equal", "value": "Science"}, {"property": "category", "operator": "equal", "value": "Tech"}]}'
81
+ ```
82
+
83
+ Select specific properties:
84
+
85
+ ```bash
86
+ uv run scripts/fetch_filter.py "Products" --properties "name,price" --limit 5
87
+ ```
88
+
@@ -0,0 +1,32 @@
1
+ # Get Collection Details
2
+
3
+ Get detailed configuration of a specific collection including vectorizer, properties, replication, and multi-tenancy settings.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uv run scripts/get_collection.py --name "CollectionName" [--json]
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Flag | Required | Default | Description |
14
+ |-----------|------|----------|---------|-------------|
15
+ | `--name` | `-n` | Yes | — | Collection name |
16
+ | `--json` | — | No | `false` | Output in JSON format |
17
+
18
+ ## Output
19
+
20
+ - **Default**: Markdown-formatted collection details with property table
21
+ - **JSON**: Full collection configuration object
22
+
23
+ ## Examples
24
+
25
+ ```bash
26
+ uv run scripts/get_collection.py --name "Articles"
27
+ ```
28
+
29
+ ```bash
30
+ uv run scripts/get_collection.py --name "Products" --json
31
+ ```
32
+
@@ -0,0 +1,47 @@
1
+ # Hybrid Search
2
+
3
+ Combines vector similarity and keyword (BM25) matching for balanced search results on a single collection.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uv run scripts/hybrid_search.py --query "USER_QUERY" --collection "CollectionName" [--alpha 0.7] [--limit 10] [--properties "prop1,prop2"] [--target-vector "vector_name"] [--json]
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Flag | Required | Default | Description |
14
+ |-----------|------|----------|---------|-------------|
15
+ | `--query` | `-q` | Yes | — | Search query text |
16
+ | `--collection` | `-c` | Yes | — | Collection name |
17
+ | `--alpha` | `-a` | No | `0.7` | Balance between vector (1.0) and keyword (0.0) |
18
+ | `--limit` | `-l` | No | `10` | Maximum number of results |
19
+ | `--properties` | `-p` | No | all | Comma-separated properties to search |
20
+ | `--target-vector` | `-t` | No | — | Target vector name for named vector collections |
21
+ | `--json` | — | No | `false` | Output in JSON format |
22
+
23
+ ## Output
24
+
25
+ - **Default**: Markdown table with object properties and score
26
+ - **JSON**: Array of objects with properties and search metadata
27
+
28
+ ## Examples
29
+
30
+ Basic hybrid search:
31
+
32
+ ```bash
33
+ uv run scripts/hybrid_search.py --query "climate change effects" --collection "Articles"
34
+ ```
35
+
36
+ Keyword-heavy search (lower alpha):
37
+
38
+ ```bash
39
+ uv run scripts/hybrid_search.py --query "product SKU-1234" --collection "Products" --alpha 0.3
40
+ ```
41
+
42
+ Search specific properties with named vector:
43
+
44
+ ```bash
45
+ uv run scripts/hybrid_search.py --query "renewable energy" --collection "Papers" --properties "title,abstract" --target-vector "title_vector"
46
+ ```
47
+
@@ -0,0 +1,160 @@
1
+ # Import Data
2
+
3
+ Import one or more CSV, JSON, JSONL, or PDF files into a Weaviate collection with automatic type conversion and column mapping. Multiple files of the same format can be passed in a single invocation — all objects are appended to the same collection. PDF files are converted page-by-page to base64-encoded JPEG images; the collection is created automatically on first import and reused on subsequent runs.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ # CSV/JSON/JSONL — collection must already exist
9
+ uv run scripts/import.py "data.csv" --collection "CollectionName" [--mapping '{}'] [--tenant "name"] [--batch-size 100] [--json]
10
+
11
+ # Multiple files of the same format
12
+ uv run scripts/import.py a.csv b.csv c.csv --collection "CollectionName"
13
+
14
+ # PDF — collection is created automatically on first run; appended to on subsequent runs
15
+ uv run scripts/import.py "document.pdf" --collection "CollectionName" [--image-field "doc_page"] [--batch-size 100] [--json]
16
+
17
+ # Multiple PDFs into the same collection
18
+ uv run scripts/import.py page1.pdf page2.pdf page3.pdf --collection "PDFDocuments"
19
+ ```
20
+
21
+ ## Parameters
22
+
23
+ | Parameter | Flag | Required | Default | Description |
24
+ |-----------|------|----------|---------|-------------|
25
+ | `files` | — | Yes (positional, one or more) | — | One or more CSV, JSON, JSONL, or PDF files (all must be the same format) |
26
+ | `--collection` | `-c` | Yes | — | Target collection name (must already exist for CSV/JSON/JSONL; created automatically for PDF if absent, otherwise appended to) |
27
+ | `--mapping` | `-m` | No | — | JSON object mapping file columns/keys to collection properties (CSV/JSON/JSONL only) |
28
+ | `--tenant` | `-t` | No | — | Tenant name for multi-tenant collections (required if collection has multi-tenancy enabled) |
29
+ | `--batch-size` | `-b` | No | `100` | Number of objects per batch |
30
+ | `--image-field` | `-i` | No | `doc_page` | BLOB property name to store base64 page images (PDF imports only) |
31
+ | `--skip-fields` | — | No | — | Comma-separated field names to exclude from import (e.g. `vector`) |
32
+ | `--json` | — | No | `false` | Output in JSON format |
33
+
34
+ ## File Formats
35
+
36
+ ### CSV
37
+
38
+ - First row must be a header — column names must match collection property names (case-sensitive)
39
+ - Delimiter and quoting auto-detected via `csv.Sniffer`
40
+ - Files without a header row are rejected with a clear error
41
+
42
+ ### JSON
43
+
44
+ - Must be an array of objects: `[{"prop1": "value1"}, {"prop2": "value2"}]`
45
+ - Keys must match collection property names
46
+ - The entire file is loaded into memory — for large datasets, always prefer JSONL
47
+
48
+ ### JSONL
49
+
50
+ - One JSON object per line
51
+ - Each object's keys must match collection property names
52
+ - Streamed line-by-line — preferred format for large datasets
53
+
54
+ ### PDF
55
+
56
+ - Each page is converted to a JPEG image and base64-encoded
57
+ - Each page becomes one Weaviate object with these properties:
58
+ - `doc_page` (or `--image-field` value): base64-encoded JPEG image of the page
59
+ - `page_number`: 1-indexed page number (int)
60
+ - `file_name`: PDF filename without extension (text)
61
+ - The collection is **created automatically** with `multi2vec_weaviate` (`ModernVBERT/colmodernvbert` + MUVERA encoding) if it does not already exist. If the collection already exists, pages are appended to it — allowing multiple PDFs to be loaded into the same collection across multiple runs.
62
+ - Requires `poppler` to be installed on the system (for Mac, simply run `brew install poppler`)
63
+
64
+ ## Type Conversion
65
+
66
+ For CSV, JSON, and JSONL imports the script uses the collection schema to guide conversion. Non-string values (JSON/JSONL native types) pass through unchanged. String values are cast based on the declared property type:
67
+
68
+ | Schema type | Conversion |
69
+ |---|---|
70
+ | `int` / `int[]` | `int(value)` — falls back to string if it fails |
71
+ | `number` / `number[]` | `float(value)` — falls back to string if it fails |
72
+ | `boolean` / `boolean[]` | `"true"`/`"false"` → bool — falls back to string |
73
+ | `date` / `date[]` | `"YYYY-MM-DD"` → `"YYYY-MM-DDT00:00:00Z"`, `"YYYY-MM-DD HH:MM:SS"` → RFC3339 with `Z` |
74
+ | `text[]`, `int[]`, `number[]`, `boolean[]`, `date[]`, `uuid[]`, `object`, `object[]`, `geoCoordinates`, `phoneNumber` | JSON/JSONL: native lists/dicts pass through unchanged. CSV: cell is parsed with `json.loads()` — falls back to string if it fails |
75
+ | `text`, `uuid` | kept as string |
76
+ | `blob` | kept as string — must already be base64-encoded in the source data |
77
+ | field not in schema | kept as string |
78
+
79
+ `None` and empty strings are always skipped.
80
+
81
+ ## Reserved Fields
82
+
83
+ `id` and `_additional` are reserved by Weaviate and cannot be used as property names (even for nested properties). If your data contains these keys/columns the import will fail. Use `--skip-fields` to drop them or `--mapping` to rename them.
84
+
85
+ **IMPORTANT NOTE:** Renaming must **always** be preferred over dropping when the field contains meaningful data. e.g. renaming `id` to `object_id` or `product_id` (based on the data).
86
+
87
+ `--mapping` and `--skip-fields` support dot notation for nested object fields (e.g. `author.id`).
88
+
89
+ ```bash
90
+ # Drop the top-level id field entirely
91
+ uv run scripts/import.py data.json --collection "Articles" --skip-fields "id"
92
+
93
+ # Rename top-level id to source_id
94
+ uv run scripts/import.py data.json --collection "Articles" --mapping '{"id": "source_id"}'
95
+
96
+ # Rename a nested id field inside an object property (e.g. author.id → author.author_id)
97
+ uv run scripts/import.py data.json --collection "Articles" --mapping '{"author.id": "author.author_id"}'
98
+
99
+ # Drop a nested id field
100
+ uv run scripts/import.py data.json --collection "Articles" --skip-fields "author.id"
101
+ ```
102
+
103
+ ## Output
104
+
105
+ - **Default**: Import summary with total, imported, and failed counts (plus sample errors if any)
106
+ - **JSON**: Structured import stats
107
+
108
+ Returns exit code `1` if any imports fail.
109
+
110
+ ## Examples
111
+
112
+ Import from CSV:
113
+
114
+ ```bash
115
+ uv run scripts/import.py data.csv --collection "Articles"
116
+ ```
117
+
118
+ Import with column mapping:
119
+
120
+ ```bash
121
+ uv run scripts/import.py data.csv --collection "Articles" \
122
+ --mapping '{"title_col": "title", "body_col": "content"}'
123
+ ```
124
+
125
+ Import to multi-tenant collection:
126
+
127
+ ```bash
128
+ uv run scripts/import.py data.jsonl --collection "Workspace" --tenant "tenant1"
129
+ ```
130
+
131
+ Import JSON with custom batch size:
132
+
133
+ ```bash
134
+ uv run scripts/import.py products.json --collection "Products" --batch-size 500
135
+ ```
136
+
137
+ Import a PDF (collection is created automatically on first run):
138
+
139
+ ```bash
140
+ uv run scripts/import.py paper.pdf --collection "PDFDocuments"
141
+ ```
142
+
143
+ Import multiple PDFs into the same collection:
144
+
145
+ ```bash
146
+ uv run scripts/import.py chapter1.pdf chapter2.pdf chapter3.pdf --collection "PDFDocuments"
147
+ ```
148
+
149
+ Import a PDF with a custom image field name:
150
+
151
+ ```bash
152
+ uv run scripts/import.py paper.pdf --collection "PDFDocuments" --image-field "page_image"
153
+ ```
154
+
155
+ Import multiple CSV files into the same collection:
156
+
157
+ ```bash
158
+ uv run scripts/import.py jan.csv feb.csv mar.csv --collection "Articles"
159
+ ```
160
+
@@ -0,0 +1,38 @@
1
+ # Keyword Search
2
+
3
+ BM25 keyword matching search on a single collection.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uv run scripts/keyword_search.py --query "USER_QUERY" --collection "CollectionName" [--limit 10] [--properties "title^2,content"] [--json]
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Flag | Required | Default | Description |
14
+ |-----------|------|----------|---------|-------------|
15
+ | `--query` | `-q` | Yes | — | Keyword search query |
16
+ | `--collection` | `-c` | Yes | — | Collection name |
17
+ | `--limit` | `-l` | No | `10` | Maximum number of results |
18
+ | `--properties` | `-p` | No | all | Properties to search with optional boost (e.g., `title^2,content`) |
19
+ | `--json` | — | No | `false` | Output in JSON format |
20
+
21
+ ## Output
22
+
23
+ - **Default**: Markdown table with object properties and BM25 scores
24
+ - **JSON**: Array of objects with properties and score metadata
25
+
26
+ ## Examples
27
+
28
+ Basic keyword search:
29
+
30
+ ```bash
31
+ uv run scripts/keyword_search.py --query "Python tutorial" --collection "Articles"
32
+ ```
33
+
34
+ Search with property boosting:
35
+
36
+ ```bash
37
+ uv run scripts/keyword_search.py --query "authentication" --collection "Docs" --properties "title^2,body"
38
+ ```
@@ -0,0 +1,31 @@
1
+ # List Collections
2
+
3
+ Show all available Weaviate collections with their properties.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uv run scripts/list_collections.py [--json]
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Flag | Required | Default | Description |
14
+ |-----------|------|----------|---------|-------------|
15
+ | `--json` | — | No | `false` | Output in JSON format |
16
+
17
+ ## Output
18
+
19
+ - **Default**: Markdown table with collection names, descriptions, and property lists
20
+ - **JSON**: Array of collection objects with full property details
21
+
22
+ ## Examples
23
+
24
+ ```bash
25
+ uv run scripts/list_collections.py
26
+ ```
27
+
28
+ ```bash
29
+ uv run scripts/list_collections.py --json
30
+ ```
31
+
@@ -0,0 +1,38 @@
1
+ # Query Agent - Search Mode
2
+
3
+ Retrieve raw objects using natural language queries across multiple collections via the Weaviate Query Agent.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uv run scripts/query_search.py --query "USER_QUERY" --collections "Collection1,Collection2" [--limit 10] [--json]
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Flag | Required | Default | Description |
14
+ |-----------|------|----------|---------|-------------|
15
+ | `--query` | `-q` | Yes | — | Natural language search query |
16
+ | `--collections` | `-c` | Yes | — | Comma-separated collection names to search across |
17
+ | `--limit` | `-l` | No | `10` | Maximum number of results to return |
18
+ | `--json` | — | No | `false` | Output in JSON format |
19
+
20
+ ## Output
21
+
22
+ - **Default**: Markdown table with UUIDs, collection names, and all object properties (columns generated dynamically)
23
+ - **JSON**: Array of objects with `uuid`, `collection`, and `properties`
24
+
25
+ ## Examples
26
+
27
+ Search across collections:
28
+
29
+ ```bash
30
+ uv run scripts/query_search.py --query "machine learning papers" --collections "Articles,Research" --limit 5
31
+ ```
32
+
33
+ JSON output:
34
+
35
+ ```bash
36
+ uv run scripts/query_search.py --query "products under $50" --collections "Products" --json
37
+ ```
38
+
@@ -0,0 +1,46 @@
1
+ # Semantic Search
2
+
3
+ Pure vector similarity search using embeddings on a single collection.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ uv run scripts/semantic_search.py --query "USER_QUERY" --collection "CollectionName" [--limit 10] [--distance 0.5] [--target-vector "vector_name"] [--json]
9
+ ```
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Flag | Required | Default | Description |
14
+ |-----------|------|----------|---------|-------------|
15
+ | `--query` | `-q` | Yes | — | Search query text |
16
+ | `--collection` | `-c` | Yes | — | Collection name |
17
+ | `--limit` | `-l` | No | `10` | Maximum number of results |
18
+ | `--distance` | `-d` | No | — | Maximum distance threshold (filters out less similar results) |
19
+ | `--target-vector` | `-t` | No | — | Target vector name for named vector collections |
20
+ | `--json` | — | No | `false` | Output in JSON format |
21
+
22
+ ## Output
23
+
24
+ - **Default**: Markdown table with object properties and distance scores
25
+ - **JSON**: Array of objects with properties and distance metadata
26
+
27
+ ## Examples
28
+
29
+ Basic semantic search:
30
+
31
+ ```bash
32
+ uv run scripts/semantic_search.py --query "environmental impact of urbanization" --collection "Research"
33
+ ```
34
+
35
+ With distance threshold:
36
+
37
+ ```bash
38
+ uv run scripts/semantic_search.py --query "machine learning" --collection "Papers" --distance 0.3 --limit 5
39
+ ```
40
+
41
+ With named vector:
42
+
43
+ ```bash
44
+ uv run scripts/semantic_search.py --query "abstract art" --collection "Artworks" --target-vector "description_vector"
45
+ ```
46
+