This week
Weekly LLM-curated digest of pipeline moves, readouts, guideline changes, and the prompts that generate them.
Generate a weekly brief
Copy into Gemini / Perplexity / Claude with a date range, then paste the markdown below.
You are a dermatologic-therapeutics research analyst. Produce a
concise weekly brief for {YYYY-MM-DD} through {YYYY-MM-DD}.
Scope: psoriasis, atopic dermatitis, alopecia areata, vitiligo,
hidradenitis suppurativa, and acne vulgaris.
Include only items with a verifiable primary source:
- FDA approvals, label expansions, or safety communications
(fda.gov, dailymed.nlm.nih.gov)
- EMA, PMDA, or Health Canada actions (their regulator sites)
- Clinical trial readouts (Phase 2 or later) with a
ClinicalTrials.gov record or peer-reviewed publication
- Guideline updates from AAD, EADV, BAD, GRAPPA, ACR
- Drug Safety Communications / MedWatch alerts relevant to derm
Exclude:
- Press releases without primary data
- Paywalled trade publications you cannot verify
- Non-dermatologic indications unless they change the safety profile
of a drug already used in derm
Output markdown. Group into three sections:
**Approvals**, **Trial readouts**, **Guideline / safety updates**.
For each item, 2–4 lines:
**Drug (brand)** — event · date
Source: <URL>
Why it matters: <one sentence>.
If you can't find a primary source for a claim, omit the claim.Paste the weekly brief
Add drugs, MOA diagrams, guidelines
Copy a prompt into your LLM, then paste the output into the referenced code file and commit. Drugs and MOA diagrams live in code so every addition is reviewable.
Add a drug to the table
Produces a SeedDrug object for lib/seed-data.ts
You are a dermatologic-pharmacology research analyst. Produce a
single TypeScript object literal matching the SeedDrug type below for the
drug: {DRUG_NAME}.
type SeedDrug = {
name: string; // lowercase INN (e.g. "dupilumab")
brand?: string; // e.g. "Dupixent"
modality: string; // "mAb (human IgG4)" | "small molecule (oral)"
// | "small molecule (topical)" | "peptide" | ...
moa: string; // ONE sentence starting with an action verb
targets: string[]; // HGNC symbols (e.g. IL4R, IL17A, JAK1, TYK2, AHR)
approved: {
indication: string;
regulator: "FDA" | "EMA" | "PMDA" | "HC";
year: number;
}[];
inTrial: string[]; // derm indications currently in Phase 2+
bbw?: string[]; // black-box warnings (short phrases)
pregnancy?: string; // one sentence
storage: string; // "refrigerated 2–8 °C" | "room temperature"
monitoring: string[]; // labs / screenings
sourceUrl: string; // DailyMed or FDA label URL
lastVerified: string; // today, YYYY-MM-DD
};
Rules:
- Verify every approval against FDA drugs@FDA, DailyMed, EMA EPAR, PMDA,
or Health Canada DPD. Put that URL in sourceUrl.
- Use lowercase INN for `name`.
- Follow the modality convention of existing seed entries (see
lib/seed-data.ts in the repo).
- Omit optional fields you cannot verify from a primary source.
- Only list derm-relevant approvals and trials.
Output ONLY the object literal. No imports, no commentary, no code fences.
Example of the shape you should produce:
{
name: "dupilumab",
brand: "Dupixent",
modality: "mAb (human IgG4)",
moa: "Blocks IL-4Rα — dual IL-4 and IL-13 signaling",
targets: ["IL4R"],
approved: [
{ indication: "atopic dermatitis", regulator: "FDA", year: 2017 },
],
inTrial: ["chronic spontaneous urticaria"],
storage: "refrigerated 2–8 °C",
monitoring: ["baseline eye exam if conjunctivitis history"],
sourceUrl: "https://dailymed.nlm.nih.gov/dailymed/...",
lastVerified: "2026-04-18",
}
Add a mechanism-of-action diagram
Produces a MoaDiagram entry for lib/moa-data.ts
Produce a single TypeScript key-value entry for the `moaDiagrams` record
in lib/moa-data.ts, matching the MoaDiagram shape for: {DRUG_NAME}. Use
7–11 nodes distributed across the cell compartments below.
type MoaCompartment =
| "extracellular" // above the cell
| "membrane" // on the plasma membrane
| "cytoplasm" // inside the cell, outside the nucleus
| "nucleus" // inside the nucleus
| "outcome"; // below the cell — cellular effects + clinical phenotype
type MoaNodeKind =
| "drug" | "target" | "signaling" | "effector" | "cellular" | "phenotype";
type MoaEdgeType =
| "binds" | "inhibits" | "blocks" | "activates"
| "drives" | "promotes" | "reduces" | "causes";
type MoaNode = {
id: string; // short camelCase
label: string; // use \n for line breaks; keep ~30 chars/line
kind: MoaNodeKind;
layer: number; // 0 (drug) → 6 (phenotype); used for ordering
compartment?: MoaCompartment; // ALWAYS set explicitly (don't rely on inference)
};
type MoaEdge = {
source: string;
target: string;
type: MoaEdgeType;
negated?: boolean; // true if the drug blocks / reverses this edge
};
type MoaDiagram = {
drug: string; // must match a SeedDrug.name
sourceRef?: string; // "FDA label + one mechanistic review"
nodes: MoaNode[];
edges: MoaEdge[];
};
Compartment rules (always set explicitly):
- mAb or peptide drug → compartment: "extracellular"
- Small-molecule oral/topical → compartment: "cytoplasm"
(unless nuclear-acting, then "nucleus")
- Cytokine target (IL-17A, IL-23, TNF-α, IL-13, IL-31…) → "extracellular"
- Receptor target (IL-4Rα, IL-17RA, TNFR, IL-23R…) → "membrane"
- Kinase target (JAK1, JAK2, TYK2, PDE4, …) → "cytoplasm"
- Nuclear receptor (AhR, PPAR) → "nucleus"
- Transcription factor / STAT / NF-κB (pre-translocation) → "cytoplasm"
- Output cytokines released by the cell → "extracellular"
- Cellular effect + clinical phenotype → "outcome"
Mark edges that the drug blocks/reverses with "negated": true.
Cite the FDA label + one mechanistic review in sourceRef.
Output ONLY the single key-value entry, e.g.:
upadacitinib: {
drug: "upadacitinib",
sourceRef: "Rinvoq label (FDA 2024); Schwartz Nat Rev Rheumatol 2017",
nodes: [
{ id: "drug", label: "upadacitinib\n(JAK1-selective)", kind: "drug", layer: 0, compartment: "cytoplasm" },
...
],
edges: [
{ source: "drug", target: "JAK1", type: "inhibits" },
...
],
}
Save a guideline reference
Produces markdown to drop into a guideline roster
Give the URL and metadata for the current guideline for {CONDITION}
published by {ORGANIZATION} (AAD, EADV, BAD, GRAPPA, ACR, AAAAI, NCCN,
Cochrane Skin).
Verify the link resolves to the organization's own site or a DOI. Do not
cite news articles, press releases, or secondary summaries.
Output markdown in this exact shape (no extra commentary):
**<Title>** — <organization>, <year>
URL: <direct PDF or HTML link>
Scope: <one sentence describing what the guideline covers>
Replaces: <prior version if applicable, otherwise "—">
Notes: <one sentence on any major changes from the prior version>