Borrowing it
Nothing to install: this file belongs to berntpopp/gencc-link. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/berntpopp/gencc-link/main/.claude/skills/data-schema-change/SKILL.mdgit clone --depth 1 https://github.com/berntpopp/gencc-linkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/berntpopp/gencc-link/data-schema-change)<a href="https://agentmods.dev/skills/berntpopp/gencc-link/data-schema-change"><img src="https://agentmods.dev/badge/skills/berntpopp/gencc-link/data-schema-change.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00040 | $0.00733 |
| Opus 5 | $0.00020 | $0.00367 |
| Sonnet 5 | $0.00008 | $0.00147 |
| Haiku 4.5 | $0.00004 | $0.00073 |
Grade A, and why
data-schema-change scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 60 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data schema change
Use this skill when changing the shape of the local SQLite store — columns,
tables, indexes, FTS5 config, or the aggregated gene_disease roll-up. These
three layers must change together or queries will break at runtime.
The three coupled layers
gencc_link/data/schema.sql— the DDL:submissions,genes,diseases,submitters, the aggregatedgene_diseasetable, thegenes_fts/diseases_ftsFTS5 indexes, and the single-rowmetatable.gencc_link/ingest/— the builder that populates the schema:parser.pyparses the 31-column TSV (header validated against the column order ingencc_link/constants.py);aggregates.pycomputes per-gene / per-disease / per-submitter and per-(gene, disease) roll-ups, including consensus and conflict;builder.pywrites rows + aggregates + FTS, sets themetarow, and does the atomic rename.
gencc_link/data/repository.py(+queries.py) — the read-only query layer that selects from those tables. Every changed column/table must be reflected in the SQL here.
Checklist
-
Bump the schema version. If the change is not backward compatible with an existing built database, bump
SCHEMA_VERSIONingencc_link/constants.pyso stale databases are detected. -
Edit
schema.sql. Add/alter the table, column, index, or FTS definition. Keep FTS5 columns and tokenizer consistent with the search queries. -
Update the ingest builder. Adjust
parser.py(if the source columns changed — also updateSUBMISSION_COLUMNSinconstants.py),aggregates.py(if a derived/aggregated value changed — consensus and conflict logic lives ingencc_link/services/consensus.pyand is applied at build time), andbuilder.py(the INSERT/index/FTS population). -
Update the repository. Edit
repository.py/queries.pyso reads match the new schema. Update the service layer (gencc_link/services/) and any Pydantic records (gencc_link/models/records.py) consuming the new fields.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 60 lines · 40 tokens per session scan A af1dbdcd2e11
data-schema-change is a skill published in the GitHub repository berntpopp/gencc-link (0 stars, last pushed 3d ago), licensed MIT. It adds 40 tokens to every session and 733 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
api-canvas
DataCanvas primitive reference — a Tier 3 SQL/analytical workspace for tabular MCP servers, backed by DuckDB. Use when registering tables from upstream APIs, running ad-hoc SQL across them, and exporting results. Covers the acquire → register → query → export flow, per-table TTL, the token-sharing pattern for…
api-mirror
Stand up a persistent, self-refreshing local mirror of a bulk upstream dataset with the MirrorService (@cyanheads/mcp-ts-core/mirror). Use when a server wraps a large or slow API and should query a synced local index (embedded SQLite + FTS5) instead of paginating the live API per request.
tiledbvcf
Efficient storage and retrieval of genomic variant data using TileDB. Scalable VCF/BCF ingestion, incremental sample addition, compressed storage, parallel queries, and export capabilities for population genomics.
api-canvas
DataCanvas primitive reference — a Tier 3 SQL/analytical workspace for tabular MCP servers, backed by DuckDB. Use when registering tables from upstream APIs, running ad-hoc SQL across them, and exporting results. Covers the acquire → register → query → export flow, per-table TTL, the token-sharing pattern for…
api-mirror
Stand up a persistent, self-refreshing local mirror of a bulk upstream dataset with the MirrorService (@cyanheads/mcp-ts-core/mirror). Use when a server wraps a large or slow API and should query a synced local index (embedded SQLite + FTS5) instead of paginating the live API per request.
alterlab-tiledbvcf
Store and query genomic variant data at scale with TileDB-VCF — ingest VCF/BCF into compressed TileDB arrays, add samples incrementally, run fast parallel region/sample queries, and export back to VCF. Use when managing population-genomics variant datasets that are too large for flat VCF, building joint variant…