[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PZYZWBXGWF7ZSSVGJ7GVPP":3,"skill-same:01M6PZYZWBXGWF7ZSSVGJ7GVPP":76},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":37,"commitSha":57,"skillDirectory":58,"forksCount":13,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M6PZYZWBXGWF7ZSSVGJ7GVPP","vector-database-ops",null,"Deploy, manage, and optimize vector databases for AI applications.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fvector-database-ops\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"database","vector","vector database ops","vector database","ops","for","security","relevant","scripts","critical","os","platform","vector databases","optimize","main","community","databases","only","access","devops-security","2026-11-10 10:12:30",false,"---\nname: vector-database-ops\ndescription: Deploy, manage, and optimize vector databases for AI applications.\ncategory: devops\nrisk: critical\nsource: https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\nsource_repo: BagelHole\u002FDevOps-Security-Agent-Skills\nsource_type: community\ndate_added: '2026-09-20'\nlicense: MIT\nlicense_source: https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\u002Fblob\u002Fmain\u002FLICENSE\ncompatibility: Requires the relevant OS\u002Fplatform tooling and privileged access where\n  noted. Docs-only; helper scripts and templates not bundled.\nmetadata:\n  author: devops-skills\n  version: '1.0'\n---\n\n# Vector Database Operations\n\nRun production vector databases for AI-powered search, RAG, and recommendation systems.\n\n## When to Use This Skill\n\nUse this skill when:\n- Setting up a vector database for a RAG or semantic search application\n- Choosing between Qdrant, Weaviate, pgvector, or Pinecone\n- Managing collections, indexes, and data migrations\n- Optimizing query performance and indexing for production loads\n- Implementing multi-tenant vector search with namespace isolation\n\n## Vector Database Comparison\n\n| Database | Best For | Hosting | Filtering | Scale |\n|----------|----------|---------|-----------|-------|\n| **Qdrant** | High-performance, rich filtering, self-hosted | Self \u002F Cloud | Excellent | Very High |\n| **Weaviate** | Schema-first, hybrid search, multi-modal | Self \u002F Cloud | Good | High |\n| **pgvector** | Already on Postgres, simple use cases | Self | Good | Medium |\n| **Pinecone** | Zero-ops managed, serverless | Managed only | Good | Very High |\n| **Chroma** | Local dev, prototyping | Self only | Basic | Low-Medium |\n\n## Qdrant — Production Deployment\n\n```bash\n# Docker (single node)\ndocker run -d \\\n  --name qdrant \\\n  -p 6333:6333 \\\n  -p 6334:6334 \\\n  -v $(pwd)\u002Fqdrant-data:\u002Fqdrant\u002Fstorage \\\n  qdrant\u002Fqdrant:latest\n\n# With custom config\ndocker run -d \\\n  --name qdrant \\\n  -p 6333:6333 \\\n  -v $(pwd)\u002Fqdrant-data:\u002Fqdrant\u002Fstorage \\\n  -v $(pwd)\u002Fqdrant-config.yaml:\u002Fqdrant\u002Fconfig\u002Fproduction.yaml \\\n  qdrant\u002Fqdrant:latest\n```\n\n```yaml\n# qdrant-config.yaml\nstorage:\n  storage_path: \u002Fqdrant\u002Fstorage\n  on_disk_payload: true          # store payload on disk (saves RAM)\n\nservice:\n  max_request_size_mb: 32\n\nhnsw_index:\n  m: 16                          # graph connections per node\n  ef_construct: 100              # accuracy vs build time trade-off\n  full_scan_threshold: 10000     # switch to brute force below this\n\nquantization:\n  scalar:\n    type: int8\n    quantile: 0.99\n    always_ram: true             # keep quantized index in RAM\n\ntelemetry_disabled: true\n```\n\n## Qdrant Collection Management\n\n```python\nfrom qdrant_client import QdrantClient\nfrom qdrant_client.models import (\n    Distance, VectorParams, HnswConfigDiff,\n    ScalarQuantizationConfig, ScalarType, QuantizationConfig\n)\n\nclient = QdrantClient(\"http:\u002F\u002Flocalhost:6333\")\n\n# Create optimized collection\nclient.create_collection(\n    collection_name=\"documents\",\n    vectors_config=VectorParams(\n        size=1536,                         # OpenAI ada-002 \u002F text-embedding-3-small\n        distance=Distance.COSINE,\n        on_disk=True,                      # save RAM — vectors stored on disk\n    ),\n    hnsw_config=HnswConfigDiff(\n        m=32,                              # higher = better recall, more RAM\n        ef_construct=200,\n        on_disk=False,                     # keep HNSW graph in RAM for speed\n    ),\n    quantization_config=QuantizationConfig(\n        scalar=ScalarQuantizationConfig(\n            type=ScalarType.INT8,\n            quantile=0.99,\n            always_ram=True,\n        )\n    ),\n)\n\n# Create payload index for fast filtering\nclient.create_payload_index(\n    collection_name=\"documents\",\n    field_name=\"tenant_id\",\n    field_schema=\"keyword\",\n)\nclient.create_payload_index(\n    collection_name=\"documents\",\n    field_name=\"created_at\",\n    field_schema=\"datetime\",\n)\n\n# Collection info\ninfo = client.get_collection(\"documents\")\nprint(f\"Vectors: {info.vectors_count}, Status: {info.status}\")\n```\n\n## Qdrant Filtered Search\n\n```python\nfrom qdrant_client.models import Filter, FieldCondition, MatchValue, Range\n\n# Tenant-isolated search (multi-tenant RAG)\nresults = client.query_points(\n    collection_name=\"documents\",\n    query=query_embedding,\n    query_filter=Filter(\n        must=[\n            FieldCondition(key=\"tenant_id\", match=MatchValue(value=\"acme-corp\")),\n            FieldCondition(key=\"doc_type\", match=MatchValue(value=\"contract\")),\n        ],\n        should=[\n            FieldCondition(key=\"created_at\", range=Range(gte=\"2024-01-01\")),\n        ],\n    ),\n    limit=10,\n    with_payload=True,\n)\n```\n\n## pgvector — PostgreSQL Extension\n\n```sql\n-- Enable extension\nCREATE EXTENSION IF NOT EXISTS vector;\n\n-- Create table with vector column\nCREATE TABLE documents (\n    id          UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n    content     TEXT NOT NULL,\n    embedding   VECTOR(1536),\n    metadata    JSONB DEFAULT '{}',\n    tenant_id   TEXT NOT NULL,\n    created_at  TIMESTAMPTZ DEFAULT NOW()\n);\n\n-- Create HNSW index (faster queries, more memory)\nCREATE INDEX ON documents\nUSING hnsw (embedding vector_cosine_ops)\nWITH (m = 16, ef_construction = 64);\n\n-- Create IVFFlat index (less memory, slower build)\n-- CREATE INDEX ON documents\n-- USING ivfflat (embedding vector_cosine_ops)\n-- WITH (lists = 100);\n\n-- Semantic search with metadata filtering\nSELECT id, content, metadata,\n       1 - (embedding \u003C=> $1::vector) AS similarity\nFROM documents\nWHERE tenant_id = 'acme-corp'\n  AND metadata->>'doc_type' = 'contract'\nORDER BY embedding \u003C=> $1::vector\nLIMIT 10;\n```\n\n```bash\n# Deploy pgvector via Docker\ndocker run -d \\\n  --name pgvector \\\n  -e POSTGRES_PASSWORD=secret \\\n  -e POSTGRES_DB=vectordb \\\n  -p 5432:5432 \\\n  -v pgvector-data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata \\\n  pgvector\u002Fpgvector:pg16\n```\n\n## Weaviate Deployment\n\n```yaml\n# docker-compose for Weaviate\nservices:\n  weaviate:\n    image: semitechnologies\u002Fweaviate:latest\n    ports:\n      - \"8080:8080\"\n      - \"50051:50051\"\n    environment:\n      QUERY_DEFAULTS_LIMIT: 25\n      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: \"false\"\n      AUTHENTICATION_APIKEY_ENABLED: \"true\"\n      AUTHENTICATION_APIKEY_ALLOWED_KEYS: \"${WEAVIATE_API_KEY}\"\n      AUTHENTICATION_APIKEY_USERS: \"admin\"\n      PERSISTENCE_DATA_PATH: \u002Fvar\u002Flib\u002Fweaviate\n      ENABLE_MODULES: text2vec-openai,generative-openai\n      OPENAI_APIKEY: \"${OPENAI_API_KEY}\"\n      CLUSTER_HOSTNAME: node1\n    volumes:\n      - weaviate-data:\u002Fvar\u002Flib\u002Fweaviate\n    restart: unless-stopped\n\nvolumes:\n  weaviate-data:\n```\n\n## Backup and Restore\n\n```bash\n# Qdrant — snapshot backup\ncurl -X POST \"http:\u002F\u002Flocalhost:6333\u002Fcollections\u002Fdocuments\u002Fsnapshots\"\n# Download snapshot\ncurl -O \"http:\u002F\u002Flocalhost:6333\u002Fcollections\u002Fdocuments\u002Fsnapshots\u002Fdocuments-snapshot.snapshot\"\n# Restore\ncurl -X POST \"http:\u002F\u002Flocalhost:6333\u002Fcollections\u002Fdocuments\u002Fsnapshots\u002Frecover\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"location\": \"\u002Fqdrant\u002Fsnapshots\u002Fdocuments-snapshot.snapshot\"}'\n\n# pgvector — standard pg_dump\npg_dump -h localhost -U postgres -d vectordb \\\n  --table=documents --format=custom > documents-backup.dump\n\n# Restore\npg_restore -h localhost -U postgres -d vectordb documents-backup.dump\n```\n\n## Performance Tuning\n\n```python\n# Qdrant — optimize collection after bulk load\nclient.update_collection(\n    collection_name=\"documents\",\n    optimizer_config={\"indexing_threshold\": 0},  # force indexing now\n)\n\n# Wait for optimization to complete\nimport time\nwhile True:\n    info = client.get_collection(\"documents\")\n    if info.status.value == \"green\":\n        break\n    time.sleep(5)\n    print(f\"Optimizing... segments: {info.segments_count}\")\n```\n\n## Common Issues\n\n| Issue | Cause | Fix |\n|-------|-------|-----|\n| Slow queries | No HNSW index built yet | Wait for indexing; check `status == green` |\n| High RAM usage | Vectors in memory | Enable `on_disk=True` for vectors |\n| Poor recall | Low `ef` search param | Increase `ef` in search request (at query time) |\n| pgvector slow | Using IVFFlat without vacuum | Run `VACUUM ANALYZE documents` |\n| Weaviate OOM | Too many objects | Enable async indexing; increase heap |\n\n## Best Practices\n\n- Use cosine distance for normalized embeddings; dot product for unnormalized.\n- Always create payload indexes on filter fields (`tenant_id`, `doc_type`).\n- For datasets >10M vectors, use `on_disk` vectors + `always_ram` quantization.\n- Benchmark with your actual query patterns before choosing IVFFlat vs HNSW.\n- Snapshot before any bulk delete or migration operation.\n\n## Related Skills\n\n- rag-infrastructure (`rag-infrastructure`) - Full RAG pipeline\n- [databases] (..\u002F) - General database management\n- postgresql (`postgresql-devsec`) - pgvector host database ops\n\n## Limitations\n\n- Infrastructure commands can disrupt services: confirm target host\u002Fscope and have backups\u002Fsnapshots before mutating state.\n- Docs-only import: upstream scripts and templates not bundled.\n\n","# Vector Database Operations\n\nRun production vector databases for AI-powered search, RAG, and recommendation systems.\n\n## When to Use This Skill\n\nUse this skill when:\n- Setting up a vector database for a RAG or semantic search application\n- Choosing between Qdrant, Weaviate, pgvector, or Pinecone\n- Managing collections, indexes, and data migrations\n- Optimizing query performance and indexing for production loads\n- Implementing multi-tenant vector search with namespace isolation\n\n## Vector Database Comparison\n\n| Database | Best For | Hosting | Filtering | Scale |\n|----------|----------|---------|-----------|-------|\n| **Qdrant** | High-performance, rich filtering, self-hosted | Self \u002F Cloud | Excellent | Very High |\n| **Weaviate** | Schema-first, hybrid search, multi-modal | Self \u002F Cloud | Good | High |\n| **pgvector** | Already on Postgres, simple use cases | Self | Good | Medium |\n| **Pinecone** | Zero-ops managed, serverless | Managed only | Good | Very High |\n| **Chroma** | Local dev, prototyping | Self only | Basic | Low-Medium |\n\n## Qdrant — Production Deployment\n\n```bash\n# Docker (single node)\ndocker run -d \\\n  --name qdrant \\\n  -p 6333:6333 \\\n  -p 6334:6334 \\\n  -v $(pwd)\u002Fqdrant-data:\u002Fqdrant\u002Fstorage \\\n  qdrant\u002Fqdrant:latest\n\n# With custom config\ndocker run -d \\\n  --name qdrant \\\n  -p 6333:6333 \\\n  -v $(pwd)\u002Fqdrant-data:\u002Fqdrant\u002Fstorage \\\n  -v $(pwd)\u002Fqdrant-config.yaml:\u002Fqdrant\u002Fconfig\u002Fproduction.yaml \\\n  qdrant\u002Fqdrant:latest\n```\n\n```yaml\n# qdrant-config.yaml\nstorage:\n  storage_path: \u002Fqdrant\u002Fstorage\n  on_disk_payload: true          # store payload on disk (saves RAM)\n\nservice:\n  max_request_size_mb: 32\n\nhnsw_index:\n  m: 16                          # graph connections per node\n  ef_construct: 100              # accuracy vs build time trade-off\n  full_scan_threshold: 10000     # switch to brute force below this\n\nquantization:\n  scalar:\n    type: int8\n    quantile: 0.99\n    always_ram: true             # keep quantized index in RAM\n\ntelemetry_disabled: true\n```\n\n## Qdrant Collection Management\n\n```python\nfrom qdrant_client import QdrantClient\nfrom qdrant_client.models import (\n    Distance, VectorParams, HnswConfigDiff,\n    ScalarQuantizationConfig, ScalarType, QuantizationConfig\n)\n\nclient = QdrantClient(\"http:\u002F\u002Flocalhost:6333\")\n\n# Create optimized collection\nclient.create_collection(\n    collection_name=\"documents\",\n    vectors_config=VectorParams(\n        size=1536,                         # OpenAI ada-002 \u002F text-embedding-3-small\n        distance=Distance.COSINE,\n        on_disk=True,                      # save RAM — vectors stored on disk\n    ),\n    hnsw_config=HnswConfigDiff(\n        m=32,                              # higher = better recall, more RAM\n        ef_construct=200,\n        on_disk=False,                     # keep HNSW graph in RAM for speed\n    ),\n    quantization_config=QuantizationConfig(\n        scalar=ScalarQuantizationConfig(\n            type=ScalarType.INT8,\n            quantile=0.99,\n            always_ram=True,\n        )\n    ),\n)\n\n# Create payload index for fast filtering\nclient.create_payload_index(\n    collection_name=\"documents\",\n    field_name=\"tenant_id\",\n    field_schema=\"keyword\",\n)\nclient.create_payload_index(\n    collection_name=\"documents\",\n    field_name=\"created_at\",\n    field_schema=\"datetime\",\n)\n\n# Collection info\ninfo = client.get_collection(\"documents\")\nprint(f\"Vectors: {info.vectors_count}, Status: {info.status}\")\n```\n\n## Qdrant Filtered Search\n\n```python\nfrom qdrant_client.models import Filter, FieldCondition, MatchValue, Range\n\n# Tenant-isolated search (multi-tenant RAG)\nresults = client.query_points(\n    collection_name=\"documents\",\n    query=query_embedding,\n    query_filter=Filter(\n        must=[\n            FieldCondition(key=\"tenant_id\", match=MatchValue(value=\"acme-corp\")),\n            FieldCondition(key=\"doc_type\", match=MatchValue(value=\"contract\")),\n        ],\n        should=[\n            FieldCondition(key=\"created_at\", range=Range(gte=\"2024-01-01\")),\n        ],\n    ),\n    limit=10,\n    with_payload=True,\n)\n```\n\n## pgvector — PostgreSQL Extension\n\n```sql\n-- Enable extension\nCREATE EXTENSION IF NOT EXISTS vector;\n\n-- Create table with vector column\nCREATE TABLE documents (\n    id          UUID PRIMARY KEY DEFAULT gen_random_uuid(),\n    content     TEXT NOT NULL,\n    embedding   VECTOR(1536),\n    metadata    JSONB DEFAULT '{}',\n    tenant_id   TEXT NOT NULL,\n    created_at  TIMESTAMPTZ DEFAULT NOW()\n);\n\n-- Create HNSW index (faster queries, more memory)\nCREATE INDEX ON documents\nUSING hnsw (embedding vector_cosine_ops)\nWITH (m = 16, ef_construction = 64);\n\n-- Create IVFFlat index (less memory, slower build)\n-- CREATE INDEX ON documents\n-- USING ivfflat (embedding vector_cosine_ops)\n-- WITH (lists = 100);\n\n-- Semantic search with metadata filtering\nSELECT id, content, metadata,\n       1 - (embedding \u003C=> $1::vector) AS similarity\nFROM documents\nWHERE tenant_id = 'acme-corp'\n  AND metadata->>'doc_type' = 'contract'\nORDER BY embedding \u003C=> $1::vector\nLIMIT 10;\n```\n\n```bash\n# Deploy pgvector via Docker\ndocker run -d \\\n  --name pgvector \\\n  -e POSTGRES_PASSWORD=secret \\\n  -e POSTGRES_DB=vectordb \\\n  -p 5432:5432 \\\n  -v pgvector-data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata \\\n  pgvector\u002Fpgvector:pg16\n```\n\n## Weaviate Deployment\n\n```yaml\n# docker-compose for Weaviate\nservices:\n  weaviate:\n    image: semitechnologies\u002Fweaviate:latest\n    ports:\n      - \"8080:8080\"\n      - \"50051:50051\"\n    environment:\n      QUERY_DEFAULTS_LIMIT: 25\n      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: \"false\"\n      AUTHENTICATION_APIKEY_ENABLED: \"true\"\n      AUTHENTICATION_APIKEY_ALLOWED_KEYS: \"${WEAVIATE_API_KEY}\"\n      AUTHENTICATION_APIKEY_USERS: \"admin\"\n      PERSISTENCE_DATA_PATH: \u002Fvar\u002Flib\u002Fweaviate\n      ENABLE_MODULES: text2vec-openai,generative-openai\n      OPENAI_APIKEY: \"${OPENAI_API_KEY}\"\n      CLUSTER_HOSTNAME: node1\n    volumes:\n      - weaviate-data:\u002Fvar\u002Flib\u002Fweaviate\n    restart: unless-stopped\n\nvolumes:\n  weaviate-data:\n```\n\n## Backup and Restore\n\n```bash\n# Qdrant — snapshot backup\ncurl -X POST \"http:\u002F\u002Flocalhost:6333\u002Fcollections\u002Fdocuments\u002Fsnapshots\"\n# Download snapshot\ncurl -O \"http:\u002F\u002Flocalhost:6333\u002Fcollections\u002Fdocuments\u002Fsnapshots\u002Fdocuments-snapshot.snapshot\"\n# Restore\ncurl -X POST \"http:\u002F\u002Flocalhost:6333\u002Fcollections\u002Fdocuments\u002Fsnapshots\u002Frecover\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"location\": \"\u002Fqdrant\u002Fsnapshots\u002Fdocuments-snapshot.snapshot\"}'\n\n# pgvector — standard pg_dump\npg_dump -h localhost -U postgres -d vectordb \\\n  --table=documents --format=custom > documents-backup.dump\n\n# Restore\npg_restore -h localhost -U postgres -d vectordb documents-backup.dump\n```\n\n## Performance Tuning\n\n```python\n# Qdrant — optimize collection after bulk load\nclient.update_collection(\n    collection_name=\"documents\",\n    optimizer_config={\"indexing_threshold\": 0},  # force indexing now\n)\n\n# Wait for optimization to complete\nimport time\nwhile True:\n    info = client.get_collection(\"documents\")\n    if info.status.value == \"green\":\n        break\n    time.sleep(5)\n    print(f\"Optimizing... segments: {info.segments_count}\")\n```\n\n## Common Issues\n\n| Issue | Cause | Fix |\n|-------|-------|-----|\n| Slow queries | No HNSW index built yet | Wait for indexing; check `status == green` |\n| High RAM usage | Vectors in memory | Enable `on_disk=True` for vectors |\n| Poor recall | Low `ef` search param | Increase `ef` in search request (at query time) |\n| pgvector slow | Using IVFFlat without vacuum | Run `VACUUM ANALYZE documents` |\n| Weaviate OOM | Too many objects | Enable async indexing; increase heap |\n\n## Best Practices\n\n- Use cosine distance for normalized embeddings; dot product for unnormalized.\n- Always create payload indexes on filter fields (`tenant_id`, `doc_type`).\n- For datasets >10M vectors, use `on_disk` vectors + `always_ram` quantization.\n- Benchmark with your actual query patterns before choosing IVFFlat vs HNSW.\n- Snapshot before any bulk delete or migration operation.\n\n## Related Skills\n\n- rag-infrastructure (`rag-infrastructure`) - Full RAG pipeline\n- [databases] (..\u002F) - General database management\n- postgresql (`postgresql-devsec`) - pgvector host database ops\n\n## Limitations\n\n- Infrastructure commands can disrupt services: confirm target host\u002Fscope and have backups\u002Fsnapshots before mutating state.\n- Docs-only import: upstream scripts and templates not bundled.\n\n",{"name":5,"risk":32,"source":48,"license":14,"category":49,"metadata":50,"date_added":53,"description":7,"source_repo":54,"source_type":38,"compatibility":55,"license_source":56},"https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills","devops",{"author":51,"version":52},"devops-skills","1.0","2026-09-20","BagelHole\u002FDevOps-Security-Agent-Skills","Requires the relevant OS\u002Fplatform tooling and privileged access where noted. Docs-only; helper scripts and templates not bundled.","https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\u002Fblob\u002Fmain\u002FLICENSE","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fvector-database-ops","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill vector-database-ops",{"tool":68,"command":69},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill vector-database-ops",{"tool":71,"command":72},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill vector-database-ops","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fvector-database-ops\u002FSKILL.md",true,[],[77,98,122,147,173,197],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":86,"publishedAt":43},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[83],{"categoryNo":84,"categoryName":85,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",[87,88,89,90,91,92,79,93,42,41,94,40,38,37,95,32,96,31,30,97],"ZeRO","trust","zero trust","architecture","assessment","verification","segmentation","configure","active","scope","implementing",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":43},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[105,106,107,108,109,110,111,112,113,114,115,116,117,40,118,38,119,120,32,121],"delegate","zcode","zcode delegate","review","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":43},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[129,130,131,132,133,134,135,136,137,138,139,140,141,38,37,142,143,144,145,146],"transcript","youtube transcript","youtube","safe","github","codex","research","license","https","text","fetch","tooling","clean","local","output","deepapi","youtube transcripts","blob",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":162,"publishedAt":43},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[153,154,157],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":155,"categoryName":156,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":158,"categoryName":159,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[129,130,131,163,132,164,133,134,136,165,166,167,168,139,169,38,37,170,171,172],"youtube transcript skills","gemini","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":183,"publishedAt":43},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[179,182],{"categoryNo":180,"categoryName":181,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":155,"categoryName":156,"taxonomyType":20,"taxonomyTypeDesc":21},[131,184,185,109,132,186,187,188,189,136,167,190,191,192,193,37,194,142,195,196],"youtube notetaker","notetaker","workflow","official","notes","code","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":204,"publishedAt":43},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[203],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[205,131,206,207,132,164,165,208,209,166,167,168,139,210,169,38,37,170,211,145],"youtube full","full","google","server","dlp","credits","automatic"]