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
67%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
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.mdscripts/sensitivity_analysis.py is the most direct path to complete the request.meta-sensitivity-plot package behavior rather than a generic answer.scripts/sensitivity_analysis.py.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.cd "20260316/scientific-skills/Data Analytics/meta-sensitivity-plot"
python -m py_compile scripts/sensitivity_analysis.py
python scripts/sensitivity_analysis.py --helpExample run plan:
CONFIG block or documented parameters if the script uses fixed settings.python scripts/sensitivity_analysis.py with the validated inputs.See ## Workflow above for related details.
scripts/sensitivity_analysis.py.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.
Leave-one-out sensitivity analysis:
Depending on the data type, the input CSV should contain the following columns:
| Column | Description |
|---|---|
| study | Study identifier |
| group1_Events | Events in intervention group |
| group1_sample_size | Sample size of intervention group |
| group2_Events | Events in control group |
| group2_sample_size | Sample size of control group |
| Column | Description |
|---|---|
| study | Study identifier |
| group1_sample_size | Sample size (intervention) |
| group1_Mean | Mean (intervention) |
| group1_SD | Standard deviation (intervention) |
| group2_sample_size | Sample size (control) |
| group2_Mean | Mean (control) |
| group2_SD | Standard deviation (control) |
| Column | Description |
|---|---|
| study | Study identifier |
| group1_HR | Hazard ratio |
| group1_95%Lower_CI | 95% CI lower bound |
| group1_95%Upper_CI | 95% CI upper bound |
Call:
Rscript scripts/sensitivity_analysis.R "<csv_path>" "<type>" "<outcome_name>" "<output_dir>"Parameters:
csv_path: absolute path to the input CSVtype: data type (Binary / Continuity / Survival)outcome_name: outcome label (optional)output_dir: output directory (optional)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}
═══════════════════════════════════════════Install these R packages if not present:
Prompt the user to run:
install.packages(c("meta", "metafor", "stringr", "grid"))f5ef65b
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.