Communitygithub.com

relsa-severity-assessment

실험동물 연구에서 다변량 중증도 평가와 인도적 종말점 예측을 위한 RELSA 점수 및 ARIMA 기반 foRcast 예측을 구현합니다. 체중 변화, 체온, 임상 점수, 바이오마커 등 여러 지표를 통합하여 동물당 일일 중증도 점수를 산출하고, 인도적 종말점 도달 위험 동물을 사전에 식별합니다.

relsa-severity-assessment란 무엇인가요?

이 스킬은 실험동물 연구에서 법적으로 요구되는 중증도 평가를 체계적이고 정량적으로 수행할 수 있도록 설계되었습니다. Talbot et al.(2022)의 RELSA(상대적 중증도 평가) 방법과 Lutscher et al.(2026)의 foRcast 예측 방법을 구현하여, 여러 생리학적·행동학적 지표(체중, 체온, 임상 점수, 바이오마커, 활동량, 심박수 등)를 하나의 통합 점수로 결합합니다. RELSA 점수는 기준 집단 대비 상대적 중증도를 0(기준선)에서 1(최대 이탈) 사이로 정규화하며, foRcast는 ARIMA 시계열 모델을 사용하여 개별 동물의 RELSA 궤적을 예측하고 95% 예측 구간을 제공합니다. 또한 커널 밀도 추정을 통해 중증도 척도 상의 주의 구역과 위험 구역을 자동으로 제안하여, 연구자가 조기에 개입하거나 불필요한 안락사를 방지하도록 돕습니다. 이 스킬은 Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있으며, CSV 형식의 동물별 시계열 데이터를 입력으로 받아 RELSA 점수 계산, 종말점 예측, 중증도 구역 설정의 3단계 워크플로우를 제공합니다. 보고서 작성 시 필수로 명시해야 할 방향성, 기준 집합, 점수 매핑, 예측 신뢰도 등의 체크리스트도 포함되어 있어, 3Rs 원칙 및 EU Directive 2010/63/EU 준수를 위한 과학적 근거를 마련하는 데 적합합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/relsa-severity-assessment

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

RELSA 중증도 평가 및 인도적 종말점 예측

개요

동물 실험에서 중증도 평가는 법적으로 의무화되어 있으며 과학적으로도 매우 중요합니다. 이는 인도적 종말점 결정을 주도하고, 복지 모니터링이 불량하면 재현성이 떨어집니다. 일반적인 관행은 각 측정값을 개별적으로 평가합니다(여기서는 체중 감소, 저기서는 임상 점수). 이렇게 하면 개별 동물이 실제로 얼마나 나쁜 상태인지 말하기 어렵습니다.

이 스킬은 이러한 문제를 해결하는 두 가지 발표된 절차를 구현합니다.

  • RELSA (Talbot et al., 2022)는 여러 결과 측정값을 각 동물의 각 시점별 하나의 점수로 결합하며, 알려진 부담을 가진 기준 집합에 상대적으로 표현됩니다. RELSA = 0은 기준선이고, RELSA = 1은 동물이 기준 집합의 최대 편차에 도달했음을 의미합니다.
  • foRcast (Lutscher et al., 2026)는 개별 동물의 RELSA 궤적에 ARIMA 모델을 적합시키고 95% 예측 구간과 함께 다음 점수를 예측하여, 동물이 인도적 종말점에 도달하기 전에 식별할 수 있도록 합니다. RELSA 척도에 대한 커널 밀도 추정은 해석을 위한 후보 주의 및 위험 구역을 제공합니다.

핵심은 개선입니다: 위험에 처한 동물에게 더 일찍 주의를 기울이고, 회복되었을 동물을 안락사시키는 것을 피합니다. 두 절차 모두 중증도 평가를 돕는 도구이지 결정 규칙은 아닙니다. 자세한 내용은 경계 사항을 참조하십시오.

이 스킬을 사용해야 하는 경우

  • 체중 감소, 체온, 임상 점수, 바이오마커 또는 원격 측정 데이터를 단일 동물별 중증도 점수로 결합
  • 집단 내 어떤 동물이 인도적 종말점에 도달할 위험이 있는지 질문하거나, 다가오는 시점의 중증도 점수를 예측
  • 치료 그룹, 중재 또는 동물 모델 간의 중증도를 공통 상대 척도로 비교
  • 데이터로부터 중증도 척도의 임계값 또는 구역 정의
  • 동물 복지 보고서, 3Rs/개선 분석, 또는 EU Directive 2010/63/EU에 따른 신청서의 중증도 평가 섹션 작성

중증도 점수가 아닌 일반 시계열 예측에는 timesfm-forecasting 또는 statsmodels를 사용하십시오. 연구 설계 및 표본 크기에는 experimental-design 및 statistical-power를 사용하십시오.

설치

uv pip install "numpy>=1.26" "pandas>=2.0" "scipy>=1.11" "statsmodels>=0.14" matplotlib

relsa_score.py와 kde_thresholds.py는 numpy/pandas/scipy만 필요하며, 예측에는 statsmodels, 그림에는 matplotlib가 필요합니다.

데이터 형식

CSV 파일에 각 동물의 각 시점별로 한 행씩 있어야 합니다.

idtreatmentconditiondaytempweightscoreil6
M01treatedendpoint-137.1525.17035.1
M01treatedendpoint037.2625.25039.5
M01treatedendpoint135.8323.124162.0
  • id와 시간 열(day, time, hour, …)은 필수이며, treatment와 condition은 그룹화 및 기준 집합 선택에 사용되는 선택적 레이블입니다.
  • 시간은 일, 시간 또는 분 단위일 수 있습니다. 각 동물에 대해 단조 증가해야 합니다. RELSA 규칙은 기준 시점을 -1로 코딩합니다.
  • 각 동물의 각 시점에 대해 한 행씩. 시간당 원격 측정 데이터는 먼저 하나의 구간 값으로 평균화합니다(발표된 모델은 심박수, HRV, 체온을 평균화하고 활동량을 합산합니다).
  • 누락된 측정값은 비워 둡니다. 점수에서 제외되며, 절대 대체되지 않습니다. 누락된 값을 "편차 없음"으로 처리하면 중증도가 낮게 편향됩니다.

assets/example_cohort.csv는 아래 모든 명령어에서 사용되는 소규모 합성 코호트(6마리 마우스, 9일, 체온, 체중, 0-8 임상 점수, IL-6 유사 바이오마커)이므로 각 명령어를 있는 그대로 실행할 수 있습니다.

결과를 결정하는 네 가지 결정 사항

이러한 결정을 명시적으로 내리고 방법론에 기록하십시오. 절차의 다른 어떤 것도 이것만큼 중요하지 않습니다.

1. 방향성 — 악화 시 어떤 변수가 상승합니까? 감소가 기본값입니다(체중, 활동량, 식이 섭취량, 굴 파기, 쳇바퀴 달리기). 상승하는 변수는 --turned로 선언해야 합니다: 임상 점수, 염증성 바이오마커, 발열, 빈맥. 이 값을 잘못 설정하면 변수가 아무것도 기여하지 않으며, "잘못된" 방향의 편차는 0으로 처리되기 때문에 조용히 무시됩니다. 체온은 모델에 따라 다릅니다. 패혈증 및 내독소혈증에서는 감소하고, 발열 모델에서는 상승합니다. 데이터만으로는 이를 결정할 수 없습니다. 발표된 패혈증 모델에서 활동량은 기준선 위아래로 합법적으로 크게 흔들리므로, 선언된 방향으로 단 한 번도 움직이지 않는 변수만 감지 가능하며, build_reference()는 정확히 그 경우에 대해 경고합니다.

2. 기준 집합 — 무엇에 상대적인가? 그것 없이는 RELSA 점수는 의미가 없습니다. 모델에서 가장 큰 부담을 지는 것으로 가정되는 그룹을 사용하십시오(발표된 연구에서는 최고 용량 또는 종말점에 도달한 치료 그룹을 사용합니다). 너무 약한 기준은 모든 점수를 1 이상으로 밀어 올리고, 너무 심각한 기준은 모든 것을 0에 가깝게 압축합니다. --save-reference로 저장하고 --load-reference로 재사용하여 이후 코호트가 동일한 척도를 유지하도록 하십시오.

3. 기준선이 0인 점수. 건강한 동물의 임상 점수 0은 비율 정규화가 불가능합니다. 0/0은 정의되지 않습니다. 대신 --score-scale score=8을 사용하여 점수 척도를 매핑하십시오(건강 → 100%, 최악 가능 → 200%). 이는 또한 점수를 상승 변수로 표시합니다. 이 매핑은 임상 점수 1점이 체중 1%와 비교하여 얼마나 가치 있는지에 대한 모델링 선택이며, 이를 명시해야 합니다. 대안은 점수를 RELSA에서 제외하고 독립적인 종말점 기준으로 사용하는 것입니다.

4. 전체 기간 동안 측정된 변수. 점수는 사용 가능한 변수를 평균내기 때문에, 궤적 중간에 변수가 나타나거나 사라지면 그 자체로 점수가 이동합니다. 발표된 패혈증 데이터에서 안락사 당일에만 기록된 체중을 추가하면, 해당 동물의 종말점 점수가 생물학적 이유 없이 0.93에서 0.83으로 떨어집니다. relsa_scores()는 구성이 변경될 때 경고합니다. 전체 기간 동안 존재하는 변수만 점수화하십시오.

워크플로우

1단계 — RELSA 점수 계산

python scripts/relsa_score.py assets/example_cohort.csv \
    --variables weight,temp,score,il6 \
    --normalize weight,temp,il6 \
    --turned il6 \
    --score-scale score=8 \
    --baseline-time -1 \
    --reference-group condition=endpoint \
    --save-reference reference.json \
    --out relsa_scores.csv

기준 모델이 출력되어 척도를 감사할 수 있습니다.

reference model: assets/example_cohort.csv [condition=endpoint]
  animals=2  rows=18  baseline_time=-1.0
  variable      turned   max reached   max delta
  weight            no         82.40       17.60
  temp              no         92.79        7.21
  score            yes        187.50       87.50
  il6              yes        797.72      697.72

relsa_scores.csv에는 점수와 함께 각 변수의 가중치가 포함되어 있어 점수를 설명 가능하게 만듭니다. 다음은 M01이 종말점으로 악화되고 M03이 3일에 최고점을 찍고 회복되는 예시입니다.

 id  time  weight  temp  score  il6  n_vars  relsa
M01     1    0.46  0.49   0.57 0.52       4   0.51
M01     3    0.84  0.76   1.00 0.89       4   0.88
M01     5    1.00  1.00   1.00 1.00       4   1.00
M03     3    0.56  0.44   0.57 0.54       4   0.53
M03     5    0.35  0.26   0.43 0.32       4   0.35
M03     7    0.12  0.06   0.14 0.11       4   0.11

가중치 1.00은 해당 변수가 기준 최대값에 도달했음을 의미하며, n_vars는 해당 시점에 점수에 포함된 변수의 수입니다.

객체가 필요할 때 Python에서 동일한 작업을 수행합니다.

import sys; sys.path.insert(0, "scripts")
from _common import read_relsa_table, score_to_percent
from relsa_score import prepare, build_reference, relsa_scores

frame = read_relsa_table("assets/example_cohort.csv")
frame["score"] = score_to_percent(frame["score"], max_score=8)   # 0-8 임상 점수
VARS, TURNED = ["weight", "temp", "score", "il6"], ["score", "il6"]

prepared  = prepare(frame, normalize=["weight", "temp", "il6"], baseline_time=-1)
reference = build_reference(prepared[prepared.condition == "endpoint"],
                           variables=VARS, turned=TURNED, baseline_time=-1,
                           label="endpoint-reaching animals")
scores    = relsa_scores(prepared, reference)

2단계 — 종말점 예측

종말점 이전 시점까지의 모든 데이터로 훈련하고, 종말점에서의 점수를 예측한 후 예측을 평가합니다.

python scripts/forecast_relsa.py relsa_scores.csv \
    --animals M01,M02 --endpoints M01=5 --endpoints M02=6 \
    --group-col condition --plot-dir figs --endpoint-line 1.0
 id  time  predicted    lower    upper        model  actual
M01   5.0   0.932585 0.670443 1.194728 ARIMA(1,1,0)    1.00
M02   6.0   0.955696 0.748309 1.163084 ARIMA(1,1,0)    0.94

   group             id        model  n   rmse  picp  mpiw
endpoint            M01 ARIMA(1,1,0)  1 0.0674 100.0 0.524
endpoint            M02 ARIMA(1,1,0)  1 0.0157 100.0 0.415
endpoint -- endpoint --               2 0.0489 100.0 0.470
                OVERALL               2 0.0489 100.0 0.470

세 가지 지표를 모두 함께 보고하십시오. RMSE는 점 정확도, PICP는 실제 값이 구간 내에 있는 비율, MPIW는 RELSA 단위의 평균 구간 너비입니다. 모델이 구간을 너무 넓게 만들어 아무런 정보도 제공하지 않음으로써 PICP = 100%에 도달할 수 있으며, 이는 논문의 췌장암 행(PICP 100%, MPIW 7.35, 즉 RELSA 범위의 735%)에서 정확히 보여줍니다.

실시간 모니터링을 위해, 매 시점마다 한 단계 앞을 예측하는 방식으로 사용합니다.

python scripts/forecast_relsa.py relsa_scores.csv --mode rolling --animals M03

예측을 신뢰하기 전에 알아야 할 두 가지 사항이 있습니다.

  • 보간이 기본적으로 켜져 있습니다 (--interpolate-step 0.1). 하루에 한 번 측정하는 것은 ARIMA에 비해 너무 드물기 때문입니다. 이는 더 나은 모델 선택과 더 좁은 구간을 제공하지만, 정직한 불확실성을 희생합니다. 측정 빈도가 충분히 높으면 --interpolate-step 0으로 설정하십시오.
  • ARIMA는 급격한 변화를 예측할 수 없습니다. 정상성과 선형성을 가정하므로, 종말점 직전 마지막 몇 시간 동안의 급격한 악화는 부드러운 이전 궤적으로부터 예측되지 않습니다. 이는 논문 자체의 실패 사례입니다. 구간의 상한을 기준으로 행동하고, 낮은 예측값이 동물의 건강 상태가 좋지 않다는 관찰을 무시하도록 해서는 안 됩니다.

3단계 — 중증도 구역으로 점수를 맥락화

python scripts/kde_thresholds.py relsa_scores.csv \
    --group treatment=treated --n-thresholds 2 --plot zones.png --json zones.json
KDE on 33 RELSA scores  (bandwidth = 0.1502)
  candidate thresholds (density minima): 0.703
  density modes: 0.264, 0.866
  normal    [0.000, 0.703)  n=25 (75.8%)
  danger    >= 0.703  n=8 (24.2%)

임계값은 점수 밀도의 최소값입니다. 점수 클러스터 사이의 드문 계곡입니다. 종말점 동물, 생존 동물 및 대조군을 포함하십시오. 구역은 이러한 상태를 분리하기 위한 것이므로, 모두 대표되어야 합니다.

임계값을 믿기 전에 대역폭을 확인하십시오. 발표된 패혈증 데이터에서 이 구현은 0.355와 0.655에서 최소값을 찾습니다(발표된 값: 0.337과 0.643). 그러나 10% 더 큰 대역폭은 두 최소값을 모두 제거합니다. references/thresholds-and-zones.md의 스윕을 실행하고, 단순한 숫자 쌍이 아닌 스윕 결과를 보고하십시오. 빈 임계값 목록은 합법적인 답변입니다. 점수가 하나의 클러스터를 형성하고 데이터 기반 절단점이 없는 경우입니다.

경계 사항: 보고 시 명시할 것

  • RELSA는 중증도 평가를 돕는 도구이지, 결정적인 매개변수가 아닙니다. RELSA 점수가 낮지만 다른 고통 징후를 보이는 동물은 여전히 적절히 처리해야 합니다. 두 절차 모두 사망 예측에 대해 검증된 것은 아닙니다.
  • KDE 구역은 규제 중증도 등급이 아닙니다. EU Directive 2010/63/EU의 범주(미회복, 경증, 중등증, 중증)는 다른 프로세스에 의해 사전에 할당됩니다. 논문은 임계값이 "규제 중증도 등급과 혼동되어서는 안 되며" 직접적으로 변환될 수 없다고 명시합니다.
  • 점수는 기준 집합 또는 모델 간에 비교할 수 없습니다. RELSA는 구성상 상대적이며, 임상 점수는 실험실 간에 조화되지 않습니다. 항상 점수와 함께 기준 집합을 보고하십시오.
  • 발표된 증거는 개념 증명입니다: 7개 모델에 걸쳐 13마리 동물, 그중 5개 행은 1~2마리 동물에 기반합니다. 전체 RMSE 0.069 및 PICP 96%는 13개의 종말점 예측에서 비롯됩니다.
  • 과소평가된 점수는 위험한 오류입니다. 이는 주의를 억제하고 안락사 결정을 지연시킬 수 있는 반면, 과대평가는 단지 추가적인 주의를 촉구할 뿐입니다.

보고 체크리스트

중증도 분석은 다음 모든 사항이 명시된 경우에만 재현 가능합니다.

  1. 결과 측정값, 해당 단위 및 방향성(어느 것이 상승 변수였으며 그 이유).
  2. 기준선 시점 또는 기간, 정규화된 변수.
  3. 순서형 변수에 적용된 점수 매핑과 그 척도.
  4. 기준 집합: 어떤 동물, 어떤 그룹, 몇 마리, 그리고 그들이 가장 큰 부담을 지는 것으로 가정되는 이유.
  5. 연구에 실제로 적용된 인도적 종말점 기준(RELSA 점수와 별개로).
  6. 예측의 경우: 보간 단계, 동물별 선택된 ARIMA 차수, RMSE, PICP 및 MPIW.
  7. 임계값의 경우: 대역폭, 점수 수, 대역폭 민감도 스윕.
  8. 소프트웨어 버전, 임계값이 모델에 특화되어 있으며 규제 등급이 아니라는 진술.

일반적인 함정

  1. 잘못된 방향성 — --turned에 나열되지 않은 상승 변수는 조용히 정확히 0을 기여하며, 변수가 단 한 번도 감소하지 않는 한 경고가 불가능합니다. 기준 모델 테이블을 직접 확인하십시오. 감소 변수의 max reached는 100 미만이어야 하고 상승 변수는 100 이상이어야 하며, max delta는 해당 측정값에 대해 그럴듯한 크기여야 합니다.
  2. 백분율을 두 번 정규화 — bwc [%] 및 매핑된 점수는 이미 백분율 척도에 있습니다. 이를 --normalize에 전달하면 다른 변수와 다른 척도로 변환됩니다. 정규화할 변수와 이미 백분율인 변수를 분리하십시오.
  3. 지나치게 좁은 대역폭 — KDE가 각 점수 주변에 작은 봉우리를 만들어 수십 개의 거짓 임계값을 생성합니다. 기본 대역폭(Scott's rule)으로 시작하고, 단일 값이 아닌 스윕을 보고하십시오.
  4. 예측의 점 정확도만 보고 — 좁은 구간이 잘못된 곳에서 PICP가 낮으면 모델이 과신하는 것입니다. MPIW와 함께 PICP를 보고하십시오. PICP가 낮으면 구간이 의미가 없습니다.
  5. 종말점 동물을 KDE에서 제외 — 구역은 정상/악화/종말점 상태를 분리하기 위한 것입니다. 종말점 동물이 없으면 위험 구역의 상한이 정의되지 않습니다.

참고 문헌

  • Talbot SR, et al. (2022) RELSA — A multivariate, relative, and scalable severity assessment score for laboratory animal models. ALTEX. DOI: 10.14573/altex.2204221
  • Lutscher L, et al. (2026) foRcast — Forecasting RELSA scores for humane endpoint prediction. (준비 중)
  • EU Directive 2010/63/EU on the protection of animals used for scientific purposes.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

관련 스킬