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…
Build, evaluate, and audit right-censored or competing-risk survival workflows with scikit-survival, including leakage-safe preprocessing, model selection, probability prediction, and censoring-aware metrics.
$ npx -y skills add k-dense-ai/claude-scientific-skills --skill scikit-survival --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/scikit-survivalContext preview
The summary Claude sees to decide when to auto-load this skill.
Build, evaluate, and audit right-censored or competing-risk survival workflows with scikit-survival, including leakage-safe preprocessing, model selection, probability prediction, and censoring-aware metrics.
name: scikit-survival description: Build, evaluate, and audit right-censored or competing-risk survival workflows with scikit-survival, including leakage-safe preprocessing, model selection, probability prediction, and censoring-aware metrics. license: MIT compatibility: Requires Python 3.11+, uv, and the pinned scikit-survival 0.28.0 stack for executable examples. Bundled CLIs are local and network-free by default. allowed-tools: Read Write Edit Bash metadata: version: "1.2" skill-author: K-Dense Inc.
Use this skill for scikit-survival 0.28.0 workflows involving:
scikit-survival primarily models right-censored outcomes. Its built-in competing-risk support is nonparametric cumulative incidence; it does not provide Fine-Gray regression. Do not present model output as clinical advice, causal evidence, or proof of clinical utility.
Verified 2026-07-23:
x86-64, macOS x86-64/ARM64, and Windows x86-64.
scikit-learn >=1.9.0,<1.10, OSQP >=1.0.2, narwhals >=2.0.1.
`criterion` from `GradientBoostingSurvivalAnalysis`.
Create an isolated environment and install the tested snapshot:
uv venv --python 3.11 source .venv/bin/activate uv pip install \ "scikit-survival==0.28.0" \ "scikit-learn==1.9.0" \ "numpy==2.4.6" \ "pandas==3.0.5" \ "scipy==1.17.1" \ "ecos==2.0.14" \ "osqp==1.1.3" \ "joblib==1.5.3" \ "numexpr==2.14.2" \ "narwhals==2.24.0"
Binary wheels are preferred. A source build requires a C/C++ compiler; OSQP may also require CMake. This skill is MIT-licensed; the upstream scikit-survival package is GPL-3.0-or-later, so review upstream licensing before redistribution.
1. **Define the estimand and event coding.** Decide whether the target is all-event survival, cause-specific hazard, or cause-specific cumulative incidence. 2. **Validate outcomes.** Standard estimators need a two-field structured array: boolean event first, observed time second. Competing-risk CIF instead needs a separate integer event vector: 0=censored, 1..K=causes. 3. **Split before learned preprocessing.** Never fit imputers, encoders, scalers, feature selectors, or alpha choices on all rows before splitting. 4. **Fit preprocessing inside a pipeline.** Unknown categories and missingness must be handled using training-fold state only. 5. **Tune without reusing evaluation data.** Use nested CV when reporting cross-validated tuned performance, or reserve a truly untouched final holdout. 6. **Fit censoring distributions on training data.** IPCW concordance, dynamic AUC, and Brier metrics receive `survival_train`, never a pooled train+test outcome. 7. **Restrict evaluation times.** Use a strictly increasing grid inside test follow-up and below the end of training support where the estimated censoring survival remains positive. 8. **Match predictions to metrics.** Concordance/dynamic AUC consume higher-is-riskier scores. Brier metrics consume survival probabilities with shape `(n_test, n_times)`, not risk scores or unevaluated step functions. 9. **Handle competing causes explicitly.** Standard survival probabilities and CIFs answer different questions. Never estimate event-specific probability with `1 - Kaplan-Meier` while censoring competing events. 10. **Report limits.** Separate discrimination, calibration, prediction error, and cumulative incidence. None alone establishes decision or clinical utility.
from sksurv.util import Surv
y = Surv.from_arrays(event=event_bool, time=observed_time)
# Equivalent for pandas or Polars:
y = Surv.from_dataframe("event", "time", frame)The first field is boolean (`True`=event, `False`=right-censored); the second is floating-point time. Field names may vary, but field order and meaning may not. Use `references/data-handling.md` before loading custom or competing-risk data.
from sklearn.compose import ColumnTransformer
from sklearn.impute import SimpleImputer
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sksurv.linear_model import CoxPHSurvivalAnalysis
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, stratify=y["event"], random_state=20260723
)
preprocess = ColumnTransformer(
[
("num", make_pipeline(SimpleImputer(strategy="median"), StandardScaler()), numeric),
(
"cat",
make_pipeline(
SimpleImputer(strategy="most_frequent"),
OneHotEncoder(handle_unknown="ignore", drop="first", sparse_output=False),
),
categorical,
),
],
sparse_threshold=0.0,
)
model = make_pipeline(preprocess, CoxPHSurvivalAnalysis(alpha=0.1, ties="efron"))
model.fit(X_train, y_train)
risk = model.predict(X_test)The split precedes every learned transformation. For repeated or grouped records, use a group-aware split; for temporal deployment, use a time-respecting split.
hazards; `alpha` is ridge shrinkage and `ties` is `"breslow"` or `"efron"`.
🔔 Claude Scientific Skills is now Scientific Agent Skills. Same skills, broader compatibility — now works with any AI agent that supports the open Agent Skills standard, not just Claude.
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…
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection,…
Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP…
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…
Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree…
Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk…