[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DAKSMCT8JXXVN3QGR4MK2P":3,"skill-same:01M6DAKSMCT8JXXVN3QGR4MK2P":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6DAKSMCT8JXXVN3QGR4MK2P","tooluniverse-acmg-variant-classification",null,"Systematic ACMG\u002FAMP variant classification using ToolUniverse tools. Given a genetic variant (HGVS, rsID, or gene+change), applies all 28 ACMG criteria (PVS1, PS1-4, PM1-6, PP1-5, BA1, BS1-4, BP1-7) through automated database queries and computational predictions. Produces a final 5-tier classification (Pathogenic \u002F Likely Pathogenic \u002F VUS \u002F Likely Benign \u002F Benign) with evidence summary. Use when asked to classify a variant, interpret a VUS, apply ACMG criteria, assess pathogenicity, or determine clinical significance of a germline variant.","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-acmg-variant-classification\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"classification","tooluniverse acmg variant classification","benign","change","database","Tools","use","evidence","queries","summary","computational","classify","clinical","database queries","systematic","amp","2026-11-10 10:12:30",false,"---\nname: tooluniverse-acmg-variant-classification\ndescription: Systematic ACMG\u002FAMP variant classification using ToolUniverse tools. Given a genetic variant (HGVS, rsID, or gene+change), applies all 28 ACMG criteria (PVS1, PS1-4, PM1-6, PP1-5, BA1, BS1-4, BP1-7) through automated database queries and computational predictions. Produces a final 5-tier classification (Pathogenic \u002F Likely Pathogenic \u002F VUS \u002F Likely Benign \u002F Benign) with evidence summary. Use when asked to classify a variant, interpret a VUS, apply ACMG criteria, assess pathogenicity, or determine clinical significance of a germline variant.\n---\n\n# ACMG\u002FAMP Variant Classification\n\n## ACMG Reasoning\n\nEach criterion (PS, PM, PP for pathogenic; BS, BP for benign) contributes a weighted piece of evidence for or against pathogenicity. The classification is the COMBINATION of all activated criteria, not any single criterion. Do not overweight a single finding.\n\nThe hierarchy is: PVS1 (very strong) > PS (strong) > PM (moderate) > PP (supporting). On the benign side: BA1 (stand-alone) > BS (strong) > BP (supporting). A frameshift in a LOF-intolerant gene (PVS1) plus a ClinVar expert-panel pathogenic entry (PS1) is pathogenic. A single PP criterion alone is not. The combination rule is what matters.\n\nTwo common errors to avoid: (1) seeing a \"Pathogenic\" ClinVar entry and stopping — that is PP5 (supporting) unless it has expert-panel review, not automatic confirmation; (2) dismissing a variant because one predictor says \"tolerated\" — discordant predictors mean neither PP3 nor BP4 applies, which is neutral evidence, not benign evidence.\n\nAlways apply criteria conservatively. When evidence is ambiguous, leave the criterion unmet. Cite the source for every criterion you activate so clinicians can audit the reasoning.\n\n**KEY PRINCIPLES**:\n1. **Criteria-driven** — cite which criteria were activated and why\n2. **Conservative** — do not upgrade a criterion when evidence is ambiguous\n3. **Gene-aware** — adjust thresholds based on gene mechanism (LOF vs. gain-of-function)\n4. **Population-calibrated** — use ancestry-specific gnomAD frequencies, not just global AF\n5. **Transparent** — show evidence for each criterion\n6. **Source-referenced** — every criterion activation must cite the database\u002Ftool source\n7. **English-first queries** — always use English terms in tool calls; respond in user's language\n\n---\n\n## LOOK UP, DON'T GUESS\nWhen uncertain about any scientific fact, SEARCH databases first (PubMed, UniProt, ChEMBL, ClinVar, etc.) rather than reasoning from memory. A database-verified answer is always more reliable than a guess.\n\n---\n\n## When to Use\n\n- \"Classify BRCA2 c.5946delT using ACMG criteria\"\n- \"Is this VUS pathogenic? NM_000059.4:c.7397T>C\"\n- \"Apply ACMG guidelines to rs28897743\"\n- \"What is the pathogenicity of CFTR p.Arg117His?\"\n- \"ACMG classification for TP53 R248W\"\n\n---\n\n## Tool Parameter Reference\n\n| Tool | Key Parameters | Notes |\n|------|---------------|-------|\n| `VariantValidator_validate_variant` | `variant_description`, `genome_build`, `select_transcripts` | genome_build=\"GRCh38\" |\n| `VariantValidator_gene2transcripts` | `gene_symbol` | Returns MANE Select transcript |\n| `MyVariant_query_variants` | `query` | HGVS or rsID. Returns ClinVar, gnomAD, CADD, REVEL, SIFT, PolyPhen |\n| `EnsemblVEP_annotate_hgvs` | `hgvs_notation` | Consequence, colocated variants, ancestry gnomAD |\n| `gnomad_search_variants` | `query` | rsID to gnomAD variant ID |\n| `gnomad_get_variant` | `variant_id` | Per-ancestry population frequencies |\n| `gnomad_get_gene_constraints` | `gene_symbol` | pLI, LOEUF, mis_z |\n| `ClinVar_search_variants` | `query` | Variable response format: list OR `{status, data}` |\n| `ClinVar_get_variant_details` | `variant_id` | ClinVar numeric ID |\n| `civic_get_variants_by_gene` | `gene_id` | CIViC numeric gene ID (NOT symbol). Known: BRAF=5, BRCA2=19 |\n| `UniProt_get_function_by_accession` | `accession` | Returns list of strings |\n| `InterPro_get_entries_for_protein` | `accession` | Domain architecture by UniProt accession |\n| `alphafold_get_prediction` | `qualifier` | UniProt accession; pLDDT confidence |\n| `PubMed_search_articles` | `query`, `limit` | Returns list of dicts |\n| `MyGene_query_genes` | `query` | Filter by `symbol` match (first hit may not match) |\n\n---\n\n## Phase 0: Variant Validation and Normalization\n\nWrong HGVS or wrong transcript cascades errors through every downstream criterion. Validate first.\n\n1. **Get MANE Select transcript**: `VariantValidator_gene2transcripts(gene_symbol=\"BRCA2\")`\n2. **Validate variant**: `VariantValidator_validate_variant(variant_description=\"NM_000059.4:c.5946delT\", genome_build=\"GRCh38\", select_transcripts=\"mane_select\")`\n3. **Resolve gene IDs**: `MyGene_query_genes(query=\"BRCA2\")` — extract Ensembl ID and UniProt accession. Filter results by `symbol == 'BRCA2'` (first hit may not match).\n4. **Record**: HGVS coding, HGVS protein, genomic coordinates, variant type (frameshift\u002Fmissense\u002Fnonsense\u002Fsplice\u002Fsynonymous\u002Fin-frame indel).\n\nAccepted inputs: HGVS coding (NM_000059.4:c.5946delT), HGVS protein (BRCA2 p.Val600Glu), rsID (rs28897743), gene+change (BRCA1 c.68_69del), genomic coordinates.\n\n---\n\n## Phase 1: Population Frequency (BA1, BS1, BS2, PM2)\n\nPopulation AF is among the strongest evidence in either direction. A variant at >5% in any population is almost certainly benign (BA1 — stand-alone, no further analysis needed). Absent from gnomAD supports pathogenicity (PM2, now usually applied as PM2_Supporting per ClinGen guidance).\n\nUse ancestry-specific AF, not just global. A variant at 8% in East Asian populations but rare globally is benign in that ancestry context. For BS1, the threshold depends on disease prevalence and inheritance — the default is 1% for common diseases, 0.1% for rare.\n\n```python\ngnomad_search_variants(query=\"rs28897743\")          # get gnomAD variant ID\ngnomad_get_variant(variant_id=\"...\")                 # per-ancestry frequencies\ngnomad_get_gene_constraints(gene_symbol=\"BRCA2\")     # pLI, LOEUF, mis_z\nMyVariant_query_variants(query=\"rs28897743\")          # fallback: gnomad_genome.af\n```\n\nIf gnomAD data is unavailable, note the gap and continue — absence of data is not the same as evidence of absence.\n\n---\n\n## Phase 2: Computational Predictions (PP3, BP4)\n\nNo single predictor is definitive. The reasoning is: concordance across multiple independent predictors provides supporting evidence. Discordance means neither PP3 nor BP4 applies — it is neutral, not benign.\n\nPP3 (supporting pathogenic) applies when the majority of predictors agree damaging, or when REVEL >= 0.7 alone (sufficient per ClinGen guidance). BP4 (supporting benign) requires ALL predictors to agree benign, or REVEL \u003C 0.15 or CADD \u003C 15. These criteria apply only to missense variants.\n\n```python\nMyVariant_query_variants(query=\"...\")        # REVEL, CADD PHRED, AlphaMissense, SIFT, PolyPhen\nEnsemblVEP_annotate_hgvs(hgvs_notation=\"...\") # consequence, SpliceAI deltas\n```\n\nFor non-missense variants, skip PP3\u002FBP4 and focus on SpliceAI scores in Phase 5.\n\n---\n\n## Phase 3: Clinical Database Evidence (PS1, PM5, PP5, BP6)\n\nClinVar aggregates clinical lab classifications. The reasoning: if the same amino acid change (different nucleotide) is established pathogenic, that is strong evidence (PS1) because the mechanism is the amino acid change. If a different pathogenic missense occurs at the same residue, that is moderate evidence (PM5) — the residue is functionally important.\n\nPP5 applies when ClinVar shows Pathogenic with >= 2-star review (criteria provided, multiple submitters). Weight by the number of concordant submitters. Conflicting ClinVar interpretations mean neither PP5 nor BP6 should be applied. ClinGen has proposed downweighting PP5\u002FBP6 — treat them as supporting, not strong.\n\n```python\nClinVar_search_variants(query=\"BRCA2 c.5946delT\")\nClinVar_get_variant_details(variant_id=\"...\")\ncivic_get_variants_by_gene(gene_id=19)   # BRCA2 CIViC ID is 19\n```\n\n---\n\n## Phase 4: Functional Domain and Protein Analysis (PM1, PP2, BP1)\n\nVariants in well-established functional domains with known pathogenic variant enrichment are more likely pathogenic. PM1 (moderate pathogenic) requires the variant to be in a hotspot domain with low benign variation — use InterPro domain architecture and UniProt active\u002Fbinding sites to assess.\n\nPP2 and BP1 are mutually exclusive. PP2 (supporting pathogenic) applies to missense in genes where missense is the known mechanism and benign missense rate is low (mis_z > 3.09). BP1 (supporting benign) applies to missense in genes where only truncating variants cause disease (LOF-only mechanism) — a missense in such a gene is unlikely to be pathogenic.\n\n```python\nUniProt_get_function_by_accession(accession=\"P51587\")        # active sites, binding sites\nInterPro_get_entries_for_protein(accession=\"P51587\")          # domain architecture\nalphafold_get_prediction(qualifier=\"P51587\")                   # pLDDT > 90 = structured region\ngnomad_get_gene_constraints(gene_symbol=\"BRCA2\")              # mis_z for PP2\u002FBP1\n```\n\n---\n\n## Phase 5: Splice Impact Assessment (PVS1)\n\nPVS1 is the strongest single pathogenic criterion. A null variant (nonsense\u002Fframeshift\u002Fcanonical splice\u002Finitiation codon) in a gene where LOF is the established mechanism can activate PVS1, but the full strength depends on context.\n\nApply PVS1 at full strength when: null variant + LOF is known mechanism + variant is not in the last exon or last 50bp of the penultimate exon + no rescue transcript exists. Downgrade to PVS1_Moderate if the variant is in the last exon or NMD escape is likely. Downgrade to PVS1_Supporting if a rescue transcript is possible or SpliceAI >= 0.5 but not a canonical splice site. Do NOT apply PVS1 if LOF mechanism is uncertain.\n\n```python\nEnsemblVEP_annotate_hgvs(hgvs_notation=\"...\")   # splice_donor_variant, splice_acceptor_variant\nMyVariant_query_variants(query=\"...\")             # SpliceAI deltas\ngnomad_get_gene_constraints(gene_symbol=\"...\")    # pLI >= 0.9 or LOEUF \u003C 0.35 = LOF intolerant\n```\n\n---\n\n## Phase 6: Literature and Functional Evidence (PS3, BS3, PP1, PP4)\n\nWell-designed functional assays showing LOF (PS3) or normal function (BS3) can shift a classification decisively. PS3\u002FBS3 can be downgraded (e.g., PS3_Supporting) for less rigorous assays. Not all functional assays qualify — ClinGen gene-specific guidance defines valid assays.\n\nPP1 (co-segregation) upgrades to PP1_Strong at >= 7 informative meioses. PP4 applies when the patient's phenotype is highly specific for the gene's disease.\n\n```python\nPubMed_search_articles(query=\"BRCA2 c.5946delT functional assay\", limit=10)\nPubMed_search_articles(query=\"BRCA2 c.5946delT segregation family\", limit=5)\n```\n\nCriteria requiring clinical data (PS2, PS4, PM3, PM6, BS4, BP2, BP5) cannot be assessed automatically. Document as \"Not Assessed\" unless the user provides clinical context.\n\nPM4 (protein length change in non-repeat region) and BP3 (in-frame indel in repeat) can be partially assessed from variant type. BP7 (synonymous, no splice impact) is assessable via SpliceAI \u003C 0.1.\n\n---\n\n## Classification Algorithm\n\nCombine criteria at their applied strength (after upgrades\u002Fdowngrades):\n\n**Pathogenic**: (1) PVS1 + ≥1 Strong; (2) PVS1 + ≥2 Moderate; (3) PVS1 + 1 Moderate + 1 Supporting; (4) PVS1 + ≥2 Supporting; (5) ≥2 Strong; (6) 1 Strong + ≥3 Moderate; (7) 1 Strong + 2 Moderate + ≥2 Supporting; (8) 1 Strong + 1 Moderate + ≥4 Supporting\n\n**Likely Pathogenic**: (1) PVS1 + 1 Moderate; (2) 1 Strong + 1-2 Moderate; (3) 1 Strong + ≥2 Supporting; (4) ≥3 Moderate; (5) 2 Moderate + ≥2 Supporting; (6) 1 Moderate + ≥4 Supporting\n\n**Benign**: (1) BA1 stand-alone; (2) ≥2 Strong benign\n\n**Likely Benign**: (1) 1 Strong benign + 1 Supporting benign; (2) ≥2 Supporting benign\n\n**VUS**: Criteria do not meet any threshold above, OR pathogenic and benign evidence conflict.\n\n---\n\n## Output Format\n\n```markdown\n# ACMG Variant Classification Report\n\n## Variant: [HGVS]\n- **Gene**: [symbol] | **Transcript**: [MANE Select] | **Protein**: [p.notation] | **Type**: [variant type]\n\n## Classification: [PATHOGENIC \u002F LIKELY PATHOGENIC \u002F VUS \u002F LIKELY BENIGN \u002F BENIGN]\n\n## Evidence Summary\n### Pathogenic Criteria Met\n| Criterion | Strength | Evidence | Source |\n\n### Benign Criteria Met\n| Criterion | Strength | Evidence | Source |\n\n### Criteria Not Met (key ones with reasoning)\n### Criteria Not Assessed (and why)\n\n## Detailed Evidence\n- Population: gnomAD AF, ancestry max, homozygotes, gene constraints\n- Computational: predictor concordance\n- Clinical: ClinVar classification + review status, CIViC entries\n- Domain: InterPro domains, UniProt annotations\n- Splice: SpliceAI scores, canonical site status\n- Literature: key functional study findings\n\n## Classification Logic\nApplied rule: [e.g., \"PVS1 + PM2_Supporting = Likely Pathogenic (LP rule 1)\"]\n\n## Limitations\n- [Criteria not assessed and what data would be needed]\n```\n\n---\n\n## Common Patterns\n\n**Pattern 1: Known pathogenic frameshift** — \"Classify BRCA2 c.5946delT\"\nPhase 0 (validate) → Phase 1 (gnomAD absent, PM2_Supporting) → Phase 3 (ClinVar Pathogenic, PP5) → Phase 4 (DNA repair domain, PM1) → Phase 5 (frameshift + LOF gene, PVS1) → Phase 6 (literature PS3)\nResult: **Pathogenic** (PVS1 + PS3 + PM1 + PM2_Supporting + PP5)\n\n**Pattern 2: Missense VUS** — \"Is BRCA1 p.Arg1699Gln pathogenic?\"\nPhase 0 → Phase 1 (rare, PM2_Supporting) → Phase 2 (REVEL 0.82, CADD 26, PP3) → Phase 3 (ClinVar VUS) → Phase 4 (BRCT domain, PM1) → Phase 6 (reduced activity, PS3_Moderate)\nResult: **Likely Pathogenic** (PS3_Moderate + PM1 + PM2_Supporting + PP3)\n\n**Pattern 3: Common benign variant** — \"ACMG for rs1800497\"\nPhase 1 (gnomAD AF=0.21, BA1) → short-circuit. Result: **Benign** (BA1 stand-alone)\n\n**Pattern 4: Deep-intronic variant** — \"Classify NM_000059.4:c.7977+100A>G\"\nPhase 1 (check AF) → Phase 5 (SpliceAI \u003C 0.1) → Result: **Likely Benign** or VUS depending on frequency\n","# ACMG\u002FAMP Variant Classification\n\n## ACMG Reasoning\n\nEach criterion (PS, PM, PP for pathogenic; BS, BP for benign) contributes a weighted piece of evidence for or against pathogenicity. The classification is the COMBINATION of all activated criteria, not any single criterion. Do not overweight a single finding.\n\nThe hierarchy is: PVS1 (very strong) > PS (strong) > PM (moderate) > PP (supporting). On the benign side: BA1 (stand-alone) > BS (strong) > BP (supporting). A frameshift in a LOF-intolerant gene (PVS1) plus a ClinVar expert-panel pathogenic entry (PS1) is pathogenic. A single PP criterion alone is not. The combination rule is what matters.\n\nTwo common errors to avoid: (1) seeing a \"Pathogenic\" ClinVar entry and stopping — that is PP5 (supporting) unless it has expert-panel review, not automatic confirmation; (2) dismissing a variant because one predictor says \"tolerated\" — discordant predictors mean neither PP3 nor BP4 applies, which is neutral evidence, not benign evidence.\n\nAlways apply criteria conservatively. When evidence is ambiguous, leave the criterion unmet. Cite the source for every criterion you activate so clinicians can audit the reasoning.\n\n**KEY PRINCIPLES**:\n1. **Criteria-driven** — cite which criteria were activated and why\n2. **Conservative** — do not upgrade a criterion when evidence is ambiguous\n3. **Gene-aware** — adjust thresholds based on gene mechanism (LOF vs. gain-of-function)\n4. **Population-calibrated** — use ancestry-specific gnomAD frequencies, not just global AF\n5. **Transparent** — show evidence for each criterion\n6. **Source-referenced** — every criterion activation must cite the database\u002Ftool source\n7. **English-first queries** — always use English terms in tool calls; respond in user's language\n\n---\n\n## LOOK UP, DON'T GUESS\nWhen uncertain about any scientific fact, SEARCH databases first (PubMed, UniProt, ChEMBL, ClinVar, etc.) rather than reasoning from memory. A database-verified answer is always more reliable than a guess.\n\n---\n\n## When to Use\n\n- \"Classify BRCA2 c.5946delT using ACMG criteria\"\n- \"Is this VUS pathogenic? NM_000059.4:c.7397T>C\"\n- \"Apply ACMG guidelines to rs28897743\"\n- \"What is the pathogenicity of CFTR p.Arg117His?\"\n- \"ACMG classification for TP53 R248W\"\n\n---\n\n## Tool Parameter Reference\n\n| Tool | Key Parameters | Notes |\n|------|---------------|-------|\n| `VariantValidator_validate_variant` | `variant_description`, `genome_build`, `select_transcripts` | genome_build=\"GRCh38\" |\n| `VariantValidator_gene2transcripts` | `gene_symbol` | Returns MANE Select transcript |\n| `MyVariant_query_variants` | `query` | HGVS or rsID. Returns ClinVar, gnomAD, CADD, REVEL, SIFT, PolyPhen |\n| `EnsemblVEP_annotate_hgvs` | `hgvs_notation` | Consequence, colocated variants, ancestry gnomAD |\n| `gnomad_search_variants` | `query` | rsID to gnomAD variant ID |\n| `gnomad_get_variant` | `variant_id` | Per-ancestry population frequencies |\n| `gnomad_get_gene_constraints` | `gene_symbol` | pLI, LOEUF, mis_z |\n| `ClinVar_search_variants` | `query` | Variable response format: list OR `{status, data}` |\n| `ClinVar_get_variant_details` | `variant_id` | ClinVar numeric ID |\n| `civic_get_variants_by_gene` | `gene_id` | CIViC numeric gene ID (NOT symbol). Known: BRAF=5, BRCA2=19 |\n| `UniProt_get_function_by_accession` | `accession` | Returns list of strings |\n| `InterPro_get_entries_for_protein` | `accession` | Domain architecture by UniProt accession |\n| `alphafold_get_prediction` | `qualifier` | UniProt accession; pLDDT confidence |\n| `PubMed_search_articles` | `query`, `limit` | Returns list of dicts |\n| `MyGene_query_genes` | `query` | Filter by `symbol` match (first hit may not match) |\n\n---\n\n## Phase 0: Variant Validation and Normalization\n\nWrong HGVS or wrong transcript cascades errors through every downstream criterion. Validate first.\n\n1. **Get MANE Select transcript**: `VariantValidator_gene2transcripts(gene_symbol=\"BRCA2\")`\n2. **Validate variant**: `VariantValidator_validate_variant(variant_description=\"NM_000059.4:c.5946delT\", genome_build=\"GRCh38\", select_transcripts=\"mane_select\")`\n3. **Resolve gene IDs**: `MyGene_query_genes(query=\"BRCA2\")` — extract Ensembl ID and UniProt accession. Filter results by `symbol == 'BRCA2'` (first hit may not match).\n4. **Record**: HGVS coding, HGVS protein, genomic coordinates, variant type (frameshift\u002Fmissense\u002Fnonsense\u002Fsplice\u002Fsynonymous\u002Fin-frame indel).\n\nAccepted inputs: HGVS coding (NM_000059.4:c.5946delT), HGVS protein (BRCA2 p.Val600Glu), rsID (rs28897743), gene+change (BRCA1 c.68_69del), genomic coordinates.\n\n---\n\n## Phase 1: Population Frequency (BA1, BS1, BS2, PM2)\n\nPopulation AF is among the strongest evidence in either direction. A variant at >5% in any population is almost certainly benign (BA1 — stand-alone, no further analysis needed). Absent from gnomAD supports pathogenicity (PM2, now usually applied as PM2_Supporting per ClinGen guidance).\n\nUse ancestry-specific AF, not just global. A variant at 8% in East Asian populations but rare globally is benign in that ancestry context. For BS1, the threshold depends on disease prevalence and inheritance — the default is 1% for common diseases, 0.1% for rare.\n\n```python\ngnomad_search_variants(query=\"rs28897743\")          # get gnomAD variant ID\ngnomad_get_variant(variant_id=\"...\")                 # per-ancestry frequencies\ngnomad_get_gene_constraints(gene_symbol=\"BRCA2\")     # pLI, LOEUF, mis_z\nMyVariant_query_variants(query=\"rs28897743\")          # fallback: gnomad_genome.af\n```\n\nIf gnomAD data is unavailable, note the gap and continue — absence of data is not the same as evidence of absence.\n\n---\n\n## Phase 2: Computational Predictions (PP3, BP4)\n\nNo single predictor is definitive. The reasoning is: concordance across multiple independent predictors provides supporting evidence. Discordance means neither PP3 nor BP4 applies — it is neutral, not benign.\n\nPP3 (supporting pathogenic) applies when the majority of predictors agree damaging, or when REVEL >= 0.7 alone (sufficient per ClinGen guidance). BP4 (supporting benign) requires ALL predictors to agree benign, or REVEL \u003C 0.15 or CADD \u003C 15. These criteria apply only to missense variants.\n\n```python\nMyVariant_query_variants(query=\"...\")        # REVEL, CADD PHRED, AlphaMissense, SIFT, PolyPhen\nEnsemblVEP_annotate_hgvs(hgvs_notation=\"...\") # consequence, SpliceAI deltas\n```\n\nFor non-missense variants, skip PP3\u002FBP4 and focus on SpliceAI scores in Phase 5.\n\n---\n\n## Phase 3: Clinical Database Evidence (PS1, PM5, PP5, BP6)\n\nClinVar aggregates clinical lab classifications. The reasoning: if the same amino acid change (different nucleotide) is established pathogenic, that is strong evidence (PS1) because the mechanism is the amino acid change. If a different pathogenic missense occurs at the same residue, that is moderate evidence (PM5) — the residue is functionally important.\n\nPP5 applies when ClinVar shows Pathogenic with >= 2-star review (criteria provided, multiple submitters). Weight by the number of concordant submitters. Conflicting ClinVar interpretations mean neither PP5 nor BP6 should be applied. ClinGen has proposed downweighting PP5\u002FBP6 — treat them as supporting, not strong.\n\n```python\nClinVar_search_variants(query=\"BRCA2 c.5946delT\")\nClinVar_get_variant_details(variant_id=\"...\")\ncivic_get_variants_by_gene(gene_id=19)   # BRCA2 CIViC ID is 19\n```\n\n---\n\n## Phase 4: Functional Domain and Protein Analysis (PM1, PP2, BP1)\n\nVariants in well-established functional domains with known pathogenic variant enrichment are more likely pathogenic. PM1 (moderate pathogenic) requires the variant to be in a hotspot domain with low benign variation — use InterPro domain architecture and UniProt active\u002Fbinding sites to assess.\n\nPP2 and BP1 are mutually exclusive. PP2 (supporting pathogenic) applies to missense in genes where missense is the known mechanism and benign missense rate is low (mis_z > 3.09). BP1 (supporting benign) applies to missense in genes where only truncating variants cause disease (LOF-only mechanism) — a missense in such a gene is unlikely to be pathogenic.\n\n```python\nUniProt_get_function_by_accession(accession=\"P51587\")        # active sites, binding sites\nInterPro_get_entries_for_protein(accession=\"P51587\")          # domain architecture\nalphafold_get_prediction(qualifier=\"P51587\")                   # pLDDT > 90 = structured region\ngnomad_get_gene_constraints(gene_symbol=\"BRCA2\")              # mis_z for PP2\u002FBP1\n```\n\n---\n\n## Phase 5: Splice Impact Assessment (PVS1)\n\nPVS1 is the strongest single pathogenic criterion. A null variant (nonsense\u002Fframeshift\u002Fcanonical splice\u002Finitiation codon) in a gene where LOF is the established mechanism can activate PVS1, but the full strength depends on context.\n\nApply PVS1 at full strength when: null variant + LOF is known mechanism + variant is not in the last exon or last 50bp of the penultimate exon + no rescue transcript exists. Downgrade to PVS1_Moderate if the variant is in the last exon or NMD escape is likely. Downgrade to PVS1_Supporting if a rescue transcript is possible or SpliceAI >= 0.5 but not a canonical splice site. Do NOT apply PVS1 if LOF mechanism is uncertain.\n\n```python\nEnsemblVEP_annotate_hgvs(hgvs_notation=\"...\")   # splice_donor_variant, splice_acceptor_variant\nMyVariant_query_variants(query=\"...\")             # SpliceAI deltas\ngnomad_get_gene_constraints(gene_symbol=\"...\")    # pLI >= 0.9 or LOEUF \u003C 0.35 = LOF intolerant\n```\n\n---\n\n## Phase 6: Literature and Functional Evidence (PS3, BS3, PP1, PP4)\n\nWell-designed functional assays showing LOF (PS3) or normal function (BS3) can shift a classification decisively. PS3\u002FBS3 can be downgraded (e.g., PS3_Supporting) for less rigorous assays. Not all functional assays qualify — ClinGen gene-specific guidance defines valid assays.\n\nPP1 (co-segregation) upgrades to PP1_Strong at >= 7 informative meioses. PP4 applies when the patient's phenotype is highly specific for the gene's disease.\n\n```python\nPubMed_search_articles(query=\"BRCA2 c.5946delT functional assay\", limit=10)\nPubMed_search_articles(query=\"BRCA2 c.5946delT segregation family\", limit=5)\n```\n\nCriteria requiring clinical data (PS2, PS4, PM3, PM6, BS4, BP2, BP5) cannot be assessed automatically. Document as \"Not Assessed\" unless the user provides clinical context.\n\nPM4 (protein length change in non-repeat region) and BP3 (in-frame indel in repeat) can be partially assessed from variant type. BP7 (synonymous, no splice impact) is assessable via SpliceAI \u003C 0.1.\n\n---\n\n## Classification Algorithm\n\nCombine criteria at their applied strength (after upgrades\u002Fdowngrades):\n\n**Pathogenic**: (1) PVS1 + ≥1 Strong; (2) PVS1 + ≥2 Moderate; (3) PVS1 + 1 Moderate + 1 Supporting; (4) PVS1 + ≥2 Supporting; (5) ≥2 Strong; (6) 1 Strong + ≥3 Moderate; (7) 1 Strong + 2 Moderate + ≥2 Supporting; (8) 1 Strong + 1 Moderate + ≥4 Supporting\n\n**Likely Pathogenic**: (1) PVS1 + 1 Moderate; (2) 1 Strong + 1-2 Moderate; (3) 1 Strong + ≥2 Supporting; (4) ≥3 Moderate; (5) 2 Moderate + ≥2 Supporting; (6) 1 Moderate + ≥4 Supporting\n\n**Benign**: (1) BA1 stand-alone; (2) ≥2 Strong benign\n\n**Likely Benign**: (1) 1 Strong benign + 1 Supporting benign; (2) ≥2 Supporting benign\n\n**VUS**: Criteria do not meet any threshold above, OR pathogenic and benign evidence conflict.\n\n---\n\n## Output Format\n\n```markdown\n# ACMG Variant Classification Report\n\n## Variant: [HGVS]\n- **Gene**: [symbol] | **Transcript**: [MANE Select] | **Protein**: [p.notation] | **Type**: [variant type]\n\n## Classification: [PATHOGENIC \u002F LIKELY PATHOGENIC \u002F VUS \u002F LIKELY BENIGN \u002F BENIGN]\n\n## Evidence Summary\n### Pathogenic Criteria Met\n| Criterion | Strength | Evidence | Source |\n\n### Benign Criteria Met\n| Criterion | Strength | Evidence | Source |\n\n### Criteria Not Met (key ones with reasoning)\n### Criteria Not Assessed (and why)\n\n## Detailed Evidence\n- Population: gnomAD AF, ancestry max, homozygotes, gene constraints\n- Computational: predictor concordance\n- Clinical: ClinVar classification + review status, CIViC entries\n- Domain: InterPro domains, UniProt annotations\n- Splice: SpliceAI scores, canonical site status\n- Literature: key functional study findings\n\n## Classification Logic\nApplied rule: [e.g., \"PVS1 + PM2_Supporting = Likely Pathogenic (LP rule 1)\"]\n\n## Limitations\n- [Criteria not assessed and what data would be needed]\n```\n\n---\n\n## Common Patterns\n\n**Pattern 1: Known pathogenic frameshift** — \"Classify BRCA2 c.5946delT\"\nPhase 0 (validate) → Phase 1 (gnomAD absent, PM2_Supporting) → Phase 3 (ClinVar Pathogenic, PP5) → Phase 4 (DNA repair domain, PM1) → Phase 5 (frameshift + LOF gene, PVS1) → Phase 6 (literature PS3)\nResult: **Pathogenic** (PVS1 + PS3 + PM1 + PM2_Supporting + PP5)\n\n**Pattern 2: Missense VUS** — \"Is BRCA1 p.Arg1699Gln pathogenic?\"\nPhase 0 → Phase 1 (rare, PM2_Supporting) → Phase 2 (REVEL 0.82, CADD 26, PP3) → Phase 3 (ClinVar VUS) → Phase 4 (BRCT domain, PM1) → Phase 6 (reduced activity, PS3_Moderate)\nResult: **Likely Pathogenic** (PS3_Moderate + PM1 + PM2_Supporting + PP3)\n\n**Pattern 3: Common benign variant** — \"ACMG for rs1800497\"\nPhase 1 (gnomAD AF=0.21, BA1) → short-circuit. Result: **Benign** (BA1 stand-alone)\n\n**Pattern 4: Deep-intronic variant** — \"Classify NM_000059.4:c.7977+100A>G\"\nPhase 1 (check AF) → Phase 5 (SpliceAI \u003C 0.1) → Result: **Likely Benign** or VUS depending on frequency\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Flibrary\u002Fskills\u002Ftooluniverse-acmg-variant-classification","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-acmg-variant-classification",{"tool":57,"command":58},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-acmg-variant-classification",{"tool":60,"command":61},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-acmg-variant-classification","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-acmg-variant-classification\u002FSKILL.md",true,[],[66,87,116,143,157,173],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":40},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[73,74,75,76,77,78,79,80,81,30,82,83,84,85,86],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":96,"publishedAt":40},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[93],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[97,98,99,100,101,102,103,104,105,106,107,108,109,110,30,111,112,113,114,115],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":128,"publishedAt":40},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[122,125],{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":126,"categoryName":127,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[129,130,131,132,133,134,135,136,137,138,98,139,140,141,142],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":40},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[145,150,151,152,153,154,155,156],"setup","report","project","installation","project setup","issues","state",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":40},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[163],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},[159,165,78,166,167,168,30,169,170,171,172],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":174,"name":150,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":40},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[150,152,113,179,154,180],"files","interactive"]