academic-aio
Use when a medical AI paper should be found and cited by AI search engines and RAG tools. Optimizes the title, abstract, summary…
Use when looking for research topics a longitudinal cohort database can answer (NHIS, UK Biobank, an institutional EMR or registry). Profiles the cohort, matches PI expertise, scans literature saturation and returns ranked topic proposals with gap evidence.
$ npx -y skills add Aperivue/medsci-skills --skill find-cohort-gap --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/find-cohort-gapContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when looking for research topics a longitudinal cohort database can answer (NHIS, UK Biobank, an institutional EMR or registry). Profiles the cohort, matches PI expertise, scans literature saturation and returns ranked topic proposals with gap evidence.
name: find-cohort-gap description: Use when looking for research topics a longitudinal cohort database can answer (NHIS, UK Biobank, an institutional EMR or registry). Profiles the cohort, matches PI expertise, scans literature saturation and returns ranked topic proposals with gap evidence. model: opus metadata: triggers: "cohort gap, research topic, DB 주제, 코호트 갭, gap analysis, 연구주제 찾기, find research gap, 주제 발굴"
Output directory: user-specified (default: current working directory).
The cohort does not have to be one this skill has heard of. Route on what the user actually has.
| The user has… | Do this | |---------------|---------| | A **named public cohort** (NHIS, UK Biobank, KNHANES, …) | Fill the profile from published documentation. Cite the source for every field. | | A **codebook / data dictionary / CSV export** of their own registry or EMR extract | Run the input adapter below. This is the common case — an institutional registry or single-centre export that no public documentation describes. | | A **review, guideline, or preprint** defining the clinical domain | Attach it as domain context (`--context`), as a file or a URL. |
python3 "${CLAUDE_SKILL_DIR}/scripts/build_cohort_profile.py" \
--codebook data_dictionary.csv \
--context narrative_review.pdf --context https://example.org/guideline \
--cohort-name "Institutional CT registry" --out-dir .Formats: `.csv` / `.tsv` / `.json` / `.md` / `.txt` (stdlib), `.xlsx` (needs `openpyxl`), `.pdf` (needs `pdftotext`). A `.csv` is auto-detected as a **codebook** (rows are variables) or a **data export** (the header row is the variable list). Writes `cohort_profile.md` + `cohort_profile.json` (+ `context_extract.md`).
**Do not read the codebook yourself and summarise it.** A paraphrased, merged, or invented variable poisons every downstream claim — the intersection matrix, the feasibility gate, and eventually the manuscript's Methods. The adapter enumerates variables verbatim with provenance (`file:row`). Read `cohort_profile.md`; do not re-derive it.
The adapter infers, and shows its work for, the **variable cluster map**, **serial / repeated-measure groups** (evidence for P1 Longitudinal Advantage), and **endpoint candidates** (evidence for P2 Endpoint Upgrade). A variable matching no cluster keyword is left `unclassified` — review those, since the lexicon is not exhaustive.
A codebook does not state any of the following; each is emitted as `[UNKNOWN - ask the user]`:
1. **Sample size** (N at baseline, N with follow-up) 2. **Time span** (enrollment period, follow-up duration, measurement intervals) 3. **Known limitations** (healthy volunteer bias, attrition, missing-data patterns) 4. **Existing publications** from this cohort (to avoid duplicating them) 5. **IRB status and data-access route**
Collect these from the user before Phase 2, because a guessed N flows into the Phase 5 feasibility gate and makes it pass or fail for a reason unrelated to the cohort. Also confirm the **setting** (institution type, country, population type) and any **special strengths** the variable names cannot reveal — registry linkage, biobank availability, a distinctive population.
**Gate:** Present the cohort profile summary, including the `[UNKNOWN]` list and the unclassified variables. Confirm before proceeding.
Profile the intended PI or corresponding author to find topic-expertise alignment. If no PI is specified, skip this phase and use variable clusters alone in Phase 2.
1. **Search PubMed** for the PI's recent publications (last 5 years) with `/search-lit`'s E-utilities script: `bash "${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh" search "AuthorLastName AuthorFirstInitial[Author]" 30` Extract top keyword clusters from titles/abstracts. 2. **Identify specialty signals**: academic society positions (president, board member, editor), subspecialty focus areas, preferred journal tiers. 3. **Build a PI keyword map**: 5-10 keyword clusters ranked by publication frequency.
**Output:** PI profile card (name, affiliation, top keywords, society roles, preferred journals).
Cross cohort variable clusters with PI expertise to generate candidate topics.
Create a matrix: rows = DB variable clusters, columns = PI keyword clusters. Score each cell 0-3:
1. Extract all cells scoring 2-3 as primary candidates. 2. For cells scoring 1, apply the **A-B substitution test**: "Has someone published [this analysis] with [a different exposure/outcome] in a similar cohort?" If yes, substituting the PI's specialty variable creates a viable candidate. 3. Generate 20-40 candidate topic statements in PICO format — **P** population from the cohort, **E** exposure/predictor variable(s), **C** comparison group, **O** outcome (preferably hard endpoint).
Before saturation scanning, identify the intended first author's department/specialty. The primary exposure variable must belong to that discipline (e.g., radiology first author → imaging variable as the primary exposure). **Kill candidates where the primary exposure is outside the first author's discipline** — a strong PI match alone is insufficient if the first author cannot claim ownership of the core variable.
**Gate:** Present the intersection matrix and top 20 candidates (post-discipline filter). User selects 8-12 for saturation scanning.
For each selected candidate, determine how saturated the literature is.
Created & maintained by Yoojin Nam, MD Department of Radiology and Research Institute of Radiology, University of Ulsan College of Medicine, Asan Medical Center, Seoul, Republic of Korea MedSci Skills is a set of Agent Skills for clinical research: literature
Use when a medical AI paper should be found and cited by AI search engines and RAG tools. Optimizes the title, abstract, summary…
Use when a target journal has no profile yet. Reads the journal's author guidelines and writes a detailed /write-paper profile…
Use when data needs statistical analysis. Runs reproducible Python/R code for Table 1, diagnostic accuracy, agreement,…
Use when analyzing a researcher's publication record from PubMed. Fetches an author's papers, classifies study types and author…
Use when one validated cohort analysis must be repeated across many exposure/outcome pairs. Generates one R/Python script per…