Skip to content

docs: add genvarloader public-API skill#174

Merged
d-laub merged 1 commit into
mainfrom
docs/genvarloader-skill
May 22, 2026
Merged

docs: add genvarloader public-API skill#174
d-laub merged 1 commit into
mainfrom
docs/genvarloader-skill

Conversation

@d-laub
Copy link
Copy Markdown
Collaborator

@d-laub d-laub commented May 21, 2026

Summary

  • Adds skills/genvarloader/SKILL.md — an AI-agent reference for gvl's public Python API: bcftools/plink2 preprocessing, SVAR vs BCF/PGEN, gvl.write / Dataset.open / Dataset.with_*, the five insertion-fill strategies, spliced haplotypes, site-only variants, and pointers into docs/ and source for deeper detail.
  • Adds a maintenance rule to CLAUDE.md: public-API changes (anything in __init__.py's __all__, plus gvl.write / Dataset.open / Dataset.with_* signatures and defaults) must update the skill in the same PR.
  • Distributable via skills.sh (npx skills add mcvickerlab/GenVarLoader) — the repo-root skills/<name>/SKILL.md layout is what their CLI expects.

Why

Cold use of gvl is harder than it should be: a baseline subagent asked to build a haplotype + track + splice script from scratch (no skill, source-only) got stuck on SVAR vs BCF/PGEN trade-offs, valid with_seqs/with_tracks literals, insertion-fill discoverability, and the splice_info tuple form. The skill documents exactly those decision points and points to canonical docs for the rest.

Test plan

  • Baseline test (no skill) — verified the gaps above
  • Verification test (skill only, no source) — subagent produced a correct end-to-end script covering preprocessing, write, haps+tracks with insertion fill, splice setup, and AF filtering

🤖 Generated with Claude Code

Adds skills/genvarloader/SKILL.md, an AI-agent reference for gvl's public
Python API covering bcftools/plink2 preprocessing, SVAR vs BCF/PGEN
trade-offs, gvl.write and Dataset.open arguments, with_seqs/with_tracks/
with_len modes, the five insertion-fill strategies, spliced haplotypes,
site-only variants, and pointers into docs and source for deeper detail.

CLAUDE.md gains a maintenance rule: PRs changing the public API (__all__,
gvl.write, Dataset.open, Dataset.with_*) must also update the skill.

Skill is distributed via skills.sh as mcvickerlab/GenVarLoader
(npx skills add mcvickerlab/GenVarLoader).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@d-laub d-laub force-pushed the docs/genvarloader-skill branch from d86b8dc to 1af3f54 Compare May 22, 2026 02:13
@d-laub d-laub merged commit 39e15c9 into main May 22, 2026
5 checks passed
@d-laub d-laub deleted the docs/genvarloader-skill branch May 22, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant