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.

53 stars

Best use case

meta-sensitivity-plot is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using meta-sensitivity-plot should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/meta-sensitivity-plot/SKILL.md --create-dirs "https://raw.githubusercontent.com/aipoch/medical-research-skills/main/scientific-skills/Data Analysis/meta-sensitivity-plot/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/meta-sensitivity-plot/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How meta-sensitivity-plot Compares

Feature / Agentmeta-sensitivity-plotStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

> **Source**: [https://github.com/aipoch/medical-research-skills](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

```bash
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
| 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 |

### Continuity
| 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) |

### Survival
| 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 |

---

## 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:
```bash
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:
```r
install.packages(c("meta", "metafor", "stringr", "grid"))
```

Related Skills

meta-protocol-writer

53
from aipoch/medical-research-skills

Generates a PROSPERO-compliant Meta-analysis protocol based on Title and PICOS. Use when the user wants to write a protocol for a systematic review or meta-analysis.

plotly

53
from aipoch/medical-research-skills

Interactive visualization library for Python. Use it when you need hover tooltips, zoom/pan, selection, animations, or charts embeddable in web pages (e.g., dashboards, exploratory analysis, presentations).

meta-search-builder

53
from aipoch/medical-research-skills

Medical literature search strategy generator. Given a user's natural-language description (e.g., meta-analysis topic, PICOS elements, research question), automatically extract medical entities (disease, intervention, population, outcomes) and generate professional search queries for seven major databases (PubMed, Cochrane, Embase, Web of Science, CNKI, Wanfang, VIP). Useful for developing search strategies for systematic reviews and meta-analyses.

volcano-plot-script

53
from aipoch/medical-research-skills

Generate R/Python code for volcano plots from DEG (Differentially Expressed Genes) analysis results. Triggered when user needs visualization of gene expression data, p-value vs fold-change scatter plots, publication-ready figures for bioinformatics analysis.

volcano-plot-labeler

53
from aipoch/medical-research-skills

Analyze data with `volcano-plot-labeler` using a reproducible workflow, explicit validation, and structured outputs for review-ready interpretation.

upset-plot-converter

53
from aipoch/medical-research-skills

Convert complex Venn diagrams with more than 4 sets to clearer Upset.

metagenomic-krona-chart

53
from aipoch/medical-research-skills

Analyze data with `metagenomic-krona-chart` using a reproducible workflow, explicit validation, and structured outputs for review-ready interpretation.

metabolomics-workbench-database

53
from aipoch/medical-research-skills

Access NIH Metabolomics Workbench (4,200+ studies) via REST API. Query metabolites, RefMet nomenclature, MS/NMR data, m/z search, study metadata for metabolomics and biomarker discovery.

meta-title-generator

53
from aipoch/medical-research-skills

Generates Meta-Analysis research titles based on user keywords, utilizing PubMed search results if available, or creative generation otherwise. Use when the user wants to brainstorm or generate titles for a meta-analysis, specifically starting from keywords or a topic.

meta-screening-fulltext

53
from aipoch/medical-research-skills

Screen full-text papers against inclusion/exclusion criteria, with optional PubMed metadata check using PMID. Use when the user needs to evaluate a paper for a meta-analysis.

meta-rob2-plot

53
from aipoch/medical-research-skills

Draw ROB2 risk-of-bias plots, including a Traffic Light Plot and a Summary Bar Plot. Input is a CSV file with ROB2 assessments for each study; output are two PNG plot files.

meta-radial-plot

53
from aipoch/medical-research-skills

Generate radial plots (Radial Plot/Galbraith Plot) for heterogeneity analysis. Visually assess heterogeneity across studies by displaying the relationship between standardized effect sizes and precision. Input: Meta-analysis data in CSV format; Output: Radial plot PNG and data CSV.