$npx -y skills add QSong-github/DrugClaw --skill gdkdQuery the Gene-Drug Knowledge Database (GDKD) for variant-specific gene–drug associations in oncology. Use when the user asks about cancer genomic biomarkers, drug sensitivity/resistance by gene or variant, targetable mutations, or clinical evidence for cancer therapeutics.
| 1 | # GDKD Query Skill |
| 2 | |
| 3 | Search canonical GDKD rows by drug or gene entity. |
| 4 | Auto-detects input type by pattern: |
| 5 | |
| 6 | | Input Pattern | Detected As | Match Logic | |
| 7 | |---|---|---| |
| 8 | | `ABL1`, `EGFR` | Gene symbol | substring on `gene` | |
| 9 | | `imatinib`, `erlotinib` | Drug name | substring on `drug` | |
| 10 | | anything else | Free text | substring on `drug` OR `gene` | |
| 11 | |
| 12 | ## API |
| 13 | |
| 14 | | Function | Input | Returns | |
| 15 | |---|---|---| |
| 16 | | `load_gdkd(path)` | CSV path | `list[dict]` | |
| 17 | | `search(rows, entity)` | single entity string | `list[dict]` | |
| 18 | | `search_batch(rows, entities)` | list of entity strings | `dict[str, list[dict]]` | |
| 19 | | `summarize(hits, entity)` | rows + label | compact text | |
| 20 | | `to_json(hits)` | rows | `list[dict]` | |
| 21 | |
| 22 | ## Usage |
| 23 | |
| 24 | See `if __name__ == "__main__"` block in `example.py` for runnable |
| 25 | examples. |
| 26 | |
| 27 | ## Data |
| 28 | |
| 29 | - **Source**: GDKD normalized full-package output |
| 30 | - **Paper**: Dienstmann et al., *Cancer Discovery* 2015;5(2):118-123 |
| 31 | - **Format**: CSV |
| 32 | - **Columns**: `drug`, `gene`, `score`, `source` |
| 33 | - **Path**: `resources_metadata/dti/GDKD/gdkd.csv` (default `DATA_PATH` in `example.py`) |