CtrlK
BlogDocsLog inGet started
Tessl Logo

survival-curve-risk-table

Analyze data with `survival-curve-risk-table` using a reproducible workflow, explicit validation, and structured outputs for review-ready interpretation.

40

Quality

39%

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

Fix and improve this skill with Tessl

tessl review fix ./scientific-skills/Data Analysis/survival-curve-risk-table/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%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.

The content is genuinely actionable with executable CLI and API examples backed by a real script, but it is weighed down by heavy templated redundancy and a monolithic structure that inlines material better placed in reference files. Workflow guidance has validation pieces but no tight feedback loop around the generation step.

Suggestions

Remove the duplicated/placeholder sections (the 'See ## X above' pointers, the second Dependency Requirements block, and the redundant Output Requirements / Output Contract / Response Template trio) to cut significant padding.

Add an explicit validate-then-fix feedback loop to the generation workflow, e.g. run a smoke check, generate, then verify the risk-table time axis aligns with the KM X-axis before returning the artifact.

Move the bulk of the journal-style JSON configs, parameter tables, and FAQ into a references file (e.g. references/journal_styles.md) and keep SKILL.md a lean overview with one-level-deep pointers.

DimensionReasoningScore

Conciseness

The body is noticeably padded: 'Key Features' echoes the frontmatter description verbatim, sections point to 'See ## X above for related details' instead of content, Dependencies and Dependency Requirements are listed twice, and Output Requirements / Response Template / Output Contract / Inputs to Collect overlap heavily as templated boilerplate.

2 / 5

Actionability

It provides concrete, mostly executable guidance — real CLI invocations with verified flags, a Python API example using RiskTableGenerator, CSV and journal-style JSON examples, and parameter tables — with only minor gaps such as examples wrapped in 'Example invocation:' comment blocks and the 'from scripts.main import' path caveat.

4 / 5

Workflow Clarity

A sequenced Workflow, a py_compile smoke check, and an Error Handling fallback exist, but the core generation flow lacks an integrated validate-output -> fix -> retry feedback loop and the Workflow steps are generic templated statements rather than operation-specific checkpoints.

3 / 5

Progressive Disclosure

A real bundle exists (scripts/main.py and references/runtime_checklist.md) and is referenced, but the ~530-line SKILL.md is a monolithic inline wall of journal-style JSON, parameter tables, algorithm notes, FAQ, security and lifecycle sections that could be split into references, so structure is present but not well organized.

3 / 5

Total

12

/

20

Passed

Description

28%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.

The description is third-person and names the skill, but it relies on generic process language instead of concrete capabilities and omits any 'Use when' trigger guidance. Natural user phrasing like 'survival curve' or 'risk table' is missing, weakening both trigger quality and completeness.

Suggestions

Replace the generic 'Analyze data' framing with concrete actions, e.g. 'Add number-at-risk tables beneath Kaplan-Meier survival curves in NEJM/Lancet/JCO styles'.

Add an explicit trigger clause such as 'Use when generating publication-quality survival curves with number-at-risk tables for clinical trial reports or journal submission.'

Include the natural terms users actually say ('survival curve', 'Kaplan-Meier', 'number at risk', 'risk table') so the skill triggers on real requests.

DimensionReasoningScore

Specificity

The description names the domain ('survival-curve-risk-table', 'data') but the only action is the generic 'Analyze data', with the rest being process-quality adjectives ('reproducible workflow, explicit validation, and structured outputs') rather than concrete capabilities, matching the 'names the domain but actions are minimal or generic' anchor.

2 / 5

Completeness

It offers a vague 'what' ('Analyze data ... using a reproducible workflow ...') and no 'when' / 'Use when' trigger clause at all, matching the 'vague what and no when' anchor and below the missing-trigger cap of 3.

2 / 5

Trigger Term Quality

The only semi-relevant keyword is the backtick-quoted skill name plus the generic word 'data'; the natural phrases a user would actually say ('survival curve', 'risk table', 'Kaplan-Meier', 'number at risk') are absent, fitting 'one or two generic keywords; missing the natural phrases users say'.

2 / 5

Distinctiveness Conflict Risk

The named skill ('survival-curve-risk-table') gives a recognizable niche, but the surrounding text ('Analyze data ... reproducible workflow, explicit validation, structured outputs') is generic boilerplate that overlaps with many data-analysis skills, fitting 'somewhat specific but could still overlap with similar skills'.

3 / 5

Total

9

/

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.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (538 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
aipoch/medical-research-skills
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.