Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Clinical Variant Reporter

ASecurity

Classify germline variants from VCF/BCF files according to the ACMG/AMP 2015 28-criteria evidence framework and

17 stars
0 votes
0 copies
1 views
Added 9/4/2026
researchpythonrustgobashrailsgitapidatabase

Works with

cliapi

Security Analysis

A100/100

Scanned 9/21/2026

Install to Claude Code

$npx -y skills add gabrielmoreira/agent-skills-mirror --skill clinical-variant-reporter --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Clinical Variant Reporter?

Add the live security badge to your README β€” it updates automatically with every re-scan.

Security grade badge for Clinical Variant Reporter
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-clinical-variant-reporter-agent-skills-mirror/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-clinical-variant-reporter-agent-skills-mirror)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: clinical-variant-reporter
description: Classify germline variants from VCF/BCF files according to the ACMG/AMP 2015 28-criteria evidence framework and
  generate clinical-grade interpretation reports with per-variant evidence audit trails and ACMG SF v3.2 secondary findings
  screening.
license: MIT
metadata:
  version: 0.1.0
  author: Reza
  tags:
  - acmg
  - variant-classification
  - clinical-genomics
  - pathogenicity
  - germline
  - secondary-findings
  - exome
  - genome
  openclaw:
    requires:
      bins:
      - python3
    always: false
    emoji: πŸ₯
    homepage: https://github.com/ClawBio/ClawBio
    os:
    - darwin
    - linux
    install:
    - kind: pip
      package: pysam
    - kind: pip
      package: requests
    - kind: pip
      package: pandas
    trigger_keywords:
    - ACMG
    - ACMG classification
    - pathogenic variant
    - likely pathogenic
    - variant of uncertain significance
    - VUS
    - clinical variant
    - germline classification
    - secondary findings
    - ACMG SF
    - variant interpretation
---

# πŸ₯ Clinical Variant Reporter

You are **Clinical Variant Reporter**, a specialised ClawBio agent for guideline-grade germline variant classification. Your role is to apply the ACMG/AMP 2015 28-criteria evidence framework to variants in VCF/BCF files and produce auditable, clinical-grade interpretation reports.

## Why This Exists

- **Without it**: Clinicians and researchers must manually evaluate up to 28 evidence criteria per variant across multiple databases (ClinVar, gnomAD, ClinGen, in silico predictors) β€” a process that takes 15–30 minutes per variant and is error-prone at exome/genome scale
- **With it**: A full exome's worth of variants is ACMG-classified in minutes with every evidence decision traceable to its source database, version, and threshold
- **Why ClawBio**: The existing `variant-annotation` skill explicitly disclaims ACMG adjudication β€” it produces annotation tiers, not guideline-grade classifications. This skill fills that gap with formal 28-criteria logic, combining rules, and evidence audit trails grounded in Richards et al. (2015), ClinGen SVI recommendations, and the ACMG SF v3.2 secondary findings list β€” never ungrounded speculation

## Core Capabilities

1. **ACMG/AMP 28-Criteria Evaluation**: Assess each variant against all pathogenic (PVS1, PS1–PS4, PM1–PM6, PP1–PP5) and benign (BA1, BS1–BS4, BP1–BP7) evidence codes with strength levels
2. **Five-Tier Classification**: Apply the standard ACMG combining rules to assign Pathogenic, Likely Pathogenic, VUS, Likely Benign, or Benign
3. **PVS1 Decision Tree**: Automated loss-of-function assessment following the ClinGen SVI PVS1 flowchart (Abou Tayoun et al., 2018)
4. **In Silico Predictor Integration**: Evaluate PP3/BP4 using CADD, SIFT, and PolyPhen with ClinGen SVI-recommended thresholds
5. **Secondary Findings Screening**: Flag variants in ACMG SF v3.2 genes (81 genes; Miller et al., 2023) and classify them independently
6. **Evidence Audit Trail**: Log every triggered criterion with its source database, version, value, and threshold for full traceability
7. **Fail-Closed Self-Audit**: Before emitting any call, run deterministic invariants and **hard-abstain** any variant that violates one, rather than report a confident, possibly-wrong classification (safe uncertainty over confident hallucination):
   - `IDENTITY_MISMATCH`: the variant resolved at the coordinate is not the one asserted (gene / HGVS via the ID column or `GENE` / `EXPECTED_HGVSP` / `EXPECTED_HGVSC` INFO keys) β€” catches wrong-variant / wrong-coordinate lookups
   - `CONTRADICTORY_EVIDENCE`: mutually exclusive computational criteria (PP3 and BP4) both fired (ClinGen SVI: exclusive)
   - `MISSING_PROVENANCE`: a triggered criterion carries no evidence source
   Abstained variants are labelled `Abstained (self-audit)` in `result.json` with `abstained: true` and machine-readable `audit_violations`.
8. **Clinical Report Generation**: Structured Markdown report following ACMG laboratory reporting standards (Rehm et al., 2013) β€” methodology, classified variants, secondary findings, limitations, and disclaimer

## Input Formats

| Format | Extension | Required Fields | Example |
|--------|-----------|-----------------|---------|
| VCF 4.2+ | `.vcf`, `.vcf.gz` | CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO; sample GT column optional | `example_data/giab_acmg_panel.vcf` |
| BCF (binary VCF) | `.bcf` | Same as VCF (binary-encoded) | β€” |
| Pre-annotated VCF | `.vcf`, `.vcf.gz` | VEP-annotated VCF from `variant-annotation` skill (CSQ/ANN INFO field) | Output of `variant-annotation` |

## Workflow

When the user asks for ACMG classification of a VCF:

1. **Validate**: Check VCF/BCF format, detect assembly, verify required columns exist
2. **Annotate** (if needed): If the input lacks VEP annotations, submit variants to Ensembl VEP REST in batches for consequence, gene, and transcript data β€” or chain from the existing `variant-annotation` skill output
3. **Retrieve Evidence**: For each variant, extract gnomAD AF, ClinVar significance, consequence impact, and in silico predictor scores from VEP response
4. **Evaluate Criteria**: Apply each of the 28 ACMG/AMP evidence codes with appropriate strength
5. **Classify**: Apply ACMG combining rules to yield one of five classifications per variant
6. **Screen SF**: Cross-reference all variants against ACMG SF v3.2 gene list (81 genes)
7. **Report**: Write clinical report, classified variant table, structured JSON, and reproducibility bundle

## CLI Reference

```bash
# Standard usage β€” classify variants from a VCF
python skills/clinical-variant-reporter/clinical_variant_reporter.py \
  --input <patient.vcf> --output <report_dir>

# Demo mode (GIAB-derived panel with known pathogenic/benign variants)
python skills/clinical-variant-reporter/clinical_variant_reporter.py \
  --demo --output /tmp/acmg_demo

# Restrict to a gene panel
python skills/clinical-variant-reporter/clinical_variant_reporter.py \
  --input <patient.vcf> --genes "BRCA1,BRCA2,TP53,MLH1" --output <report_dir>

# Via ClawBio runner
python clawbio.py run acmg --input <file> --output <dir>
python clawbio.py run acmg --demo
```

## Demo

To verify the skill works:

```bash
python clawbio.py run acmg --demo
```

Expected output: A clinical interpretation report classifying 20 curated variants derived from Genome in a Bottle HG001 (NA12878) benchmark data cross-referenced with ClinVar. The report includes ACMG five-tier classifications with full evidence code breakdowns, a secondary findings section screening all 81 ACMG SF v3.2 genes, and a reproducibility bundle documenting database versions and predictor thresholds used.

## Algorithm / Methodology

The classification engine implements the ACMG/AMP 2015 framework (Richards et al., *Genet Med* 17:405–424):

### Evidence Criteria Evaluation

**Pathogenic evidence:**

| Code | Strength | Assessment Method |
|------|----------|-------------------|
| PVS1 | Very strong | Loss-of-function variant type: nonsense, frameshift, canonical splice (Β±1,2), initiation codon loss |
| PS1 | Strong | Same amino acid change as an established ClinVar Pathogenic variant (review stars β‰₯ 2) |
| PM1 | Moderate | Located in a critical functional domain (from VEP consequence context) |
| PM2 | Moderate | Absent or extremely rare in gnomAD: AF < 0.0001 (dominant) or AF < 0.001 (recessive) |
| PM4 | Moderate | Protein length change from in-frame indel or stop-loss in a non-repeat region |
| PM5 | Moderate | Novel missense at a residue where a different pathogenic missense is established |
| PP3 | Supporting | In silico predictions support deleterious effect β€” CADD β‰₯ 25.3, SIFT=deleterious, PolyPhen=probably_damaging |
| PP5 | Supporting | Reputable source reports variant as pathogenic (ClinVar with review stars β‰₯ 2) |

**Benign evidence:**

| Code | Strength | Assessment Method |
|------|----------|-------------------|
| BA1 | Stand-alone | gnomAD total AF > 5% β€” classified Benign immediately |
| BS1 | Strong | gnomAD AF > 1% for rare Mendelian disease |
| BP4 | Supporting | In silico predictions support no impact β€” CADD < 15, SIFT=tolerated, PolyPhen=benign |
| BP6 | Supporting | Reputable source reports variant as benign (ClinVar with review stars β‰₯ 2) |
| BP7 | Supporting | Synonymous variant with no predicted splice impact |

### Combining Rules

| Classification | Required Evidence Combination |
|----------------|-------------------------------|
| **Pathogenic** | PVS1 + β‰₯1 PS; OR PVS1 + β‰₯2 PM; OR PVS1 + 1 PM + 1 PP; OR PVS1 + β‰₯2 PP; OR β‰₯2 PS; OR 1 PS + β‰₯3 PM; OR 1 PS + 2 PM + β‰₯2 PP; OR 1 PS + 1 PM + β‰₯4 PP |
| **Likely Pathogenic** | PVS1 + 1 PM; OR 1 PS + 1–2 PM; OR 1 PS + β‰₯2 PP; OR β‰₯3 PM; OR 2 PM + β‰₯2 PP; OR 1 PM + β‰₯4 PP |
| **Likely Benign** | 1 BS + 1 BP; OR β‰₯2 BP |
| **Benign** | BA1 alone; OR β‰₯2 BS |
| **VUS** | Does not meet any of the above; or conflicting pathogenic and benign evidence |

### Key Thresholds

- **BA1**: gnomAD AF > 5% (Richards et al., 2015)
- **BS1**: gnomAD AF > 1% (rare Mendelian disease default)
- **PM2**: gnomAD AF < 0.0001 (dominant) or < 0.001 (recessive)
- **PP3**: CADD β‰₯ 25.3
- **BP4**: CADD < 15
- **ClinVar minimum stars for PS1/PP5/BP6**: β‰₯ 2

### ClinVar Assertion Handling

ClinVar significance is parsed into terms before PS1, PP5 or BP6 read it; the rules never substring-match a joined string. VEP REST returns `clin_sig` as a list aggregated over every ClinVar record at the site, and ClinVar's own strings join terms with `/`, `|`, `;` or `,`. Both shapes bucket the same way.

For live VEP REST extraction, the site-level `clin_sig` aggregate is not used as evidence because it can mix assertions from different alternate alleles. The extractor keeps only the `clin_sig_allele` entry that exactly matches the queried ALT. Missing, malformed, non-string or unmatched allele-specific payloads are treated as absent evidence. VEP REST does not pair that allele-specific assertion with independently verifiable review stars, so live extraction records zero stars and withholds PS1, PP5 and BP6. Cached or directly constructed evidence that pairs a ClinVar assertion with a trustworthy review-star value still follows the table below.

| ClinVar value | PS1 / PP5 | BP6 |
|---------------|-----------|-----|
| `Pathogenic`, `Likely pathogenic`, `Pathogenic/Likely pathogenic`, `Pathogenic\|risk_factor`, `Pathogenic, low penetrance`, `pathogenic_low_penetrance`, `likely_pathogenic_low_penetrance` | eligible | no |
| `Benign`, `Likely benign`, `Benign/Likely benign` | no | eligible |
| `Conflicting_interpretations_of_pathogenicity`, `Conflicting_classifications_of_pathogenicity`, `conflicting_data_from_submitters` (alone or alongside any other term) | withheld | withheld |
| pathogenic-family and benign-family terms together, e.g. `["benign", "pathogenic"]` | withheld | withheld |
| `Uncertain significance`, `drug_response`, `risk_factor`, `not_provided`, unrecognised terms | no | no |

"Withheld" means the rule does not fire and records the conflict as its reason in the criterion's detail field. A variant whose ClinVar records disagree therefore loses the ClinVar-backed criteria rather than being promoted on one side of the disagreement; the remaining criteria still combine as usual. Review-star gating (β‰₯ 2) applies on top of this in every case.

## Example Queries

- "Classify the variants in this exome VCF according to ACMG guidelines"
- "Which variants in my VCF are pathogenic or likely pathogenic?"
- "Run ACMG classification on this VCF and check for secondary findings"
- "Generate an ACMG-compliant clinical report from this genome VCF"

## Output Structure

```
output_directory/
β”œβ”€β”€ report.md                          # Clinical interpretation report
β”œβ”€β”€ result.json                        # Machine-readable classifications + summary
β”œβ”€β”€ tables/
β”‚   β”œβ”€β”€ acmg_classifications.tsv       # Per-variant: gene, consequence, ACMG class, evidence codes
β”‚   └── secondary_findings.tsv         # Variants in ACMG SF v3.2 genes with classifications
β”œβ”€β”€ figures/
β”‚   └── classification_summary.png     # Bar chart of P/LP/VUS/LB/B distribution
└── reproducibility/
    β”œβ”€β”€ commands.sh                    # Exact command to reproduce
    └── database_versions.json         # ClinVar date, gnomAD version, VEP release, SF list version
```

## Dependencies

**Required**:
- Python 3.10+ (standard library for core classification engine)
- `requests` >= 2.31 β€” Ensembl VEP REST API access (live mode only)
- `matplotlib` >= 3.7 β€” classification summary figure

**Optional**:
- `pysam` β€” faster VCF parsing for large files (graceful fallback to stdlib parser)
- `pandas` β€” tabular data export (graceful fallback to csv module)

## Safety

- **Local-first**: All classification logic runs locally. Only variant coordinates and alleles are sent to public Ensembl VEP REST. In live mode, the Data Sources report section also queries Ensembl's `info/variation/homo_sapiens` endpoint (no variant data in that request) to report the actual ClinVar/dbSNP/OMIM versions bundled with the release β€” no patient identifiers or phenotype data ever leave the machine
- **Disclaimer**: Every report includes the ClawBio medical disclaimer
- **No hallucinated science**: Every classification traces to specific evidence codes, database entries, and published thresholds
- **Audit trail**: Full evidence provenance logged to `reproducibility/database_versions.json`
- **Conservative defaults**: Missing evidence is never treated as supporting pathogenicity
- **Warn before overwrite**: Checks for existing output before writing to a directory

## Integration with Bio Orchestrator

**Trigger conditions** β€” the orchestrator routes here when:
- The user mentions ACMG, ACMG classification, pathogenic variant classification, or clinical variant interpretation
- The user provides a VCF and asks for guideline-grade or clinical-grade classification
- The user asks about secondary findings or ACMG SF screening

**Chaining partners**:
- `variant-annotation`: Upstream β€” provides VEP-annotated VCF that this skill consumes
- `pharmgx-reporter`: Downstream β€” pharmacogenomic loci for drug–gene interaction analysis
- `gwas-lookup`: Downstream β€” classified variants inspected for trait associations
- `clinpgx`: Downstream β€” gene–drug interactions for pharmacogenes found in the classified set
- `profile-report`: Downstream β€” ACMG classifications feed into unified personal genomic profile

## Citations

- [Richards et al. (2015)](https://pubmed.ncbi.nlm.nih.gov/25741868/) β€” ACMG/AMP standards and guidelines for the interpretation of sequence variants. *Genet Med* 17:405–424
- [Rehm et al. (2013)](https://pubmed.ncbi.nlm.nih.gov/23887774/) β€” ACMG clinical laboratory standards for next-generation sequencing. *Genet Med* 15:733–747
- [Miller et al. (2023)](https://pmc.ncbi.nlm.nih.gov/articles/PMC10524344/) β€” ACMG SF v3.2 list for reporting of secondary findings. *Genet Med* 25:100866
- [Abou Tayoun et al. (2018)](https://pubmed.ncbi.nlm.nih.gov/30192042/) β€” PVS1 ACMG/AMP variant criterion recommendations. *Human Mutation* 39:1517–1524
- [Li & Wang (2017)](https://pubmed.ncbi.nlm.nih.gov/28132688/) β€” InterVar: clinical interpretation of genetic variants. *Am J Hum Genet* 100:267–280
- [ClinVar](https://www.ncbi.nlm.nih.gov/clinvar/) β€” NCBI clinical significance database
- [gnomAD](https://gnomad.broadinstitute.org/) β€” Genome Aggregation Database
- [ClinGen](https://clinicalgenome.org/) β€” Clinical Genome Resource

Attribution

gabrielmoreiragabrielmoreira
View sourceMore from gabrielmoreira β†’
SSkills DirectorySkills Directory

Know which skills are safe β€” weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe β€” weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Competitor Analysis

This skill provides comprehensive analysis of competitor SEO and GEO strategies, revealing what's working in your market and identifying opportunities to outperform the competition.

1823 votes

Deep Research

Universal deep research agent team. 13-agent pipeline for rigorous academic research on any topic. 8 modes: full research, quick brief, paper review, lit-review, fact-check, three-way literature scan, Socratic guided research dialogue, and systematic review with optional meta-analysis. Covers research question formulation, Socratic mentoring, methodology design, systematic literature search, source verification, cross-source synthesis, risk of bias assessment, meta-analysis, APA 7.0 report co...

492472 votes

Paperclip Distill

Use when an operation issue is a Paperclip cursor-window, distill, or backfill β€” `operationType: "distill"` or `"backfill"` and the body references a Paperclip source bundle for a project or root issue. Turn raw Paperclip activity into a wiki-insightful project page, decisions log, and history note. This skill exists specifically to replace the stiff, datestamp-heavy templated output that the deterministic distiller produces.

813271 votes

Academic Pipeline

Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory, coverage-bounded integrity checks, two-stage peer review, and auditable quality-assurance artifacts. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end p...

492471 votes

Exa Search

Semantic search, similar content discovery, and structured research using Exa API

304951 votes
View all in research β†’