"Use Hail for scalable genomic Tables, MatrixTables,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill hail --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Hail?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-hail)More formats (shields.io, HTML) on the badges page.
---
name: hail
description: "Use Hail for scalable genomic Tables, MatrixTables,
VariantDatasets, Hail Batch DAGs, and hailctl setup or cloud workflow
troubleshooting."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Hail
Use this repo skill when a task mentions Hail, `hail`, `hailtop`, `hailctl`, genomic `Table` or `MatrixTable` workflows, VCF/PLINK/BGEN imports, sparse GVCF or `VariantDataset` workflows, Hail Batch DAGs, or Hail backend setup and troubleshooting.
## First Checks
- Install the public `hail` distribution in Python 3.10 or newer, then verify `import hail as hl`, `import hailtop`, and `python -m hailtop.hailctl --help` from a neutral working directory.
- Read `references/repo-provenance.md` before deciding whether this skill is current for a local Hail checkout.
- Read `references/package-map.md` for the package layout, public APIs, and how the sub-skills divide responsibilities.
- Read `references/inspection-facts.md` for verified signatures, dependency constraints, packaged resources, and `hailctl` command families.
- Run or adapt `scripts/check_hail_environment.py` for safe import, version, CLI, Java, PySpark, packaged-resource, and optional local-init diagnostics.
- Use `references/troubleshooting.md` for cross-cutting install/import/backend issues before diving into workflow-specific troubleshooting.
## Route by User Goal
| User goal or signal | Read |
| --- | --- |
| Install Hail, debug `import hail`, choose `hl.init` backend, configure logs/tmp/reference/requester-pays, or fix Java/Spark/JAR startup failures | `sub-skills/setup-and-backends/SKILL.md` |
| Build Hail `Table` pipelines, import delimited data, key/join annotations, aggregate rows, inspect schemas, or fix expression-index errors | `sub-skills/tables-and-expressions/SKILL.md` |
| Work with dense genotype `MatrixTable`s, VCF/PLINK/BGEN import/export, sample/variant QC, splitting, PCA, association tests, VEP, loci, calls, or reference genomes | `sub-skills/genomics-analysis/SKILL.md` |
| Use `hail.vds`, sparse GVCF/VariantDataset workflows, local alleles, reference blocks, VDS combiner, `to_dense_mt`, or VDS QC | `sub-skills/variant-datasets/SKILL.md` |
| Build `hailtop.batch` DAGs, choose LocalBackend vs ServiceBackend, use `hailctl batch/config/auth/dataproc/hdinsight/describe`, or debug Batch/CLI cloud configuration | `sub-skills/batch-and-cli/SKILL.md` |
## Safe Workflow Defaults
- Start with setup: verify the installed package, working directory, Java/PySpark, `hailctl`, and backend choice before debugging workflow code.
- For local examples, prefer `backend='local'` or `hailtop.batch.LocalBackend`; treat cloud Batch, Dataproc, HDInsight, requester-pays data, and service billing as explicit user choices.
- Convert large external genomic inputs to Hail native formats (`.ht`, `.mt`, `.vds`) once, then iterate on native reads instead of reparsing VCF/PLINK/BGEN/GVCF inputs.
- Keep dense `MatrixTable` workflows and sparse VDS/GVCF workflows separate until a task explicitly asks for conversion.
- Use `describe()`, schema inspection, tiny previews, dry-run templates, and the bundled diagnostics before running expensive writes, exports, Batch submissions, or densification.
## Important Boundaries
- This skill covers user-facing Hail Python, Hailtop, Hail Batch, and packaged `hailctl` workflows. It does not cover Hail monorepo service deployment, release automation, Kubernetes infrastructure, or maintainer-only cloud operations.
- Do not tell future agents to open original repository docs, tests, notebooks, or scripts. Use the bundled references and scripts in this skill.
- Do not put credentials, billing projects, bucket names, private paths, or local environment details into reusable examples; use placeholders and ask the user for their values.
- Native repo tests and cloud examples are verification evidence, not runtime dependencies. Run only safe, short, credential-free native checks when verifying this skill.
## Bundled Helpers
- `scripts/check_hail_environment.py` inspects installed Hail/Hailtop imports, version metadata, `hailctl`, Java, PySpark, and packaged resources without initializing an expensive backend by default.
- `sub-skills/tables-and-expressions/scripts/table_pipeline_template.py` prints or dry-runs a self-contained Table pipeline template.
- `sub-skills/genomics-analysis/scripts/matrixtable_recipe_template.py` prints or dry-runs a dense MatrixTable analysis template.
- `sub-skills/variant-datasets/scripts/vds_recipe_template.py` prints or dry-runs a VDS workflow template.
- `sub-skills/batch-and-cli/scripts/batch_local_smoke.py` constructs a local-only Batch smoke/template and supports help or dry-run checks before execution.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!