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 a meta-analysis topic before any protocol exists. Starts from a professor's publication profile or from a clinical question, finds gaps, assesses feasibility and returns a ranked topic list. Running the review itself is /meta-analysis.
$ npx -y skills add Aperivue/medsci-skills --skill ma-scout --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ma-scoutContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when looking for a meta-analysis topic before any protocol exists. Starts from a professor's publication profile or from a clinical question, finds gaps, assesses feasibility and returns a ranked topic list. Running the review itself is /meta-analysis.
name: ma-scout description: Use when looking for a meta-analysis topic before any protocol exists. Starts from a professor's publication profile or from a clinical question, finds gaps, assesses feasibility and returns a ranked topic list. Running the review itself is /meta-analysis. model: opus metadata: triggers: "ma-scout, MA 주제 찾기, professor MA, 메타분석 주제, MA gap, topic-first MA, 트렌드 MA, meta-analysis topic, 교수님 분석, 연구 분석"
This skill handles the **pre-protocol phase** of a meta-analysis — from idea to ranked topic list. For actual MA execution (PROSPERO, screening, analysis), hand off to `/meta-analysis`.
| Signal | Mode | |--------|------| | Professor name or profile URL provided | **A: Professor-first** | | Clinical question, keyword, trend, or "find me a topic" | **B: Topic-first** | | Both supplied (e.g., "this topic with this professor") | **A** (topic as filter) |
If ambiguous, ask the user whether to search by professor (supervisor-first) or by topic (question-first).
Scholar, ORCID); PubMed author link (preferably with cauthor_id for disambiguation); known specialty; affiliation history (e.g., "Hospital A → Hospital B → retired")
prognostic, intervention — optional); desired role (solo first author / co-first / supervisor-matched)
> **Mode A (Professor-first):** Phase 0 → 1 → 2 → 3 → 4 → 5 > **Mode B (Topic-first):** T-Phase 0 → T-1 → T-2 → T-3 → T-4 → T-5 > Phase 2 (MA Gap Analysis) and Phase 4 (README template) are shared between both modes.
Query PubMed with `/search-lit`'s E-utilities scripts, not WebFetch — they are faster and return structured JSON/XML: `${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh` and `parse_pubmed.py` beside it. Rate limit: 350 ms between calls (100 ms with `NCBI_API_KEY`).
Resolve the author's identity BEFORE any PubMed search:
1. **Resolve the full English name first.** If a cauthor_id is provided, fetch that PMID page to get the full name + affiliation. NEVER start with an initials-only search, because common Korean/Asian initials (e.g., "Lee KS") return 300+ papers with massive contamination. The first search must be `"[Full Name]"[Author]`. 2. **Confirm the affiliation chain with the user.** Ask whether `{detected affiliation}` matches the professor's history (professors move institutions — do not assume), and ask the user's relationship to the professor so topic proposals can be tuned. Skip only if the user already gave an explicit affiliation history. 3. **Profile URL fallback chain:**
**Goal:** Identify the professor's 5-6 distinct research pillars.
**Step 1 — Total publication count + PMID list:**
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
'"[Full Name]"[Author]' 200 \
| python3 ${CLAUDE_SKILL_DIR}/../search-lit/references/parse_pubmed.py esearchIf the parser exits non-zero (an error body, or no `count`), the count is unknown — re-run the search; never record it as 0 papers or 0 MAs.
**Step 2 — Fetch metadata for MeSH-based clustering (parallel):**
# Get PMIDs from Step 1, then fetch summaries
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh fetch_json \
"PMID1,PMID2,..." \
| python3 ${CLAUDE_SKILL_DIR}/../search-lit/references/parse_pubmed.py esummary**Step 3 — Topic-specific counts (launch 4-5 searches in parallel Bash calls):**
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
'"[Full Name]"[Author] AND "keyword1"' 5
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh search \
'"[Full Name]"[Author] AND "keyword2"' 5
# ... repeat for each suspected pillar keyword**Step 4 — MeSH term extraction for automatic pillar clustering:**
# Fetch full XML for top-cited papers to extract MeSH headings
bash ${CLAUDE_SKILL_DIR}/../search-lit/references/pubmed_eutils.sh fetch \
"PMID1,PMID2,...,PMID20" \
| python3 -c "
import sys, xml.etree.ElementTree as ET
from collections import Counter
root = ET.fromstring(sys.stdin.read())
mesh_counts = Counter()
for article in root.findall('.//PubmedArticle'):
for mh in article.findall('.//MeshHeading/DescriptorName'):
mesh_counts[mh.text] += 1
for term, count in mesh_counts.most_common(30):
print(f'{count:3d} {term}')
"→ Top MeSH terms reveal natural research pillars (e.g., "Colonography, Computed Tomographic" = CTC pillar).
**Step 5 — Google Scholar profile (parallel with PubMed calls):** WebSearch `"[Full Name]" radiology scholar google` for h-index and citation data; WebFetch any other profile URL the user provided (skip Scopus).
**Output: Pillar Summary Table.** Publication counts and pillar assignments come from E-utilities output and the h-index from the Scholar profile — never estimate them.
| Pillar | Domain | Representative keywords | MeSH terms | Est. # papers | |--------|--------|-------------------------|-----------|---------------| | 1 | ... | ... | ... | ~N+ |
**Goal:** For each pillar, determine if a viab
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…