← Back to Skills Marketplace
aipoch-ai

Graph Interpretation

by AIpoch · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
153
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install graph-interpretation
Description
Use when interpreting scientific graphs and charts, explaining data visualizations for research presentations, writing figure captions for publications, or a...
README (SKILL.md)

Scientific Graph Interpreter

Interpret and explain scientific graphs, charts, and data visualizations for research publications, clinical presentations, and academic communications with precision and clarity.

Quick Start

from scripts.graph_interpreter import GraphInterpreter

interpreter = GraphInterpreter()

# Comprehensive graph analysis
analysis = interpreter.interpret(
    image_path="figure_1.png",
    graph_type="kaplan_meier",
    context="oncology_phase3_trial",
    audience="clinicians"
)

print(analysis.statistical_summary)
print(analysis.clinical_significance)
print(analysis.suggested_caption)

Core Capabilities

1. Multi-Type Graph Analysis

analysis = interpreter.analyze(
    graph_type="forest_plot",
    data={
        "studies": ["Study A", "Study B", "Study C"],
        "effect_sizes": [1.2, 0.8, 1.5],
        "confidence_intervals": [[1.0, 1.4], [0.6, 1.0], [1.2, 1.8]],
        "overall_effect": 1.15,
        "heterogeneity_p": 0.04
    }
)

Supported Graph Types:

Graph Type Common Use Key Elements to Extract
Kaplan-Meier Survival analysis Median survival, HR, 95% CI, log-rank p
Forest Plot Meta-analysis Effect size, CI, heterogeneity (I²), weights
ROC Curve Diagnostic accuracy AUC, sensitivity, specificity, optimal cutoff
Box Plot Distribution comparison Median, IQR, outliers, whiskers
Scatter Plot Correlation R², p-value, trend line, outliers
Bar Chart Group comparisons Means, SEM/SD, significance indicators
Heatmap Expression/omics Scale, clustering, row/column annotations
Volcano Plot Differential analysis Fold change, p-value, FDR threshold

2. Statistical Interpretation

stats = interpreter.extract_statistics(
    graph_data,
    extract=[
        "p_values",
        "confidence_intervals", 
        "effect_sizes",
        "sample_sizes",
        "statistical_tests"
    ]
)

Statistical Reporting Standards:

# Example output structure
{
    "primary_outcome": {
        "measure": "Hazard Ratio",
        "value": 0.72,
        "ci_95": [0.58, 0.89],
        "p_value": 0.003,
        "interpretation": "32% risk reduction"
    },
    "secondary_outcomes": [...],
    "significance_level": 0.05,
    "multiple_comparison_adjusted": True
}

3. Audience-Specific Explanations

explanations = interpreter.generate_multi_audience(
    analysis,
    audiences=["researchers", "clinicians", "patients", "policy_makers"]
)

Explanation Templates:

For Researchers:

"The Kaplan-Meier analysis demonstrates a statistically significant survival advantage for the experimental arm (HR 0.72, 95% CI 0.58-0.89, p=0.003). Median survival improved from 14.2 to 19.6 months. The proportional hazards assumption was verified (p=0.42)."

For Clinicians:

"This trial shows patients on the new treatment lived about 5 months longer on average compared to standard care. The 32% reduction in death risk is significant and clinically meaningful. Consider this option for eligible patients."

For Patients:

"The study found that people taking the new treatment lived longer than those on standard treatment. About 1 in 3 patients benefited from the new treatment. Side effects were manageable."

4. Figure Caption Generation

caption = interpreter.generate_caption(
    analysis,
    style="journal",  # or "presentation", "poster"
    word_limit=250,
    include_statistics=True
)

Caption Structure:

Figure X. [Brief title]. [What is shown: X-axis shows..., Y-axis shows..., 
lines/bars represent...]. [Key finding: Group A showed... compared to 
Group B...]. [Statistics: HR 0.72 (95% CI 0.58-0.89), p=0.003]. 
[Conclusion: This demonstrates...].

5. Critical Appraisal

appraisal = interpreter.critical_appraisal(
    graph_data,
    check=[
        "appropriate_graph_type",
        "axis_scaling",
        "error_bars_present",
        "sample_size_adequate",
        "confounding_controlled",
        "generalizability"
    ]
)

Common Graph Pitfalls:

Issue Problem Better Approach
Truncated y-axis Exaggerates differences Start at 0 or clearly indicate break
No error bars Hides variability Include SD, SEM, or 95% CI
3D effects Distorts perception Use 2D with clear labels
Dual y-axes Confusing comparison Separate graphs or normalized scale
p-hacking indicators Multiple comparisons Adjusted p-values, Bonferroni

CLI Usage

# Comprehensive analysis
python scripts/graph_interpreter.py \
  --image survival_curve.png \
  --type kaplan_meier \
  --context "phase_3_oncology" \
  --audience clinicians \
  --output analysis.json

# Generate publication caption
python scripts/graph_interpreter.py \
  --image forest_plot.png \
  --type forest_plot \
  --generate caption \
  --journal-style nature \
  --word-limit 200

# Batch process figures
python scripts/graph_interpreter.py \
  --batch figures/ \
  --output report.html \
  --template comprehensive

Common Patterns

Pattern 1: Clinical Trial Primary Endpoint

# Analyze survival curve
analysis = interpreter.interpret(
    graph_type="kaplan_meier",
    primary_endpoint="overall_survival",
    treatment_arms=["Experimental", "Control"],
    key_metrics=["median_os", "hr", "ci", "p_value"]
)

# Generate regulatory-ready summary
regulatory_summary = interpreter.generate_regulatory_summary(
    analysis,
    guideline="ICH_E3"
)

Pattern 2: Meta-Analysis Forest Plot

# Interpret meta-analysis
analysis = interpreter.interpret_forest_plot(
    studies=included_studies,
    check_heterogeneity=True,
    assess_publication_bias=True
)

# Generate GRADE assessment
grade_rating = interpreter.generate_grade_rating(analysis)

Pattern 3: Diagnostic Accuracy ROC

# Analyze diagnostic test
analysis = interpreter.interpret_roc(
    curves=["Test A", "Test B", "Combined"],
    optimal_cutoffs=True,
    clinical Utility=True
)

# Clinical decision support
decision_aid = interpreter.generate_decision_aid(analysis)

Quality Checklist

Before Interpretation:

  • Graph type appropriate for data
  • Axes clearly labeled with units
  • Sample sizes indicated
  • Statistical tests specified
  • Confidence intervals present

During Interpretation:

  • Effect size calculated
  • Clinical significance assessed
  • Confidence intervals interpreted
  • Limitations noted
  • Generalizability considered

After Interpretation:

  • Explanation appropriate for audience
  • Statistical terms explained
  • Uncertainty communicated
  • Actionable insights highlighted

Best Practices

Statistical Communication:

  • Always report confidence intervals with point estimates
  • Distinguish statistical from clinical significance
  • Note limitations and generalizability
  • Avoid causal language in observational studies

Visual Analysis:

  • Check axis scales for distortion
  • Note truncated axes or breaks
  • Identify outliers and their impact
  • Verify error bar representation (SD vs SEM)

Common Pitfalls

Correlation = Causation: "X causes Y because they're correlated" ✅ Cautious Interpretation: "X is associated with Y; other factors may explain this"

Overstating Significance: "Highly significant (p\x3C0.001)" as meaning large effect ✅ Proper Framing: "Statistically significant but modest effect size (d=0.2)"

Ignoring Confidence Intervals: Reporting point estimate only ✅ Interval Reporting: "Effect: 1.5 (95% CI: 0.9-2.4), suggesting uncertainty"


Skill ID: 209 | Version: 1.0 | License: MIT

Usage Guidance
Do not install or enable this skill yet. The documentation (SKILL.md) promises many image-analysis features, but the package only contains a small placeholder script and references a missing scripts/graph_interpreter.py and many non-existent APIs. That mismatch can cause the agent to attempt arbitrary shell/file operations or fail unexpectedly. Before proceeding, ask the author for: (1) the missing implementation files, (2) a dependency/install manifest (pip/conda) for image/ML libs, (3) tests or examples that actually run, and (4) a justification for the declared allowed-tools (Read/Write/Bash/Edit). If you must test, do so in a restricted sandbox, avoid exposing sensitive images or data, and restrict the skill's file/shell permissions until the implementation and dependencies are verified.
Capability Analysis
Type: OpenClaw Skill Name: graph-interpretation Version: 0.1.0 The skill bundle is a template for a scientific graph interpretation tool. While there is a significant discrepancy between the documentation in SKILL.md (which describes a sophisticated 'GraphInterpreter' class and CLI) and the actual code in scripts/main.py (which is a basic stub), no malicious logic or exfiltration attempts were found. The broad permissions requested (Bash, Read, Write) are consistent with the stated purpose of processing image files and generating reports.
Capability Assessment
Purpose & Capability
The skill claims advanced image-based graph interpretation (Kaplan‑Meier, ROC, AUC extraction, caption generation, batch CLI, etc.) but the repository contains only a small scripts/main.py implementing a trivial GraphInterpretation.describe() template. SKILL.md references scripts/graph_interpreter.py and many APIs (interpret(), analyze(), extract_statistics()) that do not exist in the codebase. This mismatch suggests the shipped artifacts do not implement the described purpose.
Instruction Scope
Runtime instructions (SKILL.md) instruct the agent to read local image files, run a CLI (python scripts/graph_interpreter.py), and process batches of figures. The referenced CLI/script file is absent. The SKILL.md header also lists allowed-tools: "Read Write Bash Edit", granting broad filesystem and shell access that goes beyond a simple text/template helper. The instructions are thus out-of-sync with available code and give the agent broad discretion to read/write and run shell commands.
Install Mechanism
There is no install spec (instruction-only), which is lower risk in itself. However, the documented features would normally require external libraries (image processing, ML, stats) and an install/dependency list — none are declared. The absence of an install step combined with heavy claimed capabilities is an implementation gap (not necessarily malicious) but is suspicious.
Credentials
The skill declares no required environment variables, no credentials, and no config paths. SKILL.md also does not reference any secrets or external endpoints. From a credentials standpoint, requested access is proportionate (none).
Persistence & Privilege
always: false and default model invocation settings are normal. However, the SKILL.md allowed-tools field grants Read/Write/Bash/Edit capabilities which give the agent broad filesystem and shell privileges when invoked — reasonable for local image processing but broader than strictly necessary for a caption-template helper. This should be reviewed before enabling.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install graph-interpretation
  3. After installation, invoke the skill by name or use /graph-interpretation
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release – graph-interpretation skill for scientific data visualization analysis. - Provides interpretation and explanation of scientific graphs and charts for research, clinical, and academic use. - Supports multiple graph types including Kaplan-Meier, forest plot, ROC, box plot, scatter plot, bar chart, heatmap, and volcano plot. - Extracts and reports statistical metrics such as hazard ratios, confidence intervals, p-values, and effect sizes. - Generates audience-specific explanations and publication-ready figure captions. - Includes a critical appraisal tool and quality checklist to identify common visualization issues and ensure reporting standards. - Offers command-line and programmatic usage examples for figure analysis, caption generation, and batch processing.
Metadata
Slug graph-interpretation
Version 0.1.0
License MIT-0
All-time Installs 2
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Graph Interpretation?

Use when interpreting scientific graphs and charts, explaining data visualizations for research presentations, writing figure captions for publications, or a... It is an AI Agent Skill for Claude Code / OpenClaw, with 153 downloads so far.

How do I install Graph Interpretation?

Run "/install graph-interpretation" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Graph Interpretation free?

Yes, Graph Interpretation is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Graph Interpretation support?

Graph Interpretation is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Graph Interpretation?

It is built and maintained by AIpoch (@aipoch-ai); the current version is v0.1.0.

💬 Comments