Skip to content
Back to skills

Reindex Gold

ASecurity

Rebuild the pgvector gold index after source data changes. Invoke manually — replaces each collection, do NOT trigger automatically.

  • 13 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
ai-agentspythongobashsqldocker

Security analysis

A100/100

Scanned October 19, 2026

npx -y skills add spideystreet/medox --skill reindex-gold --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reindex Gold?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Reindex Gold
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/spideystreet-reindex-gold/badge)](https://www.skillsdirectory.com/skills/spideystreet-reindex-gold)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: reindex-gold
description: Rebuild the pgvector gold index after source data changes. Invoke manually — replaces each collection, do NOT trigger automatically.
disable-model-invocation: true
---

# Skill: Rebuild the Gold Index

Use when BDPM/ANSM source data has changed, Silver models were updated, or `gold.embedding` is missing or stale.

## Steps

1. **Ensure Postgres is running** (`pgvector/pgvector:pg16`):
   ```bash
   docker compose up -d
   docker compose ps
   ```

2. **Ensure Silver is up to date** (run if source data changed):
   ```bash
   uv run dotenv -f .env run -- dbt run --project-dir dbt --profiles-dir dbt
   uv run dotenv -f .env run -- dbt test --project-dir dbt --profiles-dir dbt
   ```

3. **Materialize the Gold asset**:
   ```bash
   uv run dotenv -f .env run -- uv run dagster asset materialize --select gold_embeddings
   ```

4. **Verify row counts**:
   ```bash
   uv run dotenv -f .env run -- python -c "
   from sqlalchemy import create_engine, text
   from medox.pipeline.config_pipeline import PipelineSettings
   engine = create_engine(PipelineSettings().postgres_dsn)
   with engine.connect() as conn:
       rows = conn.execute(text('SELECT collection, count(*) FROM gold.embedding GROUP BY 1')).fetchall()
       print(rows)
   "
   ```

5. **Smoke-test the agent tools**:
   ```bash
   uv run dotenv -f .env run -- python -c "
   from medox.agent.tools.tool_search_drug import search_drug
   from medox.agent.tools.tool_check_interactions import check_interactions
   print(search_drug('doliprane'))
   print(check_interactions('warfarine', 'ibuprofene'))
   "
   ```

## Collections

| Collection | Content | Rebuilt from |
|------------|---------|--------------|
| `idx_bdpm_medicament_v1` | Drug denominations + metadata | `silver_bdpm__medicament` |
| `idx_ansm_interaction_v1` | ANSM interaction pairs | `silver_ansm__interaction` |

## Rules

- Run dbt tests before reindexing when Silver changed — bad Silver data produces bad embeddings
- A rebuild replaces one collection inside a transaction — expect several minutes of embedding
- If `gold_embeddings` fails, check Postgres is up and the image is `pgvector/pgvector:pg16`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.