CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

scikit-survival

Comprehensive toolkit for survival analysis and time-to-event modeling in Python using scikit-survival. Use this skill when working with censored survival data, performing time-to-event analysis, fitting Cox models, Random Survival Forests, Gradient Boosting models, or Survival SVMs, evaluating survival predictions with concordance index or Brier score, handling competing risks, or implementing any survival analysis workflow with the scikit-survival library.

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, highly actionable skill body with real executable code, a useful model-selection decision tree, and exemplary progressive disclosure to six existing one-level-deep reference files. Its weaknesses are moderate token redundancy (Overview background, a When-to-Use section duplicating the description, a Reference Files section duplicating inline pointers, and an imports block duplicating workflow imports) and workflows that lack explicit validation checkpoints.

Suggestions

Cut the 'Overview' background paragraph explaining what survival analysis is and delete the 'When to Use This Skill' section (already covered by the frontmatter description), saving ~20 lines.

Replace the 'Reference Files' section and the 'Quick Reference: Key Imports' block with a single pointer to the reference files — the inline 'See:' signals and workflow imports already cover both.

Add an explicit validation checkpoint to Workflow 1, e.g. after the split: verify censoring rates are similar across train/test and check the event-per-feature ratio before fitting.

DimensionReasoningScore

Conciseness

The core sections (model selection tree, evaluation snippets, workflows, pitfalls) are dense and earn their tokens, but several sections are redundant or pad: the Overview explains what survival analysis is ('Survival analysis aims to establish connections between covariates and the time of an event...') — a concept Claude already knows; 'When to Use This Skill' restates the frontmatter description; the 'Reference Files' section re-lists the same six files already signaled inline with 'See: references/...'; and the 'Quick Reference: Key Imports' block repeats imports shown in the workflows. This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' — it does not reach level 2's 'noticeably verbose; several padded sections' because the majority of the 390 lines are actionable rather than padded.

3 / 5

Actionability

Nearly all guidance is executable: real imports, correct function signatures ('concordance_index_ipcw(y_train, y_test, risk_scores)', 'Surv.from_arrays(event=..., time=...)'), a concrete decision tree, and four runnable workflows. Minor gaps keep it below level 5: Workflow 2 calls 'np.where' without importing numpy and fits undefined 'X, y'; Workflow 3 uses 'as_concordance_index_ipcw_scorer' without showing its import; Workflow 4 references 'X_train_scaled' never created in that block. This matches 'mostly executable guidance; concrete code or commands with minor gaps'.

4 / 5

Workflow Clarity

Each of the four workflows is a numbered, clearly sequenced pipeline (load → preprocess → fit → predict → evaluate) ending in an evaluation step, and 'Best Practices'/'Common Pitfalls' provide guardrails. The missing piece is explicit validation checkpoints and error-recovery loops — e.g., no step to verify censoring balance after the train-test split or to handle a failed PH-assumption check — matching 'clear sequence with most checkpoints present; minor validation gaps' rather than level 5's explicit validate/fix/retry structure. The destructive/batch cap does not apply since these are non-destructive modeling operations.

4 / 5

Progressive Disclosure

The body is a genuine overview with six well-signaled references ('See: references/cox-models.md', etc.), all of which exist in the bundle, are one level deep (no reference points to another reference), and are indexed again in a 'Reference Files' section with a load-when-needed instruction. Detail is appropriately split — model-family deep dives live in the references while the body keeps only selection guidance and short snippets — matching the level-5 anchor of a clear overview with well-signaled one-level-deep references.

5 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description with an explicit 'Use this skill when...' clause, concrete model-family and metric triggers, and a clearly bounded niche anchored to a specific library. Its only weakness is slightly incomplete synonym coverage (no 'Kaplan-Meier' or 'hazard' phrasing) and a small amount of 'Comprehensive toolkit' padding.

Suggestions

Add high-frequency natural phrases like 'Kaplan-Meier curves' or 'hazard ratios' to the trigger clause to widen the natural-term coverage.

Drop the 'Comprehensive toolkit for...' opener in favor of a third-person verb-lead (e.g., 'Performs survival analysis...') to eliminate the remaining fluff.

DimensionReasoningScore

Specificity

The description lists many concrete actions — 'fitting Cox models, Random Survival Forests, Gradient Boosting models, or Survival SVMs, evaluating survival predictions with concordance index or Brier score, handling competing risks' — with comprehensive coverage of the library's model families and metrics. 'Comprehensive toolkit' is mild fluff but the remainder is fully concrete, matching the anchor for multiple specific concrete actions (not the level-4 anchor, which expects minor coverage gaps).

5 / 5

Completeness

It explicitly answers both questions: 'what' via 'Comprehensive toolkit for survival analysis and time-to-event modeling in Python using scikit-survival' and 'when' via the concrete 'Use this skill when working with censored survival data, performing time-to-event analysis, fitting Cox models...' trigger clause. This mirrors the level-5 good example structure; level 4 would require a weaker or less explicit 'when' clause.

5 / 5

Trigger Term Quality

Strong natural keywords users would actually say: 'survival analysis', 'time-to-event', 'censored survival data', 'Cox models', 'concordance index', 'Brier score', 'competing risks'. A few common variations are missing — e.g., 'Kaplan-Meier', 'hazard', 'survival curve' — which fits the anchor 'good keyword coverage; a few natural terms missing' rather than the comprehensive-synonym coverage of level 5.

4 / 5

Distinctiveness Conflict Risk

A clear niche (survival analysis with the named scikit-survival library) with distinct domain triggers — censored data, Cox models, C-index, competing risks — that no general-purpose statistics skill would claim. Minimal overlap risk, matching the level-5 anchor.

5 / 5

Total

19

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

synthetic-sciences/openscience

Path

backend/cli/skills/biology/scikit-survival/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.