data-schema-change
Skill0 starsChanged 4 months agoMITView on GitHub
Use when changing the GenCC SQLite schema. Coordinates schema.sql, the ingest builder/aggregates, and the repository together, then rebuilds the database and updates tests and fixtures.
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 1 is distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use this skill when changing the shape of the local SQLite store — columns, tables, indexes, FTS5 config, or the aggregated gene_disease …
- Very specific: line 30
Bump the schema version: If the change is not backward compatible with an existing built database, bump SCHEMA_VERSION in …
- Very specific: line 34
Edit
schema.sql: Add/alter the table, column, index, or FTS definition. - Distinctive: line 35
Keep FTS5 columns and tokenizer consistent with the search queries.
- Very specific: line 47
Rebuild: Run make data (gencc-link-data build) to rebuild the live database, then make data-info to confirm provenance and counts.
- Very specific: line 52
Tests: Update unit tests that assert table shape, repository results, aggregates, consensus/conflict, and shaping.
- Very specific: line 55
Docs: Update the data-store and consensus sections of docs/architecture.md if the change is user-visible, and add a CHANGELOG.md entry.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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. - Rebuild. Run
make data(gencc-link-data build) to rebuild the live database, thenmake data-infoto confirm provenance and counts. Regenerate the test fixture database if the schema changed (see thetests/fixtures/sample TSV + built SQLite). - Tests. Update unit tests that assert table shape, repository results,
aggregates, consensus/conflict, and shaping. Run
make test. - Docs. Update the data-store and consensus sections of
docs/architecture.mdif the change is user-visible, and add aCHANGELOG.mdentry. - CI. Run
make ci-local.
In this repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ci-failure-triageSkill
- code-quality-reviewSkill
- dependency-cve-sweepSkill
- fastapi-route-changeSkill
- fleet-standard-adoptionSkill
- mcp-tool-changeSkill
- release-readinessSkill
- security-reviewSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

