Skill for curating cancer and neoplastic disease entries in the dismech knowledge base. Use this skill when creating or enhancing cancer entries, adding oncogene/tumor suppressor pathophysiology, curating histopathology findings, adding targeted therapy information, and linking genetic drivers to treatment responses. Covers fusion genes, two-hit hypothesis, oncogene addiction, and precision oncology concepts.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add monarch-initiative/dismech --skill cancer-curator --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cancer Curator?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/monarch-initiative-cancer-curator)More formats (shields.io, HTML) on the badges page.
---
name: cancer-curator
description: >
Skill for curating cancer and neoplastic disease entries in the dismech knowledge base.
Use this skill when creating or enhancing cancer entries, adding oncogene/tumor suppressor
pathophysiology, curating histopathology findings, adding targeted therapy information,
and linking genetic drivers to treatment responses. Covers fusion genes, two-hit hypothesis,
oncogene addiction, and precision oncology concepts.
---
# Cancer Curation Skill
## Overview
Curate cancer and neoplastic disease entries in the dismech knowledge base with a focus on:
- Genetic drivers (oncogenes, tumor suppressors, fusion genes)
- Pathophysiology with causal chains
- Histopathology findings
- Targeted therapies and their molecular targets
- NCIT terms for biomarkers, gene products, and histologic findings
## When to Use
- Creating new cancer/neoplasm entries
- Adding genetic driver information (BCR-ABL, KIT, RET, RB1, etc.)
- Structuring pathophysiology as atomic processes with causal links
- Adding histopathology findings (grades, patterns, rosettes)
- Linking treatments to their molecular targets
- Adding CHEBI terms for chemotherapy drugs
- Adding NCIT terms for biomarkers and fusion proteins
When creating a new cancer or neoplasm entry, first run the duplicate preflight
from `initiate-new-disorder-creation`: check the latest `origin/main`
knowledgebase, all PRs, and all issues by MONDO ID, preferred label, and major
synonyms. Do not create a separate cancer entry if an existing KB file, PR, or
issue already covers the same disease concept.
## Granularity: which level gets its own entry?
Follow the **cancer granularity ladder** in design decisions §3a
(`docs/explanation/design-decisions.md`) — it is the ratified policy and
supersedes the older "molecular subtypes as discrete entities" framing in
`projects/CANCER.md`:
1. **Default entry level = histologic entity** (WHO blue-book / ICD-O level:
PDAC, SCLC, DLBCL) or **WHO/ICC molecularly defined entity** (IDH-wildtype
GBM, APL with PML::RARA, NPM1-mutant AML).
2. **Biomarker/therapy strata** (EGFR-mutant NSCLC, MSI-H CRC, TNBC): default
`has_subtypes`; a separate entry requires ≥2 stratum-specific
pathophysiology nodes AND a distinct first-line therapy/diagnostic pathway.
When promoted: `skos:narrowMatch` mondo_mapping if no exact MONDO term
exists (file an NTR), record overlap with non-disjoint sibling strata, add
the entry to a covering grouping, and leave a pointer subtype in the parent.
3. **Variant tiers** stay `has_subtypes` inside the stratum entry unless
therapy is variant-specific (KRAS G12C).
4. **Stage/metastasis is never an entry** — use `stages:` +
`conforms_to: "invasion_and_metastasis#..."`. Do not create `Metastatic_X`
files.
5. **Pathways/hallmarks are never entries** — modules + groupings.
6. **Germline predisposition syndromes** follow the Mendelian rules and stay
separate from the somatic cancers they predispose to.
## Mark the cell of origin (no new slot)
The cell of origin is **derived**, not stored: put a `genetic_context` carrying
`variant_origin: SOMATIC` on the pathophysiology node with the initiating
lesion, and the cell of origin is that node's `cell_types`.
```yaml
- name: BCR-ABL1 Fusion Oncogene Formation
genetic_context:
variant_origin: SOMATIC
functional_impact_category: GAIN_OF_FUNCTION
cell_types:
- preferred_term: hematopoietic stem cell
term:
id: CL:0000037
label: hematopoietic stem cell
```
- `role: trigger` marks nothing. `role` is free text with ~90 values in the KB,
and the derivation reads structured markers only.
- For a cancer with no host lesion to mark (HPV, H. pylori, asbestos, UV), the
marker is the `environmental[].influences_mechanisms` link carrying
`environmental_effect: TRIGGERS`. It only speaks when no lesion is recorded.
- Do **not** mark a microenvironment or chronic-inflammation node. Those bind
macrophage, Treg and fibroblast, which are where the tumor lives, not where it
came from.
- Deriving more than one cell of origin is a lump/split prompt, not a defect.
- NCIT asserts its own cell of origin (`NCIT:R104`) and transformed cell state
(`NCIT:R105`, the Abnormal Cell branch) per disease, quotable from
`references_cache/NCIT_*.md`. Useful as a cross-check and as evidence;
**never** as the `term:` of `cell_types`, which is CL-only.
```bash
just check-cancer-origin # summary + multi-origin worklist
just list-cancer-origin # per-entry census
```
Worked examples: `Chronic_Myeloid_Leukemia`, `Pancreatic_Ductal_Adenocarcinoma`.
Full guidance: `docs/cancer-cell-of-origin.md`.
## Cancer-Specific Schema Features
### Disease Stages (not Subtypes)
For cancers with disease phases (chronic → accelerated → blast crisis) — and
for localized vs. metastatic disease — use `stages` not `has_subtypes`:
```yaml
stages:
- name: Chronic Phase
description: >-
Initial indolent phase with <10% blasts. Most patients diagnosed here.
- name: Accelerated Phase
description: >-
Transitional phase with 10-19% blasts, additional cytogenetic abnormalities.
- name: Blast Crisis
description: >-
Terminal phase resembling acute leukemia with ≥20% blasts.
```
Use `has_subtypes` for true molecular/histologic subtypes (KIT-mutant vs PDGFRA-mutant GIST).
### Pathophysiology: Atomic Processes with Causal Chains
Split bundled pathway descriptions into atomic processes linked by `downstream` edges:
```yaml
pathophysiology:
- name: BCR-ABL1 Fusion Oncogene Formation
description: >-
The t(9;22) translocation creates the Philadelphia chromosome with
constitutively active BCR-ABL1 tyrosine kinase.
cell_types:
- preferred_term: hematopoietic stem cell
term:
id: CL:0000037
label: hematopoietic stem cell
gene_products:
- preferred_term: BCR-ABL1 fusion protein
term:
id: NCIT:C16325
label: BCR/ABL1 Fusion Protein
downstream:
- target: Constitutive Tyrosine Kinase Activation
description: BCR-ABL1 exhibits ligand-independent kinase activity
- name: Constitutive Tyrosine Kinase Activation
description: >-
BCR-ABL1 activates RAS-MAPK, PI3K-AKT, and JAK-STAT pathways.
biological_processes:
- preferred_term: protein tyrosine kinase activity
modifier: INCREASED
term:
id: GO:0004713
label: protein tyrosine kinase activity
downstream:
- target: Uncontrolled Myeloid Proliferation
description: Activated signaling drives excessive myeloid expansion
```
**Key principles:**
1. One mechanism per entry (not "Oncogenic Signaling" combining MAPK + PI3K)
2. Use `downstream` to connect cause → effect
3. Include `cell_types`, `biological_processes`, `locations` as appropriate
4. Add `gene_products` for fusion proteins/oncoproteins (NCIT terms)
### Histopathology Section
Use the dedicated `histopathology` section for microscopic findings:
```yaml
histopathology:
- name: Flexner-Wintersteiner Rosettes
finding_term:
preferred_term: Flexner-Wintersteiner rosette
term:
id: HP:0031927
label: Flexner-Wintersteiner rosette
frequency: FREQUENT
diagnostic: true
description: >-
Characteristic rosettes with central lumen surrounded by tumor cells
showing photoreceptor differentiation. Pathognomonic for retinoblastoma.
- name: Spindle Cell Morphology
finding_term:
preferred_term: Spindle Cell Pattern
term:
id: NCIT:C53643
label: Spindle Cell Pattern
frequency: VERY_FREQUENT
description: >-
Elongated cells arranged in fascicles. Typical of KIT-mutant GIST.
```
**Histopathology term sources:**
- NCIT:C35867 (Morphologic Finding) - patterns, dysplasia, necrosis
- NCIT:C18000 (Histologic Grade) - Fuhrman, Nottingham, GIST grades
- HP:0025461 (Abnormal cell morphology) - rosettes, inclusion bodies
### Biomarkers (NCIT)
Add `biomarker_term` to biochemical entries:
```yaml
biochemical:
- name: BCR-ABL1 Fusion Transcript
biomarker_term:
preferred_term: BCR-ABL1 fusion protein
term:
id: NCIT:C36715
label: BCR-ABL1 Fusion Protein Expression
notes: >-
RT-PCR or FISH detection is diagnostic and used for molecular monitoring.
```
### Gene Products (NCIT)
Add `gene_products` to pathophysiology for fusion proteins and oncoproteins:
```yaml
gene_products:
- preferred_term: BCR-ABL1 fusion protein
term:
id: NCIT:C16325
label: BCR/ABL1 Fusion Protein
```
Look up NCIT gene product terms:
```bash
uv run runoak -i sqlite:obo:ncit descendants NCIT:C26548 --predicates rdfs:subClassOf | grep -i "fusion\|kinase"
```
### Therapeutic Agents (CHEBI)
Add `therapeutic_agent` to treatments with CHEBI terms:
```yaml
treatments:
- name: Imatinib
description: First-generation TKI targeting BCR-ABL1.
treatment_term:
preferred_term: pharmacotherapy
term:
id: NCIT:C15986
label: Pharmacotherapy
therapeutic_agent:
- preferred_term: imatinib
term:
id: CHEBI:45783
label: imatinib
```
## Ontology Lookups
### NCIT Gene Products
```bash
# Search for fusion proteins
uv run runoak -i sqlite:obo:ncit search "fusion protein"
# Check specific term
uv run runoak -i sqlite:obo:ncit info NCIT:C16325
# Get descendants of Gene Product
uv run runoak -i sqlite:obo:ncit descendants NCIT:C26548 --predicates rdfs:subClassOf | head -50
```
### NCIT Histopathology
```bash
# Morphologic findings
uv run runoak -i sqlite:obo:ncit descendants NCIT:C35867 --predicates rdfs:subClassOf | head -50
# Histologic grades
uv run runoak -i sqlite:obo:ncit descendants NCIT:C18000 --predicates rdfs:subClassOf | head -50
```
### CHEBI Drugs
```bash
uv run runoak -i sqlite:obo:chebi search "imatinib"
uv run runoak -i sqlite:obo:chebi info CHEBI:45783
```
### HP Rosettes and Cell Morphology
```bash
uv run runoak -i sqlite:obo:hp descendants HP:0025461 --predicates rdfs:subClassOf | grep -i rosette
```
## Common NCIT Terms
### Fusion Proteins
| Term | ID | Cancer |
|------|-----|--------|
| BCR/ABL1 Fusion Protein | NCIT:C16325 | CML |
| Mast/Stem Cell Growth Factor Receptor Kit | NCIT:C17328 | GIST |
| Proto-Oncogene Tyrosine-Protein Kinase Receptor Ret | NCIT:C18539 | MTC |
### Biomarkers
| Term | ID | Use |
|------|-----|-----|
| BCR-ABL1 Fusion Protein Expression | NCIT:C36715 | CML monitoring |
| Calcitonin | NCIT:C2281 | MTC tumor marker |
| Carcinoembryonic Antigen | NCIT:C16384 | MTC, colorectal |
### Histologic Grades
| Term | ID | Cancer |
|------|-----|--------|
| Fuhrman Nuclear Grade | NCIT:C62411 | Renal cell carcinoma |
| GIST Histologic Grade | NCIT:C160731 | GIST |
| Nottingham Grade | NCIT:C138986 | Breast cancer |
### Morphologic Findings
| Term | ID | Finding |
|------|-----|---------|
| Spindle Cell Pattern | NCIT:C53643 | Elongated cell morphology |
| Low Mitotic Activity | NCIT:C35961 | <5 mitoses/50 HPF |
| Fleurette Formation | NCIT:C35950 | Retinoblastoma differentiation |
## Common CHEBI Drug Terms
### TKIs
| Drug | CHEBI ID |
|------|----------|
| imatinib | CHEBI:45783 |
| dasatinib | CHEBI:49375 |
| nilotinib | CHEBI:52172 |
| ponatinib | CHEBI:78543 |
| sunitinib | CHEBI:38940 |
### Chemotherapy
| Drug | CHEBI ID |
|------|----------|
| carboplatin | CHEBI:31355 |
| vincristine | CHEBI:27375 |
| etoposide | CHEBI:4911 |
| doxorubicin | CHEBI:28748 |
| cyclophosphamide | CHEBI:4026 |
## Cancer Tiers (from CANCER.md project)
### Tier 1: Paradigmatic Single-Gene Drivers
Clear driver mutations with targeted therapies:
- CML (BCR-ABL1) → imatinib
- GIST (KIT/PDGFRA) → imatinib/avapritinib
- MTC (RET) → selpercatinib
- ccRCC (VHL) → belzutifan
- Retinoblastoma (RB1) → two-hit paradigm
- Ewing Sarcoma (EWS-FLI1) → fusion transcription factor
### Tier 2: Hereditary Cancer Syndromes
Germline mutations with defined progression:
- Li-Fraumeni (TP53)
- FAP (APC)
- VHL disease
- MEN2 (RET)
- HBOC (BRCA1/2)
- NF1
### Tier 3: Molecular Subtype Cancers
- AML (FLT3, NPM1, IDH1/2)
- Colorectal (CMS subtypes)
- Breast (HER2+)
- Melanoma (BRAF)
- Glioblastoma (IDH-mutant vs wildtype)
## Validation Workflow
```bash
# 1. Schema validation
just validate kb/disorders/MyCancer.yaml
# 2. Term validation (NCIT, CHEBI, HP, CL, GO)
just validate-terms kb/disorders/MyCancer.yaml
# 3. Snippet check against the reference cache (seconds, offline)
just count-verified-snippets kb/disorders/MyCancer.yaml
# 4. Before opening the PR: the batched sweep CI runs (slow — once, not per edit)
just validate-disorders kb/disorders/MyCancer.yaml
# 5. Full QC
just qc
```
## Example: Creating a New Cancer Entry
1. **Run duplicate preflight** using `initiate-new-disorder-creation` Step 1.
Confirm the target is absent from the latest knowledgebase and not already
covered by any PR or issue.
2. **Start with deep research** (if available):
```bash
# Check for existing research
ls research/*MyCancer*.md
```
3. **Create YAML structure**:
- name, description, categories, parents
- disease_term (MONDO)
- has_subtypes or stages (as appropriate)
- pathophysiology (atomic, with causal chains)
- histopathology (if relevant)
- phenotypes
- biochemical (with biomarker_term)
- genetic
- treatments (with treatment_term + therapeutic_agent)
4. **Add evidence** for key claims (PMID references)
5. **Validate** all term bindings
## Integration with Other Skills
- **dismech-terms**: For general ontology term lookups (HP, CL, GO, MONDO)
- **dismech-references**: For evidence validation and PMID snippet checking
- **dismech-compliance**: For checking field coverage
## Project Tracking
Cancer curation is tracked in `projects/CANCER.md`. Update status after completing entries.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!