Install
openclaw skills install disease-drug-intelligenceA disease-to-innovative-drug analysis skill for biomedical question answering. It is used to answer questions such as "What innovative, cutting-edge, pipeline, or novel-mechanism drugs exist for a given disease?" and produces an integrated evidence report covering disease, targets, drugs, clinical progress, and mechanism trends. It is designed for multi-database querying, normalization, innovation filtering, and structured report generation using local adapters for ChEMBL, ClinicalTrials, and Search.
openclaw skills install disease-drug-intelligenceConvert natural-language questions such as "What noteworthy new drugs have recently emerged for Alzheimer's disease?" into executable multi-database query plans. Generate a decision-oriented English comprehensive report rather than a simple list of drug names.
disease_to_drug scenario.local_tools/ code for database queries.For detailed data structures, routing rules, scoring logic, and the report template, see disease_to_drug_playbook.md.
This skill no longer depends on a BioDB MCP HTTP service.
For any ChEMBL, ClinicalTrials, or Search call, only use the local Python code bundled in the current skill directory:
local_tools/chembl_api.pylocal_tools/clinicaltrials_api.pylocal_tools/search_api.pylocal_tools/run_tool.shRecommended commands:
bash local_tools/run_tool.sh chembl_api.py search_target EGFR
bash local_tools/run_tool.sh chembl_api.py search_molecule osimertinib
bash local_tools/run_tool.sh chembl_api.py get_drug_by_id CHEMBL3545063
bash local_tools/run_tool.sh clinicaltrials_api.py get_studies --query-cond "lung cancer" --fields NCTId BriefTitle OverallStatus
bash local_tools/run_tool.sh search_api.py "latest EGFR inhibitor approval"
Execution constraints:
local_tools/ modules or executing them through bash local_tools/run_tool.sh .... Do not assume services such as http://127.0.0.1:8086 exist.python commands directly. Always use run_tool.sh to resolve the available interpreter. run_tool.sh prefers python3 and only falls back to python if needed.Search is needed, confirm that langchain_tavily is installed and the TAVILY_API_KEY environment variable is set.ChEMBL, ClinicalTrials, and Search. Ignore any other database descriptions that are not implemented in this skill.Search may only be executed via bash local_tools/run_tool.sh search_api.py ... or SearchAPI.run(query). Do not bypass the local tool and call an external web search directly.Search tool is unavailable or insufficient may external web search be used as a final fallback. Otherwise it is forbidden.Trigger this skill when the user question contains both of the following:
If the request is overly broad, such as "innovative drugs for cancer," first suggest narrowing the disease type. If the user does not want to narrow it, default to a top cancer types plus top mechanisms overview.
Construct a task object such as:
{
"task_type": "disease_to_drug",
"focus": "innovative_drugs",
"disease_raw": "diabetes",
"time_constraint": null,
"region_constraint": null,
"stage_constraint": null
}
Output canonical_disease, subtypes, aliases, and preferred_query_terms.
If the user does not specify a subtype, first analyze the overall disease, then emphasize more active R&D subtypes, for example prioritizing T2DM under diabetes.
Map "innovative drugs" into executable criteria:
Always execute these five subtasks:
identify_targets_and_mechanismsretrieve_representative_drugsbuild_drug_profilesvalidate_clinical_progresssummarize_trendsDefault order:
ChEMBL(target/mechanism)ChEMBL(molecule/drug/indication)ClinicalTrialsSearch, only through local search_api.py, and only when ChEMBL and ClinicalTrials evidence is insufficient or recent updates need verificationNotes:
ChEMBL, ClinicalTrials, and Search have been switched to local adapter code.Primary keys in priority order:
ChEMBL ID > standard drug name > ClinicalTrials interventiongene symbol or standard target name > aliasAlways preserve aliases and dosage-form information to avoid incorrect merges, such as different semaglutide formulations.
Score from 0 to 5 and rank comprehensively across:
disease_relevanceinnovationclinical_maturityevidence_strengthrepresentativenessOutput must be tiered into:
Before generating the report, first read ## 10. English Report Template in references/disease_to_drug_playbook.md.
By default, the final report must strictly follow that template. Do not produce a free-form answer that merely "covers the same topics." The section order, first-level numbering, and main title skeleton must remain unchanged:
{Disease Name} Innovative Drug Analysis Report1. Problem Overview2. Executive Summary3. Key Disease-Related Targets and Mechanisms4. Representative Innovative Drug List5. Clinical Trial Progress Overview6. R&D Trends and Assessment7. Result Notes and LimitationsOnly if the user explicitly asks for a brief version, summary version, table version, or another specific format may you deviate from the standard template. Otherwise you must use it.
10.time_constraint=null and region_constraint=global, then state this explicitly in the report.ChEMBL plus local ClinicalTrials, and only then supplement. Do not reverse the order.ChEMBL capability set, prefer search_target, search_molecule, get_drug_by_id, get_molecule_by_id, get_target_by_id, get_mechanism, and get_drug_indication.ClinicalTrials capability set, prefer get_studies and get_study.Search capability set, always use SearchAPI.run(query). If dependencies or API keys are missing, state in the result that supplementary retrieval could not be executed, and do not automatically switch to external web search.bash local_tools/run_tool.sh <tool.py> .... Do not write python <tool.py> ... directly.KEGG, UniProt, STRING, Ensembl, PubChem, PDB, or any other database instructions not included in the current code layer.## 10. English Report Template exactly. If they do not, rewrite before sending.