Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

tooluniverse-cancer-variant-interpretationtooluniverse 癌症变异解读

Agent Skill

tooluniverse-cancer-variant-interpretation 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

282

周安装

12

GitHub Stars

971

下载量

99
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tooluniverse-cancer-variant-interpretation(tooluniverse 癌症变异解读)
来源仓库:https://github.com/wu-yc/labclaw
仓库路径:skills/tooluniverse-cancer-variant-interpretation
安装命令:
npx skills add https://github.com/wu-yc/labclaw --skill tooluniverse-cancer-variant-interpretation
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/wu-yc/labclaw --skill tooluniverse-cancer-variant-interpretation

简介

tooluniverse-cancer-variant-interpretation 用于查找、检索和筛选相关信息。

  • 适用于癌症驱动突变或体细胞变异的临床意义解读。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装并使用。
  • 安装前需确认权限范围、维护状态及是否触发联网或文件读写操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Cancer Variant Interpretation for Precision Oncology

Comprehensive clinical interpretation of somatic mutations in cancer. Transforms a gene + variant input into an actionable precision oncology report covering clinical evidence, therapeutic options, resistance mechanisms, clinical trials, and prognostic implications.

KEY PRINCIPLES:

  1. Report-first approach - Create report file FIRST, then populate progressively
  2. Evidence-graded - Every recommendation has an evidence tier (T1-T4)
  3. Actionable output - Prioritized treatment options, not data dumps
  4. Clinical focus - Answer "what should we treat with?" not "what databases exist?"
  5. Resistance-aware - Always check for known resistance mechanisms
  6. Cancer-type specific - Tailor all recommendations to the patient's cancer type when provided
  7. Source-referenced - Every statement must cite the tool/database source
  8. English-first queries - Always use English terms in tool calls (gene names, drug names, cancer types), even if the user writes in another language. Respond in the user's language

When to Use

Apply when user asks:

  • "What treatments exist for EGFR L858R in lung cancer?"
  • "Patient has BRAF V600E melanoma - what are the options?"
  • "Is KRAS G12C targetable?"
  • "Patient progressed on osimertinib - what's next?"
  • "What clinical trials are available for PIK3CA E545K?"
  • "Interpret this somatic mutation: TP53 R273H"
  • "Molecular tumor board: EGFR exon 19 deletion, NSCLC"

Input Parsing

Required: Gene symbol + variant notation Optional: Cancer type (improves specificity)

Accepted Input Formats

FormatExampleHow to Parse
Gene + amino acid changeEGFR L858Rgene=EGFR, variant=L858R
Gene + HGVS proteinBRAF p.V600Egene=BRAF, variant=V600E
Gene + exon notationEGFR exon 19 deletiongene=EGFR, variant=exon 19 deletion
Gene + fusionEML4-ALK fusiongene=ALK, variant=EML4-ALK
Gene + amplificationHER2 amplificationgene=ERBB2, variant=amplification
Full query with cancer"EGFR L858R in lung adenocarcinoma"gene=EGFR, variant=L858R, cancer=lung adenocarcinoma

Gene Symbol Normalization

Common aliases to resolve:

  • HER2 -> ERBB2
  • ALK -> ALK (but EML4-ALK is a fusion)
  • PD-L1 -> CD274
  • VEGF -> VEGFA

Phase 0: Tool Parameter Verification (CRITICAL)

BEFORE calling ANY tool for the first time, verify its parameters.

Known Parameter Corrections

ToolWRONG ParameterCORRECT Parameter
OpenTargets_get_associated_drugs_by_target_ensemblIDensemblIDensemblId (camelCase)
OpenTargets_get_drug_chembId_by_generic_namegenericNamedrugName
OpenTargets_target_disease_evidenceensemblIDensemblId + efoId
MyGene_query_genesqquery
search_clinical_trialsdisease, biomarkercondition, query_term (required)
civic_get_variants_by_genegene_symbolgene_id (CIViC numeric ID)
drugbank_*any 3 paramsALL 4 required: query, case_sensitive, exact_match, limit
ChEMBL_get_drug_mechanismschembl_iddrug_chembl_id__exact
ensembl_lookup_geneno speciesspecies='homo_sapiens' is REQUIRED for Ensembl IDs

Workflow Overview

Input: Gene symbol + Variant notation + Optional cancer type

Phase 1: Gene Disambiguation & ID Resolution
  - Resolve gene to Ensembl ID, UniProt accession, Entrez ID
  - Get gene function, pathways, protein domains
  - Identify cancer type EFO ID (if cancer type provided)

Phase 2: Clinical Variant Evidence (CIViC)
  - Find gene in CIViC (via Entrez ID matching)
  - Get all variants for the gene
  - Match specific variant
  - Retrieve evidence items (predictive, prognostic, diagnostic)
  - Get CIViC assertions

Phase 3: Mutation Prevalence (cBioPortal)
  - Frequency across cancer studies
  - Co-occurring mutations
  - Cancer type distribution

Phase 4: Therapeutic Associations (OpenTargets + ChEMBL + FDA + DrugBank)
  - FDA-approved targeted therapies
  - Clinical trial drugs (phase 2-3)
  - Drug mechanisms of action
  - Drug label information
  - Combination therapies

Phase 5: Resistance Mechanisms
  - Known resistance variants (CIViC, literature)
  - Bypass pathway analysis (Reactome)
  - Secondary mutations

Phase 6: Clinical Trials
  - Active trials recruiting for this mutation
  - Trial phase and status
  - Eligibility criteria

Phase 7: Prognostic Impact & Pathway Context
  - Survival associations (literature)
  - Pathway context (Reactome)
  - Expression data (GTEx)
  - Literature evidence (PubMed)

Phase 8: Report Synthesis
  - Executive summary
  - Clinical actionability score
  - Treatment recommendations (prioritized)
  - Completeness checklist

Phase 1: Gene Disambiguation & ID Resolution

Goal: Resolve gene symbol to all cross-database identifiers needed for downstream queries.

1.1 MyGene ID Resolution (PRIMARY)

def resolve_gene_ids(tu, gene_symbol):
    """Resolve gene symbol to Ensembl, Entrez, UniProt IDs."""
    result = tu.tools.MyGene_query_genes(query=gene_symbol, species='human')

    hits = result.get('hits', [])
    # Take the top hit where symbol matches exactly
    gene_hit = None
    for hit in hits:
        if hit.get('symbol', '').upper() == gene_symbol.upper():
            gene_hit = hit
            break
    if not gene_hit and hits:
        gene_hit = hits[0]

    ids = {
        'symbol': gene_hit.get('symbol'),
        'entrez_id': gene_hit.get('entrezgene'),
        'ensembl_id': gene_hit.get('ensembl', {}).get('gene'),
        'name': gene_hit.get('name'),
    }
    return ids

Response structure: {took, total, max_score, hits: [{_id, _score, ensembl: {gene}, entrezgene, name, symbol}]}

1.2 UniProt Accession

def get_uniprot_id(tu, gene_symbol):
    """Get UniProt accession for gene."""
    result = tu.tools.UniProt_search(query=f'gene:{gene_symbol}', organism='human', limit=3)
    # Response: {total_results, returned, results: [{accession, id, protein_name, gene_names, organism, length}]}
    results = result.get('results', [])
    if results:
        return results[0].get('accession')
    return None

1.3 OpenTargets Target Resolution

def get_opentargets_info(tu, gene_symbol):
    """Resolve gene to OpenTargets ensemblId and description."""
    result = tu.tools.OpenTargets_get_target_id_description_by_name(targetName=gene_symbol)
    # Response: {data: {search: {hits: [{id (ensemblId), name, description}]}}}
    hits = result.get('data', {}).get('search', {}).get('hits', [])
    # Match exact gene symbol
    for hit in hits:
        if hit.get('name', '').upper() == gene_symbol.upper():
            return hit
    return hits[0] if hits else None

1.4 Cancer Type EFO Resolution (if cancer type provided)

def resolve_cancer_type(tu, cancer_type):
    """Resolve cancer type to EFO ID for OpenTargets queries."""
    result = tu.tools.OpenTargets_get_disease_id_description_by_name(diseaseName=cancer_type)
    # Response: {data: {search: {hits: [{id (efoId), name, description}]}}}
    hits = result.get('data', {}).get('search', {}).get('hits', [])
    return hits[0] if hits else None

1.5 Gene Function Context

def get_gene_function(tu, uniprot_accession):
    """Get protein function from UniProt.
    NOTE: Returns a list of function description strings, NOT a dict.
    """
    result = tu.tools.UniProt_get_function_by_accession(accession=uniprot_accession)
    # Response type: list of strings
    # Example: ["Receptor tyrosine kinase binding ligands of the EGF family...", ...]
    return result

1.6 CIViC Gene ID Resolution

IMPORTANT: The civic_search_genes tool does NOT support name filtering in its GraphQL query. To find a gene in CIViC, either:

  1. Paginate through results (inefficient, genes sorted alphabetically)
  2. Use the Entrez ID from MyGene to construct a CIViC gene lookup

Workaround: Use civic_search_genes with limit=100 and search the results client-side. For genes beyond alphabetical position ~100 (like EGFR, KRAS, TP53), you may need to use the CIViC gene ID if known from prior queries or documentation.

Known CIViC Gene IDs (for common cancer genes):

GeneCIViC Gene IDEntrez ID
BRAF5673
ABL1425
ALK1238

For other genes, the skill should attempt to find the gene through pagination or use alternative evidence sources (OpenTargets, cBioPortal) if CIViC lookup fails.


Phase 2: Clinical Variant Evidence (CIViC)

Goal: Get clinical interpretations for the specific variant.

2.1 Get Gene Variants from CIViC

def get_civic_variants(tu, civic_gene_id):
    """Get all variants for a gene in CIViC."""
    result = tu.tools.civic_get_variants_by_gene(gene_id=civic_gene_id, limit=200)
    # Response: {data: {gene: {variants: {nodes: [{id, name}]}}}}
    variants = result.get('data', {}).get('gene', {}).get('variants', {}).get('nodes', [])
    return variants

2.2 Match Specific Variant

def find_variant_in_civic(variants, variant_name):
    """Find the specific variant in CIViC results."""
    # Normalize variant name (remove 'p.' prefix if present)
    normalized = variant_name.replace('p.', '').strip()

    for v in variants:
        if v.get('name', '').upper() == normalized.upper():
            return v

    # Partial match (e.g., "L858" matches "L858R")
    for v in variants:
        if normalized.upper() in v.get('name', '').upper():
            return v

    return None

2.3 Get Variant Details

def get_variant_details(tu, variant_id):
    """Get detailed variant information from CIViC."""
    result = tu.tools.civic_get_variant(variant_id=variant_id)
    # Response: {data: {variant: {id, name}}}
    return result.get('data', {}).get('variant', {})

2.4 Get Molecular Profile Evidence

def get_molecular_profile(tu, molecular_profile_id):
    """Get molecular profile details (for evidence items)."""
    result = tu.tools.civic_get_molecular_profile(molecular_profile_id=molecular_profile_id)
    # Response: {data: {molecularProfile: {id, name}}}
    return result.get('data', {}).get('molecularProfile', {})

2.5 CIViC Evidence Limitations and Fallback

The current CIViC tools return limited field sets from GraphQL. If CIViC data is sparse:

Fallback to literature: Use PubMed to search for "{gene} {variant} clinical significance cancer" Fallback to OpenTargets: Use OpenTargets_target_disease_evidence for target-disease evidence

Evidence Level Mapping

CIViC LevelTierMeaningClinical Action
AT1 (highest)FDA-approved, guidelineStandard of care
BT2Clinical evidenceStrong recommendation
CT2Case studyConsider with caution
DT3PreclinicalResearch context only
ET4InferentialComputational evidence

Phase 3: Mutation Prevalence (cBioPortal)

Goal: Determine how common this mutation is across cancer types and studies.

3.1 Find Relevant Studies

def find_cancer_studies(tu, cancer_keyword=None):
    """Find relevant cBioPortal studies."""
    result = tu.tools.cBioPortal_get_cancer_studies(limit=50)
    # Response: array of [{studyId, name, description, cancerTypeId, ...}]
    studies = result if isinstance(result, list) else result.get('data', [])

    if cancer_keyword:
        # Filter by cancer type keyword
        filtered = [s for s in studies
                    if cancer_keyword.lower() in str(s.get('name', '')).lower()
                    or cancer_keyword.lower() in str(s.get('cancerTypeId', '')).lower()]
        return filtered
    return studies

3.2 Get Mutation Data

def get_mutation_prevalence(tu, gene_symbol, study_id):
    """Get mutation data for a gene in a specific study."""
    result = tu.tools.cBioPortal_get_mutations(study_id=study_id, gene_list=gene_symbol)
    # Response: {status: 'success', data: [{proteinChange, mutationType, sampleId, ...}]}
    # OR sometimes a plain list. Handle both formats:
    if isinstance(result, list):
        mutations = result
    elif isinstance(result, dict):
        mutations = result.get('data', []) if result.get('status') == 'success' else []
    else:
        mutations = []
    return mutations

3.3 Analyze Mutation Distribution

def analyze_mutation_distribution(mutations, target_variant):
    """Count how many samples have the target variant vs. others."""
    from collections import Counter

    protein_changes = [m.get('proteinChange', '') for m in mutations]
    counts = Counter(protein_changes)

    total_mutated = len(mutations)
    target_count = sum(1 for m in mutations
                       if target_variant.upper() in str(m.get('proteinChange', '')).upper())

    return {
        'total_mutated_samples': total_mutated,
        'target_variant_count': target_count,
        'target_variant_frequency': target_count / total_mutated if total_mutated > 0 else 0,
        'top_variants': counts.most_common(10),
    }

3.4 Key cBioPortal Studies for Common Cancer Types

Cancer TypeStudy IDDescription
Lung adenocarcinomaluad_tcgaTCGA Lung Adenocarcinoma
Breast cancerbrca_tcgaTCGA Breast Cancer
Colorectal cancercoadread_tcgaTCGA Colorectal
Melanomaskcm_tcgaTCGA Melanoma
Pancreatic cancerpaad_tcgaTCGA Pancreatic
Glioblastomagbm_tcgaTCGA Glioblastoma
Prostate cancerprad_tcgaTCGA Prostate
Ovarian cancerov_tcgaTCGA Ovarian

Phase 4: Therapeutic Associations

Goal: Identify all available therapies -- approved, in trials, and experimental.

4.1 OpenTargets Drug-Target Associations (PRIMARY)

def get_target_drugs(tu, ensembl_id, size=50):
    """Get all drugs associated with a target from OpenTargets."""
    result = tu.tools.OpenTargets_get_associated_drugs_by_target_ensemblID(
        ensemblId=ensembl_id, size=size
    )
    # Response: {data: {target: {id, approvedSymbol, knownDrugs: {count, rows: [
    #   {drug: {id, name, tradeNames, maximumClinicalTrialPhase, isApproved, hasBeenWithdrawn},
    #    phase, mechanismOfAction, disease: {id, name}}
    # ]}}}}

    drugs = result.get('data', {}).get('target', {}).get('knownDrugs', {})
    rows = drugs.get('rows', [])

    # Categorize
    approved = [r for r in rows if r.get('drug', {}).get('isApproved')]
    phase3 = [r for r in rows if r.get('phase') == 3 and not r.get('drug', {}).get('isApproved')]
    phase2 = [r for r in rows if r.get('phase') == 2]

    return {
        'total': drugs.get('count', 0),
        'approved': approved,
        'phase3': phase3,
        'phase2': phase2,
        'all_rows': rows
    }

4.2 OpenTargets Drug Mechanisms

def get_drug_mechanism(tu, chembl_id):
    """Get mechanism of action for a drug."""
    result = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(chemblId=chembl_id)
    return result

4.3 FDA Label Information

def get_fda_label(tu, drug_name):
    """Get FDA-approved indications and label info."""
    indications = tu.tools.FDA_get_indications_by_drug_name(drug_name=drug_name, limit=3)
    # Response: {meta: {skip, limit, total}, results: [{openfda.brand_name, openfda.generic_name, indications_and_usage}]}

    warnings = tu.tools.FDA_get_boxed_warning_info_by_drug_name(drug_name=drug_name, limit=3)

    moa = tu.tools.FDA_get_mechanism_of_action_by_drug_name(drug_name=drug_name, limit=3)

    return {
        'indications': indications,
        'warnings': warnings,
        'mechanism': moa
    }

4.4 DrugBank Drug Information

def get_drugbank_info(tu, drug_name):
    """Get drug information from DrugBank."""
    result = tu.tools.drugbank_get_drug_basic_info_by_drug_name_or_id(
        query=drug_name, case_sensitive=False, exact_match=False, limit=3
    )
    # Response: {query, total_matches, total_returned_results, results: [{drug_name, drugbank_id, description, ...}]}
    return result

4.5 ChEMBL Drug Mechanism

def get_chembl_mechanism(tu, chembl_drug_id):
    """Get drug mechanism from ChEMBL."""
    result = tu.tools.ChEMBL_get_drug_mechanisms(drug_chembl_id__exact=chembl_drug_id, limit=10)
    return result

4.6 Disease-Specific Drug Filtering

When cancer type is provided, filter drugs by disease association:

def get_disease_specific_drugs(tu, efo_id, size=30):
    """Get drugs associated with a specific disease/cancer type."""
    result = tu.tools.OpenTargets_get_associated_drugs_by_disease_efoId(efoId=efo_id, size=size)
    return result

4.7 Treatment Prioritization

PriorityCriteriaTier
1st LineFDA-approved for exact indication + biomarkerT1
2nd LineFDA-approved for different indication, same biomarkerT1-T2
3rd LinePhase 3 clinical trial dataT2
4th LinePhase 1-2 data, off-label with evidenceT3
5th LinePreclinical or computational onlyT4

Phase 5: Resistance Mechanisms

Goal: Identify known resistance patterns and strategies to overcome them.

5.1 CIViC Resistance Evidence

Search CIViC for variants with resistance significance for the target gene. Get all variants and look for those with "Resistance" in the name or description.

5.2 Literature-Based Resistance Search

def search_resistance_literature(tu, gene_symbol, drug_name):
    """Search PubMed for resistance mechanisms.
    NOTE: PubMed returns a plain list of article dicts, NOT {articles: [...]}.
    """
    result = tu.tools.PubMed_search_articles(
        query=f'"{gene_symbol}" AND "{drug_name}" AND resistance AND mechanism',
        limit=15,
        include_abstract=True
    )
    # Response: list of [{pmid, title, authors, journal, pub_date, doi, abstract, ...}]
    articles = result if isinstance(result, list) else result.get('articles', []) if isinstance(result, dict) else []
    return articles

5.3 Pathway-Based Bypass Resistance

def get_bypass_pathways(tu, uniprot_id):
    """Get pathways that could mediate bypass resistance."""
    result = tu.tools.Reactome_map_uniprot_to_pathways(id=uniprot_id)
    return result

5.4 Known Resistance Patterns (Reference)

Primary TargetPrimary DrugResistance MutationMechanismStrategy
EGFR L858RErlotinib/GefitinibT790MSteric hindranceOsimertinib (3rd-gen TKI)
EGFR T790MOsimertinibC797SCovalent bond loss4th-gen TKI trials
BRAF V600EVemurafenibSplice variantsParadoxical activationBRAF+MEK combination
ALK fusionCrizotinibL1196M, G1269AKinase domain mutationsAlectinib, Lorlatinib
KRAS G12CSotorasibY96D, R68SDrug binding lossKRAS G12C combo trials

Phase 6: Clinical Trials

Goal: Find actively recruiting clinical trials relevant to this mutation.

6.1 Search Strategy

def find_clinical_trials(tu, gene_symbol, variant_name, cancer_type=None):
    """Find clinical trials for this mutation."""
    # Search 1: Gene + variant specific
    query1 = f'{gene_symbol} {variant_name}'
    result1 = tu.tools.search_clinical_trials(
        query_term=query1,
        condition=cancer_type or 'cancer',
        pageSize=20
    )

    # Search 2: Gene + targeted therapy
    result2 = tu.tools.search_clinical_trials(
        query_term=f'{gene_symbol} mutation',
        condition=cancer_type or 'cancer',
        pageSize=20
    )

    return {
        'variant_specific': result1,
        'gene_level': result2
    }

Response structure: {studies: [{NCT ID, brief_title, brief_summary, overall_status, condition, phase}], nextPageToken, total_count}

6.2 Trial Filtering

Prioritize trials that:

  1. Are RECRUITING or NOT_YET_RECRUITING status
  2. Match the specific variant (not just gene)
  3. Are Phase 2 or 3 (closer to approval)
  4. Have the right cancer type

6.3 Trial Output Format

| NCT ID | Phase | Agent(s) | Status | Cancer Type | Biomarker |
|--------|-------|----------|--------|-------------|-----------|

Phase 7: Prognostic Impact & Pathway Context

Goal: Assess the variant's impact on prognosis and biological context.

7.1 Literature Evidence

def get_prognostic_literature(tu, gene_symbol, variant_name, cancer_type=None):
    """Search for prognostic associations."""
    query = f'"{gene_symbol}" "{variant_name}" prognosis survival'
    if cancer_type:
        query += f' "{cancer_type}"'

    result = tu.tools.PubMed_search_articles(query=query, limit=10, include_abstract=True)
    return result

7.2 Pathway Context (Reactome)

def get_pathway_context(tu, uniprot_id):
    """Get pathway context from Reactome."""
    result = tu.tools.Reactome_map_uniprot_to_pathways(id=uniprot_id)
    return result

7.3 Gene Expression (GTEx)

def get_expression_context(tu, ensembl_id):
    """Get tissue expression data from GTEx."""
    # GTEx needs versioned ID. IMPORTANT: ensembl_lookup_gene requires species parameter.
    gene_info = tu.tools.ensembl_lookup_gene(gene_id=ensembl_id, species='homo_sapiens')
    # Response: {status: 'success', data: {id, version, display_name, ...}}
    data = gene_info.get('data', gene_info) if isinstance(gene_info, dict) else {}
    version = data.get('version', 1)
    versioned_id = f"{ensembl_id}.{version}"

    result = tu.tools.GTEx_get_median_gene_expression(
        gencode_id=versioned_id, operation='median'
    )
    return result

7.4 UniProt Disease Variants

def get_known_disease_variants(tu, uniprot_accession):
    """Get known disease-associated variants from UniProt."""
    result = tu.tools.UniProt_get_disease_variants_by_accession(accession=uniprot_accession)
    return result

Phase 8: Report Synthesis

8.1 Report File Naming

{GENE}_{VARIANT}_cancer_variant_report.md

Examples:
EGFR_L858R_cancer_variant_report.md
BRAF_V600E_cancer_variant_report.md
KRAS_G12C_cancer_variant_report.md

8.2 Report Template

# Cancer Variant Interpretation Report: {GENE} {VARIANT}

**Date**: {date}
**Cancer Type**: {cancer_type or "Not specified"}

---

## Executive Summary

{1-2 sentences summarizing the key finding and top recommendation}

**Clinical Actionability**: {Score: HIGH / MODERATE / LOW / UNKNOWN}

---

## 1. Gene & Variant Overview

| Field | Value |
|-------|-------|
| Gene Symbol | {symbol} |
| Full Name | {name} |
| Ensembl ID | {ensembl_id} |
| UniProt | {uniprot_accession} |
| Entrez ID | {entrez_id} |
| Variant | {variant_notation} |
| Protein Function | {function_summary} |

## 2. Clinical Variant Evidence

### 2.1 CIViC Clinical Interpretations

| Evidence Type | Description | Level | Clinical Significance |
|---------------|-------------|-------|----------------------|
| ... | ... | ... | ... |

### 2.2 Evidence Summary

{Summary of clinical evidence from CIViC and other sources}

*Source: CIViC via civic_get_variants_by_gene, civic_get_variant*

## 3. Mutation Prevalence

### 3.1 Frequency Across Cancer Types (cBioPortal)

| Study | Cancer Type | Total Mutated | This Variant | Frequency |
|-------|-------------|---------------|--------------|-----------|
| ... | ... | ... | ... | ... |

### 3.2 Co-occurring Mutations

{Top co-occurring mutations from cBioPortal data}

*Source: cBioPortal via cBioPortal_get_mutations*

## 4. Therapeutic Options

### 4.1 FDA-Approved Therapies (T1 Evidence)

| Drug | Trade Name | Indication | Mechanism | Phase |
|------|-----------|------------|-----------|-------|
| ... | ... | ... | ... | ... |

### 4.2 Clinical Trial Drugs (T2-T3 Evidence)

| Drug | ChEMBL ID | Phase | Mechanism | Disease |
|------|-----------|-------|-----------|---------|
| ... | ... | ... | ... | ... |

### 4.3 Drug Details

{For each recommended drug: mechanism of action, FDA label info, dosing, warnings}

*Sources: OpenTargets, FDA, DrugBank, ChEMBL*

## 5. Resistance Mechanisms

### 5.1 Known Resistance Patterns

| Resistance Mutation | Drug Affected | Mechanism | Strategy to Overcome |
|--------------------|---------------|-----------|---------------------|
| ... | ... | ... | ... |

### 5.2 Bypass Pathways

{Pathway analysis showing potential bypass resistance routes}

*Sources: CIViC, PubMed, Reactome*

## 6. Clinical Trials

### 6.1 Actively Recruiting Trials

| NCT ID | Phase | Agent(s) | Status | Biomarker Required |
|--------|-------|----------|--------|-------------------|
| ... | ... | ... | ... | ... |

### 6.2 Trial Recommendations

{Specific trial recommendations based on patient's mutation and cancer type}

*Source: ClinicalTrials.gov via search_clinical_trials*

## 7. Prognostic Impact

### 7.1 Survival Associations

{Literature-based prognostic data}

### 7.2 Pathway Context

{Pathway analysis and biological context}

### 7.3 Expression Profile

{Tissue expression data for the gene}

*Sources: PubMed, Reactome, GTEx*

## 8. Evidence Grading Summary

| Finding | Evidence Tier | Source | Confidence |
|---------|--------------|--------|------------|
| ... | T1/T2/T3/T4 | ... | High/Moderate/Low |

---

## Data Sources Queried

| Source | Tool(s) Used | Data Retrieved |
|--------|-------------|----------------|
| MyGene | MyGene_query_genes | Gene IDs |
| UniProt | UniProt_search, UniProt_get_function_by_accession | Protein function |
| OpenTargets | OpenTargets_get_associated_drugs_by_target_ensemblID | Drug associations |
| CIViC | civic_search_genes, civic_get_variants_by_gene | Clinical evidence |
| cBioPortal | cBioPortal_get_mutations | Mutation prevalence |
| FDA | FDA_get_indications_by_drug_name | Drug labels |
| DrugBank | drugbank_get_drug_basic_info_by_drug_name_or_id | Drug info |
| ChEMBL | ChEMBL_get_drug_mechanisms | Drug mechanisms |
| ClinicalTrials.gov | search_clinical_trials | Active trials |
| PubMed | PubMed_search_articles | Literature evidence |
| Reactome | Reactome_map_uniprot_to_pathways | Pathway context |
| GTEx | GTEx_get_median_gene_expression | Expression data |

---

## Completeness Checklist

- [ ] Gene resolved to Ensembl, UniProt, and Entrez IDs
- [ ] Clinical variant evidence queried (CIViC or alternative)
- [ ] Mutation prevalence assessed (cBioPortal, at least 1 study)
- [ ] At least 1 therapeutic option identified with evidence tier, OR documented as "no targeted therapy available"
- [ ] FDA label information retrieved for recommended drugs
- [ ] Resistance mechanisms assessed (known patterns + literature search)
- [ ] At least 3 clinical trials listed, OR "no matching trials found"
- [ ] Prognostic literature searched
- [ ] Pathway context provided (Reactome)
- [ ] Executive summary is actionable (says what to DO)
- [ ] All recommendations have source citations
- [ ] Evidence tiers assigned to all findings

Evidence Grading System

TierSymbolCriteriaExamples
T1[T1]FDA-approved therapy, Level A CIViC evidence, phase 3 trialOsimertinib for EGFR T790M
T2[T2]Phase 2/3 clinical data, Level B CIViC evidenceCombination trial data
T3[T3]Preclinical data, Level D CIViC, case reportsNovel mechanisms, in vitro
T4[T4]Computational prediction, pathway inferenceDocking, pathway analysis

Clinical Actionability Scoring

ScoreCriteria
HIGHFDA-approved targeted therapy exists for this exact mutation + cancer type
MODERATEApproved therapy exists for different cancer type with same mutation, OR phase 2-3 trial data
LOWOnly preclinical evidence or pathway-based rationale
UNKNOWNInsufficient data to assess actionability

Fallback Chains

Primary ToolFallbackUse When
CIViC variant lookupPubMed literature searchGene not found in CIViC (search doesn't filter)
OpenTargets drugsChEMBL drug searchNo OpenTargets drug hits
FDA indicationsDrugBank drug infoDrug not in FDA database
cBioPortal TCGA studycBioPortal pan-cancerSpecific cancer study not available
GTEx expressionEnsembl gene lookupGTEx returns empty
Reactome pathwaysUniProt functionPathway mapping fails

Tool Reference (Verified Parameters)

Gene Resolution

ToolParametersResponse Key Fields
MyGene_query_genesquery (required), specieshits[].symbol, hits[].ensembl.gene, hits[].entrezgene
UniProt_searchquery (required), organism, limitresults[].accession, results[].gene_names
OpenTargets_get_target_id_description_by_nametargetName (required)data.search.hits[].id (ensemblId)
ensembl_lookup_genegene_id (required), species (REQUIRED: 'homo_sapiens')data.id, data.display_name, data.version

Clinical Evidence

ToolParametersResponse Key Fields
civic_search_genesquery, limitdata.genes.nodes[].id, .name, .entrezId
civic_get_variants_by_genegene_id (required, CIViC numeric), limitdata.gene.variants.nodes[].id, .name
civic_get_variantvariant_id (required)data.variant.id, .name
civic_get_molecular_profilemolecular_profile_id (required)data.molecularProfile.id, .name

Mutation Prevalence

ToolParametersResponse Key Fields
cBioPortal_get_mutationsstudy_id, gene_listdata[].proteinChange, .mutationType, .sampleId (wrapped in {status, data})
cBioPortal_get_cancer_studieslimit[].studyId, .name, .cancerTypeId
cBioPortal_get_molecular_profilesstudy_id (required)[].molecularProfileId, .molecularAlterationType

Drug Information

ToolParametersResponse Key Fields
OpenTargets_get_associated_drugs_by_target_ensemblIDensemblId (required), sizedata.target.knownDrugs.rows[].drug.name, .isApproved, .mechanismOfAction
OpenTargets_get_drug_chembId_by_generic_namedrugName (required)data.search.hits[].id (ChEMBL ID), .name
FDA_get_indications_by_drug_namedrug_name, limitresults[].indications_and_usage, .openfda.brand_name
FDA_get_mechanism_of_action_by_drug_namedrug_name, limitresults[].mechanism_of_action
FDA_get_boxed_warning_info_by_drug_namedrug_name, limitresults[].boxed_warning
drugbank_get_drug_basic_info_by_drug_name_or_idquery, case_sensitive, exact_match, limit (ALL required)results[].drug_name, .drugbank_id, .description
ChEMBL_get_drug_mechanismsdrug_chembl_id__exact (required), limitdata.mechanisms[]
drugbank_get_pharmacology_by_drug_name_or_drugbank_idquery, case_sensitive, exact_match, limit (ALL required)results[].pharmacology

Clinical Trials

ToolParametersResponse Key Fields
search_clinical_trialsquery_term (required), condition, intervention, pageSizestudies[].NCT ID, .brief_title, .overall_status, .phase

Literature & Pathways

ToolParametersResponse Key Fields
PubMed_search_articlesquery (required), limit, include_abstractReturns list of [{pmid, title, authors, journal, pub_date, doi, abstract}] (NOT wrapped in dict)
Reactome_map_uniprot_to_pathwaysid (required, UniProt accession)Pathway mappings
GTEx_get_median_gene_expressiongencode_id (required), operation="median"Expression by tissue
UniProt_get_function_by_accessionaccession (required)Protein function
UniProt_get_disease_variants_by_accessionaccession (required)Disease variants

Common Use Cases

Use Case 1: Oncologist Evaluating Treatment Options

Input: "EGFR L858R in lung adenocarcinoma"

Expected Output: Report showing osimertinib as 1st-line [T1], with FDA label details, resistance pattern (T790M), clinical trials for combination therapies, and prognostic context.

Use Case 2: Molecular Tumor Board Preparation

Input: "BRAF V600E, colorectal cancer"

Expected Output: Report noting that BRAF V600E is actionable in melanoma but requires combination therapy in CRC (encorafenib + cetuximab), with different resistance patterns than melanoma.

Use Case 3: Clinical Trial Matching

Input: "KRAS G12C, any cancer type"

Expected Output: Report with sotorasib/adagrasib as approved options [T1], comprehensive trial listing for KRAS G12C inhibitors, resistance patterns (Y96D, etc.), and mutation prevalence across cancer types.

Use Case 4: Resistance Mechanism Investigation

Input: "EGFR T790M after osimertinib failure"

Expected Output: Report focused on C797S resistance mutation, available 4th-generation TKI trials, amivantamab/lazertinib combinations, and bypass pathway mechanisms (MET amplification, HER2 activation).

Use Case 5: VUS Interpretation

Input: "PIK3CA E545K"

Expected Output: Report showing this is a known hotspot oncogenic mutation (not a VUS), with alpelisib as FDA-approved therapy for HR+/HER2- breast cancer, and prevalence data across cancer types.


Quantified Minimums

SectionRequirement
Gene IDsAt least Ensembl + UniProt resolved
Clinical evidenceCIViC queried + PubMed literature search
Mutation prevalenceAt least 1 cBioPortal study
Therapeutic optionsAll approved drugs listed (OpenTargets) + FDA label for top drugs
ResistanceLiterature search performed + known patterns documented
Clinical trialsAt least 1 search query executed
Prognostic impactPubMed literature search performed
Pathway contextReactome pathway mapping attempted

See Also

  • QUICK_START.md - Example usage and quick reference
  • TOOLS_REFERENCE.md - Detailed tool parameter reference
  • EXAMPLES.md - Complete example reports

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.55%
按下载量换算33

Claude

33.46%
按下载量换算33

Cursor

17.46%
按下载量换算17

Gemini CLI

10.57%
按下载量换算10

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills