Best for
- Find the current clinical significance and star rating (review status) for a
- Fetch clinician notes, assertion criteria, or rationales for previous
- Retrieve the preferred condition name and associated HPO terms for a
NeuroAIHub/BrainPilot/packages/skills/skills/18_Genetics_Genomics/clinvar-database/SKILL.md
Use when needing clinical significance, pathogenicity classifications (e.g., Pathogenic, Benign, VUS), clinical evidence rationales, or finding "hard positive" benchmark controls for human genomic variants.
Decision brief
g. , Pathogenic, Benign, VUS), clinical evidence rationales, or finding "hard positive" benchmark controls for human genomic variants.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/NeuroAIHub/BrainPilot --skill "packages/skills/skills/18_Genetics_Genomics/clinvar-database"Inspect the Agent Skill "clinvar-database" from https://github.com/NeuroAIHub/BrainPilot/blob/e9ddc112cab9b1c6272dae0c8a6bdceb5c9c3880/packages/skills/skills/18_Genetics_Genomics/clinvar-database/SKILL.md at commit e9ddc112cab9b1c6272dae0c8a6bdceb5c9c3880. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
ClinVar queries are executed via a robust Python wrapper script to handle strict rate limiting and XML/JSON parsing.
For large or unknown result sets, use count first to decide whether to proceed, then search (which auto-paginates and returns totalcount / fetchedcount), then summary to screen.
uv run scripts/clinvarapi.py count \ --query "HBB[gene] AND pathogenic[clinsig]" --output count.json
uv run scripts/clinvarapi.py search \ --query "HBB[gene] AND pathogenic[clinsig]" --output ids.json
uv run scripts/clinvarapi.py summary \ --variantids 12345 67890 --output summary.json bash uv run scripts/clinvarapi.py evidence \ --variantid 12345 --output evidence.json
Permission review
The documentation asks the agent to create, modify, or delete local files.
(2) create the file recording the notification text and timestamp.The documentation includes network, browsing, or remote request actions.
may modify the script or query the NCBI E-utilities API directly — but beThe documentation includes network, browsing, or remote request actions.
`--page_size`: Number of IDs to fetch per API request (default: 500, max:Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 90/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 424 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
uv: Read the uv skill and follow its Setup instructions to ensure
uv is installed and on PATH..env file: Make sure the .env file exists in your home directory.
Create one if it does not exist.NCBI_API_KEY (optional): Raises the NCBI rate limit from 3 to 10
requests/second. The skill works without it, but a key is recommended if the
user plans many queries or encounters a 429 error. You can register for a
key for free at https://www.ncbi.nlm.nih.gov/account/settings/. You MUST
use the safe credentials protocol in the credentials skill to check for
and request this key if this skill looks relevant to the user's request.ClinVar is the primary consensus record for clinical classifications of human genomic variations. It provides the "clinical ground truth" for pathogenicity labels (Pathogenic, Likely Pathogenic, Benign, VUS) based on assertions from global laboratories.
Use when you need to:
Do NOT use when you need to:
ClinVar queries are executed via a robust Python wrapper script to handle strict rate limiting and XML/JSON parsing.
Example: Search for BRCA1 variants
uv run scripts/clinvar_api.py search --query "BRCA1[gene]" --output results.json
--retmax 200. For
any "List all" or gene-wide request, you MUST explicitly set --retmax
higher (e.g., 1000) to ensure data completeness.credentials skill to check for
and request the NCBI_API_KEY to help the user add it to their .env file.count — Count Matching VariantsPurpose: Check how many variants match a query without fetching IDs. Use to
decide whether a full search is warranted.
Arguments:
--query: (Required) NCBI Entrez search query string.--output: (Required) Output JSON file path.Example: uv run scripts/clinvar_api.py count \ --query "TP53[gene] AND \"uncertain significance\"[clinsig]" \ --output count.json Output:
{"total_count": <int>}
search — Search VariantsPurpose: Identify variants based on genomic location, gene symbols, or clinical attributes using NCBI Entrez search syntax. The search command automatically paginates through all matching results to ensure complete, deterministic retrieval.
# Fetch ALL matching variants (default behavior)
uv run scripts/clinvar_api.py search \
--query "BRCA1[gene]" --output results.json
# Search by Chromosome and Position Range
uv run scripts/clinvar_api.py search \
--query "11[chr] AND 5225000:5226000[chrpos]" --output results.json
# Combine terms using Entrez syntax
uv run scripts/clinvar_api.py search \
--query "HBB[gene] AND pathogenic[clinsig]" --output results.json
# Cap results at 50
uv run scripts/clinvar_api.py search \
--query "TP53[gene]" --retmax 50 --output results.json
Arguments:
--query: (Required) NCBI Entrez search query string.--retmax: Maximum total number of variant IDs to return. Default is 0,
which means "fetch all matching results." Set to a positive integer to cap
the result set.--page_size: Number of IDs to fetch per API request (default: 500, max:
10000 per NCBI limits).--output: (Required) Output JSON file path.Output: A JSON object containing:
total_count — Total number of matching variants in ClinVar.fetched_count — Number of IDs actually retrieved.variant_ids — List of ClinVar Variation ID strings.summary — Get Interpretation SummaryPurpose: Retrieve top-line clinical significance labels, star ratings (review status), and basic phenotype data for rapid variant screening.
# Get summary for one or more Variation IDs
uv run scripts/clinvar_api.py summary \
--variant_ids 12345 67890 --output summary.json
Arguments:
--variant_ids: (Required) One or more ClinVar Variation IDs.--output: (Required) Output JSON file path.Output: A JSON list of summary objects, each containing:
variant_id, title, clinical_significance, review_status, last_evaluated, phenotypesgenes — list of {gene_id, symbol, strand}variation_type — e.g., single nucleotide variant, Deletion, Insertionmolecular_consequences — list of strings (e.g., ["missense variant", evidence — Get Clinical EvidencePurpose: Fetch the full clinical record for a single variant, including free-text clinician rationales, assertion methods, and specific submitter notes.
# Get full evidence for a single Variation ID
uv run scripts/clinvar_api.py evidence \
--variant_id 12345 --output evidence.json
Arguments:
--variant_id: (Required) A single ClinVar Variation ID.--output: (Required) Output JSON file path.Output: A JSON object containing:
variant_idallele_info — {chromosome, position_start, position_stop, reference_allele, alternate_allele, cytogenetic_band, dbsnp_rsid} (GRCh38
preferred)conditions — list of {name, medgen_cui, omim_id, orphanet_id, hpo_terms}functional_consequences — list of {value, sequence_ontology_id}structural_variant_details — {outer_start, inner_start, inner_stop, outer_stop, copy_number} (present only for CNVs, otherwise null)citation_references — list of PubMed IDs cited in the global "Citations"
sectionsubmissions — list of per-submitter records, each containing:
submitter_name, classification, curator_notes,
assertion_criteriadate_last_evaluated — when the submitter last reviewed the
classificationFor large or unknown result sets, use count first to decide whether to
proceed, then search (which auto-paginates and returns total_count /
fetched_count), then summary to screen.
# Step 1: Gauge size (optional — search also returns total_count)
uv run scripts/clinvar_api.py count \
--query "HBB[gene] AND pathogenic[clinsig]" --output count.json
# Step 2: Fetch all variant IDs (auto-paginates)
uv run scripts/clinvar_api.py search \
--query "HBB[gene] AND pathogenic[clinsig]" --output ids.json
# Step 3: Get summaries (extract variant_ids from search output)
uv run scripts/clinvar_api.py summary \
--variant_ids 12345 67890 --output summary.json
When you need the full clinical picture for a specific variant — including
submitter rationales, PubMed citations, ontology-linked conditions, and allele
coordinates — use evidence.
uv run scripts/clinvar_api.py evidence \
--variant_id 12345 --output evidence.json
ClinVar metadata is inconsistent. To fulfill "List all" requests, do not rely on a single filter. Perform the following in a single turn and merge results:
"3 prime UTR variant"[molecular_consequence]).c.*).[chrpos]).This "triangulation" ensures structural variants with missing labels are not overlooked.
molecular_consequences alone can be ambiguous (e.g., splice donor variant
appears in both coding and non-coding contexts). Always cross-check the title
field for HGVS patterns:
c.-… — 5' UTR (non-coding)c.*… — 3' UTR (non-coding)c.123+N / c.123-N — intronic (non-coding)p.Trp146Arg etc. — protein effect (coding)A variant with UTR/intronic HGVS and no p. annotation is non-coding, even with
splicing labels. Conversely, any p. annotation indicates a coding effect.
"3 prime UTR variant"[mol_consequence]c.*"5 prime UTR variant"[mol_consequence]c.-review_status filter. This is the most efficient way to distinguish
between single-laboratory assertions and panel-reviewed ground truth.summary → clinical_significancesummary → genessummary → variation_typesummary → molecular_consequencesevidence → allele_infoevidence → conditionsevidence → functional_consequencesevidence →
structural_variant_detailsevidence → citation_referenceslast_evaluatedevidence → submissions[].curator_notesTo get precise genomic coordinates in the format <chrom>:<pos>:<ref>><alt>
(e.g., chr5:70951945:G>A), you must use the evidence command, as these
details are not available in the summary output.
You MUST always include genomic coordinates in the format
<chrom>:<pos>:<ref>><alt> when listing or presenting variants, even if not
explicitly requested by the user. If coordinates are missing from the summary,
use the evidence command or dbSNP fallback to retrieve them.
uv run scripts/clinvar_api.py evidence --variant_id <ID> --output evidence.json.evidence command parses the XML. Extract:
ChrpositionVCF (or start)referenceAlleleVCF (or referenceAllele)alternateAlleleVCF (or alternateAllele) from the
SequenceLocation element with Assembly="GRCh38".Fallback for Imprecise Coordinates (Gene Range): ClinVar often returns the
full gene range for non-coding variants. If the extracted coordinates correspond
to the gene range instead of a specific position, use the dbsnp-database skill
to resolve the precise coordinates using the dbsnp_rsid or HGVS title: 1.Check
for dbsnp_rsid in the evidence output. 2. Run uv run scripts/dbsnp_cli.py resolve-rsid {rsid} to get precise GRCh38 coordinates. 3. Format as
<chrom>:<pos>:<ref>><alt> using the SPDI or HGVS data from dbSNP.
The structural_variant_details field is only populated for copy number
variants (CNVs). For standard SNVs and small indels this field will be null.
Use the allele_info fields (position_start, position_stop,
reference_allele, alternate_allele) instead.
Large copy-number variants (CNVs) frequently have empty
molecular_consequences. If a variant title mentions "del" and coordinates
overlap your target region, it is relevant regardless of missing labels.
You can register for a key for free at
https://www.ncbi.nlm.nih.gov/account/settings/. You MUST use the safe
credentials protocol in the credentials skill to check for and request this
key if this skill looks relevant to the user's request.
uv run to execute python.jq is unavailable pivot immediately to using Python one-liners for
processing JSON (e.g., uv run python3 -c "import json; ...").count before search to understand the result set size.search command fetches all results by default and includes
total_count and fetched_count in the output — always verify these match
to confirm complete retrieval.last_evaluated.clinvar_api.py client which handles the unpredictable XML schemas
robustly.credentials skill to check for and request the NCBI_API_KEY to help the
user add it to their .env file, then retry.11[chr] AND 1234[chrpos]), not raw ATCG strings..lower()) when filtering.search output as a bare list — search returns a JSON object
with total_count, fetched_count, and variant_ids — not a bare list.Frequently asked questions
g. , Pathogenic, Benign, VUS), clinical evidence rationales, or finding "hard positive" benchmark controls for human genomic variants.
The source record exposes this install command: npx skills add https://github.com/NeuroAIHub/BrainPilot --skill "packages/skills/skills/18_Genetics_Genomics/clinvar-database". Inspect the command and pinned source before running it.
Static rules flagged write-files, network in the source; the page lists the matching lines and excerpts.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
garrytan/gbrain
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing