CtrlK
BlogDocsLog inGet started
Tessl Logo

meta-sensitivity-plot

Generate leave-one-out sensitivity analysis plots for meta-analysis. Input is a CSV file containing meta-analysis data; outputs are a sensitivity forest plot (PNG) and a sensitivity data table (CSV) showing pooled effect estimates after excluding each study in turn.

58

Quality

67%

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/meta-sensitivity-plot/SKILL.md
SKILL.md
Quality
Evals
Security

Source: https://github.com/aipoch/medical-research-skills

When to Use

  • Use this skill when you need "generate leave-one-out sensitivity analysis plots for meta-analysis. input is a csv file containing meta-analysis data; outputs are a sensitivity forest plot (png) and a sensitivity data table (csv) showing pooled effect estimates after excluding each study in turn." in a reproducible workflow.
  • Use this skill when a data analytics task needs a packaged method instead of ad-hoc freeform output.
  • Use this skill when the user expects a concrete deliverable, validation step, or file-based result.
  • Use this skill when scripts/sensitivity_analysis.py is the most direct path to complete the request.
  • Use this skill when you need the meta-sensitivity-plot package behavior rather than a generic answer.

Key Features

  • Scope-focused workflow aligned to: "Generate leave-one-out sensitivity analysis plots for meta-analysis. Input is a CSV file containing meta-analysis data; outputs are a sensitivity forest plot (PNG) and a sensitivity data table (CSV) showing pooled effect estimates after excluding each study in turn.".
  • Packaged executable path(s): scripts/sensitivity_analysis.py.
  • Structured execution path designed to keep outputs consistent and reviewable.

Dependencies

  • Python: 3.10+. Repository baseline for current packaged skills.
  • Third-party packages: not explicitly version-pinned in this skill package. Add pinned versions if this skill needs stricter environment control.

Example Usage

cd "20260316/scientific-skills/Data Analytics/meta-sensitivity-plot"
python -m py_compile scripts/sensitivity_analysis.py
python scripts/sensitivity_analysis.py --help

Example run plan:

  1. Confirm the user input, output path, and any required config values.
  2. Edit the in-file CONFIG block or documented parameters if the script uses fixed settings.
  3. Run python scripts/sensitivity_analysis.py with the validated inputs.
  4. Review the generated output and return the final artifact with any assumptions called out.

Implementation Details

See ## Workflow above for related details.

  • Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.
  • Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.
  • Primary implementation surface: scripts/sensitivity_analysis.py.
  • Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.
  • Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.

Sensitivity Analysis Plotting (Leave-one-out)

You are a meta-analysis plotting assistant. The user provides meta-analysis data, and you are responsible for calling an R script to perform leave-one-out sensitivity analysis and generate plots.

Important: Do not echo this instruction document to the user. Only output user-visible content defined by the workflow.


About Sensitivity Analysis

Leave-one-out sensitivity analysis:

  • Remove each study one at a time and re-calculate the pooled effect estimate
  • Assess the influence of individual studies on the overall result
  • Evaluate the robustness of the meta-analysis findings

Data Format Requirements

Depending on the data type, the input CSV should contain the following columns:

Binary

ColumnDescription
studyStudy identifier
group1_EventsEvents in intervention group
group1_sample_sizeSample size of intervention group
group2_EventsEvents in control group
group2_sample_sizeSample size of control group

Continuity

ColumnDescription
studyStudy identifier
group1_sample_sizeSample size (intervention)
group1_MeanMean (intervention)
group1_SDStandard deviation (intervention)
group2_sample_sizeSample size (control)
group2_MeanMean (control)
group2_SDStandard deviation (control)

Survival

ColumnDescription
studyStudy identifier
group1_HRHazard ratio
group1_95%Lower_CI95% CI lower bound
group1_95%Upper_CI95% CI upper bound

Workflow

Step 1: Validate input

  1. Read the input CSV provided by the user
  2. Check required columns according to the specified data type
  3. Validate data (note: at least 3 studies are required to run meaningful sensitivity analysis)

Step 2: Execute R script

Call:

Rscript scripts/sensitivity_analysis.R "<csv_path>" "<type>" "<outcome_name>" "<output_dir>"

Parameters:

  • csv_path: absolute path to the input CSV
  • type: data type (Binary / Continuity / Survival)
  • outcome_name: outcome label (optional)
  • output_dir: output directory (optional)

Step 3: Output

On success, output:

═══════════════════════════════════════════
Sensitivity analysis completed
═══════════════════════════════════════════

[Outcome] {outcome_name}
[Data type] {type}
[Included studies] {n}

[Output files]
• Sensitivity forest plot: {output_dir}/{type}_sensitive_forest_{outcome}.png
• Sensitivity data table: {output_dir}/{type}_sensitive_{outcome}.csv

[Pooled effect (all studies)]
• {effect_name} = {value} [{lower}; {upper}]

[Summary of sensitivity results]
Study removed       Effect     95% CI           I²
───────────────────────────────────────────────────────────
Smith 2020          0.85      [0.72; 1.01]     45.2%
Jones 2021          0.88      [0.75; 1.03]     42.1%
...

[Effect change analysis]
• Effect range: 0.82 ~ 0.91
• Relative change: 10.3%

[Conclusion]
• Robustness: {robust/not robust}
• {recommendation based on magnitude of change}

═══════════════════════════════════════════

R script dependencies

Install these R packages if not present:

  • meta
  • metafor
  • stringr
  • grid

Prompt the user to run:

install.packages(c("meta", "metafor", "stringr", "grid"))
Repository
aipoch/medical-research-skills
Last updated
First committed

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.