Managing the lifecycle of weapon and mod data from external sources to the local database
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: data-import-workflow
description: Managing the lifecycle of weapon and mod data from external sources to the local database
---
# Data Import Workflow Skill
Use this skill when working on or running the data import pipeline.
---
## Scope
- Running the importer to populate or refresh data
- Extending the importer to handle new fields or types
- Debugging import failures
---
## Running the Importer
| Command | Use Case |
|---------|----------|
| `task importer:start` | Fetch fresh data from tarkov.dev API and update the database. |
| `task importer:start:use-cache` | Use locally cached JSON files (faster, avoids API rate limits). |
| `task importer:start:cache-only` | Fetch from API and update local cache, but skip database writes. |
---
## Import Behavior
1. **Purge**: Existing weapons, mods, trader offers, and optimum builds are deleted.
2. **Fetch**: Data is retrieved from tarkov.dev GraphQL API (or local cache).
3. **Transform**: External schema is mapped to internal `models` structs.
4. **Persist**: Data is written to the database within a transaction.
5. **Invalidate**: `optimum_builds` are purged since they depend on the imported data.
---
## Extending the Importer
When adding new fields or types:
1. **Update GraphQL Query**: Modify `internal/tarkovdev/schemas/queries.graphql`.
2. **Regenerate Client**: Run `task tarkovdev:regenerate`.
3. **Update Models**: Add new fields to structs in `internal/models/`.
4. **Update Mapping**: Adjust conversion logic in `internal/importers/`.
5. **Update SQL**: Modify `Upsert` functions in `internal/models/` to include new columns.
---
## Troubleshooting
- **Rate Limiting**: Use `--use-cache` for repeated runs during development.
- **Schema Mismatch**: Run `task tarkovdev:get-schema` then `task tarkovdev:regenerate`.
- **Connection Issues**: Verify `POSTGRES_HOST` in `.env` and ensure the database is running.
No comments yet. Be the first to comment!
MySQL development best practices for schema design, query optimization, and database administration