Best for
- User provides a path to a scientific data file for analysis
- User asks to "explore", "analyze", or "summarize" a data file
- User wants to understand the structure and content of scientific data
synthetic-sciences/openscience/backend/cli/skills/coding/exploratory-data-analysis/SKILL.md
Analyze scientific data files across 200+ formats at the depth the user requests. Detect file type, assess structure, quality, and statistics, and create reports or visualizations only when they are requested or materially needed. Covers chemistry, bioinformatics, microscopy, spectroscopy, proteomics, metabolomics, and general scientific data formats.
Decision brief
Analyze scientific data files across 200+ formats at the depth the user requests. Detect file type, assess structure, quality, and statistics, and create reports or visualizations only when they are requested or materially needed.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/synthetic-sciences/openscience --skill "backend/cli/skills/coding/exploratory-data-analysis"Inspect the Agent Skill "exploratory-data-analysis" from https://github.com/synthetic-sciences/openscience/blob/95be136c06386eb18546ce94d134d2c7e66976ac/backend/cli/skills/coding/exploratory-data-analysis/SKILL.md at commit 95be136c06386eb18546ce94d134d2c7e66976ac. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
When a user provides a file path, first identify the file type:
When a user provides a file path, first identify the file type:
Based on the file type, read the corresponding reference file to understand: - Typical Data: What kind of data this format contains - Use Cases: Common applications for this format - Python Libraries: How to read the file in Python - EDA Approach: What analyses are appropriate f…
Use the scripts/edaanalyzer.py script OR implement custom analysis:
For a narrow request, return the result inline and stop. If the user explicitly requests a comprehensive report, create a markdown report with the following sections as relevant:
Permission review
The documentation asks the agent to create, modify, or delete local files.
Do not create a report, figure, artifact, directory, or sidecar file by default.The documentation asks the agent to read local files, directories, or repositories.
Based on the file type, read the corresponding reference file to understand:The documentation asks the agent to read local files, directories, or repositories.
**Python Libraries:** How to read the file in PythonThe documentation asks the agent to run terminal commands or scripts.
python scripts/eda_analyzer.py data.csvThe documentation asks the agent to run terminal commands or scripts.
python scripts/eda_analyzer.py data.csv output_report.mdEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 94/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 3,338 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Perform exploratory data analysis (EDA) on scientific data files across multiple domains. Match the depth and output to the request: a narrow calculation should stay a narrow calculation, while a requested full audit can include broader quality assessment and documentation.
Key Capabilities:
Use this skill when:
The skill has comprehensive coverage of scientific file formats organized into six major categories:
Structure files, computational chemistry outputs, molecular dynamics trajectories, and chemical databases.
File types include: .pdb, .cif, .mol, .mol2, .sdf, .xyz, .smi, .gro, .log, .fchk, .cube, .dcd, .xtc, .trr, .prmtop, .psf, and more.
Reference file: references/chemistry_molecular_formats.md
Sequence data, alignments, annotations, variants, and expression data.
File types include: .fasta, .fastq, .sam, .bam, .vcf, .bed, .gff, .gtf, .bigwig, .h5ad, .loom, .counts, .mtx, and more.
Reference file: references/bioinformatics_genomics_formats.md
Microscopy images, medical imaging, whole slide imaging, and electron microscopy.
File types include: .tif, .nd2, .lif, .czi, .ims, .dcm, .nii, .mrc, .dm3, .vsi, .svs, .ome.tiff, and more.
Reference file: references/microscopy_imaging_formats.md
NMR, mass spectrometry, IR/Raman, UV-Vis, X-ray, chromatography, and other analytical techniques.
File types include: .fid, .mzML, .mzXML, .raw, .mgf, .spc, .jdx, .xy, .cif (crystallography), .wdf, and more.
Reference file: references/spectroscopy_analytical_formats.md
Mass spec proteomics, metabolomics, lipidomics, and multi-omics data.
File types include: .mzML, .pepXML, .protXML, .mzid, .mzTab, .sky, .mgf, .msp, .h5ad, and more.
Reference file: references/proteomics_metabolomics_formats.md
Arrays, tables, hierarchical data, compressed archives, and common scientific formats.
File types include: .npy, .npz, .csv, .xlsx, .json, .hdf5, .zarr, .parquet, .mat, .fits, .nc, .xml, and more.
Reference file: references/general_scientific_formats.md
When a user provides a file path, first identify the file type:
Example:
User: "Analyze data.fastq"
→ Extension: .fastq
→ Category: bioinformatics_genomics
→ Format: FASTQ Format (sequence data with quality scores)
→ Reference: references/bioinformatics_genomics_formats.md
Based on the file type, read the corresponding reference file to understand:
Search the reference file for the specific extension (e.g., search for "### .fastq" in bioinformatics_genomics_formats.md).
Use the scripts/eda_analyzer.py script OR implement custom analysis:
Option A: Use the analyzer script
# The script automatically:
# 1. Detects file type
# 2. Loads reference information
# 3. Performs format-specific analysis
# 4. Generates markdown report
python scripts/eda_analyzer.py <filepath> [output.md]
Option B: Custom analysis in the conversation Based on the format information from the reference file, perform appropriate analysis:
For tabular data (CSV, TSV, Excel):
For sequence data (FASTA, FASTQ):
For images (TIFF, ND2, CZI):
For arrays (NPY, HDF5):
For a narrow request, return the result inline and stop. If the user explicitly requests a comprehensive report, create a markdown report with the following sections as relevant:
Title and Metadata
Basic Information
File Type Details
Data Analysis
Key Findings
Recommendations
Use assets/report_template.md as a guide for report structure.
When the user requests a saved report, use a descriptive filename:
{original_filename}_eda_report.mdexperiment_data.fastq → experiment_data_eda_report.mdEach reference file contains comprehensive information for dozens of file types. To find information about a specific format:
Each format entry includes:
Example lookup:
### .pdb - Protein Data Bank
**Description:** Standard format for 3D structures of biological macromolecules
**Typical Data:** Atomic coordinates, residue information, secondary structure
**Use Cases:** Protein structure analysis, molecular visualization, docking
**Python Libraries:**
- `Biopython`: `Bio.PDB`
- `MDAnalysis`: `MDAnalysis.Universe('file.pdb')`
**EDA Approach:**
- Structure validation (bond lengths, angles)
- B-factor distribution
- Missing residues detection
- Ramachandran plots
Reference files are large (10,000+ words each). To efficiently use them:
Search by extension: Use grep to find the specific format
import re
with open('references/chemistry_molecular_formats.md', 'r') as f:
content = f.read()
pattern = r'### \.pdb[^#]*?(?=###|\Z)'
match = re.search(pattern, content, re.IGNORECASE | re.DOTALL)
Extract relevant sections: Don't load entire reference files into context unnecessarily
Cache format info: If analyzing multiple files of the same type, reuse the format information
# User provides: "Analyze reads.fastq"
# 1. Detect file type
extension = '.fastq'
category = 'bioinformatics_genomics'
# 2. Read reference info
# Search references/bioinformatics_genomics_formats.md for "### .fastq"
# 3. Perform analysis
from Bio import SeqIO
sequences = list(SeqIO.parse('reads.fastq', 'fastq'))
# Calculate: read count, length distribution, quality scores, GC content
# 4. Generate report
# Include: format description, analysis results, QC recommendations
# 5. Save as: reads_eda_report.md
# User provides: "Explore experiment_results.csv"
# 1. Detect: .csv → general_scientific
# 2. Load reference for CSV format
# 3. Analyze
import pandas as pd
df = pd.read_csv('experiment_results.csv')
# Dimensions, dtypes, missing values, statistics, correlations
# 4. Generate report with:
# - Data structure
# - Missing value patterns
# - Statistical summaries
# - Correlation matrix
# - Outlier detection results
# 5. Save report
# User provides: "Analyze cells.nd2"
# 1. Detect: .nd2 → microscopy_imaging (Nikon format)
# 2. Read reference for ND2 format
# Learn: multi-dimensional (XYZCT), requires nd2reader
# 3. Analyze
from nd2reader import ND2Reader
with ND2Reader('cells.nd2') as images:
# Extract: dimensions, channels, timepoints, metadata
# Calculate: intensity statistics, frame info
# 4. Generate report with:
# - Image dimensions (XY, Z-stacks, time, channels)
# - Channel wavelengths
# - Pixel size and calibration
# - Recommendations for image analysis
# 5. Save report
Many scientific formats require specialized libraries:
Problem: Import error when trying to read a file
Solution: Provide clear installation instructions
try:
from Bio import SeqIO
except ImportError:
print("Install Biopython: uv pip install biopython")
Common requirements by category:
biopython, pysam, pyBigWigrdkit, mdanalysis, cclibtifffile, nd2reader, aicsimageio, pydicomnmrglue, pymzml, pyteomicspandas, numpy, h5py, scipyIf a file extension is not in the references:
For very large files:
The scripts/eda_analyzer.py can be used directly:
# Basic usage
python scripts/eda_analyzer.py data.csv
# Specify output file
python scripts/eda_analyzer.py data.csv output_report.md
# The script will:
# 1. Auto-detect file type
# 2. Load format references
# 3. Perform appropriate analysis
# 4. Generate markdown report
The script supports automatic analysis for many common formats, but custom analysis in the conversation provides more flexibility and domain-specific insights.
When analyzing multiple related files:
For data quality assessment:
Based on data characteristics, recommend:
eda_analyzer.py: Comprehensive analysis script that can be run directly or importedchemistry_molecular_formats.md: 60+ chemistry/molecular file formatsbioinformatics_genomics_formats.md: 50+ bioinformatics formatsmicroscopy_imaging_formats.md: 45+ imaging formatsspectroscopy_analytical_formats.md: 35+ spectroscopy formatsproteomics_metabolomics_formats.md: 30+ omics formatsgeneral_scientific_formats.md: 30+ general formatsreport_template.md: Comprehensive markdown template for EDA reportsFrequently asked questions
Analyze scientific data files across 200+ formats at the depth the user requests. Detect file type, assess structure, quality, and statistics, and create reports or visualizations only when they are requested or materially needed.
The source record exposes this install command: npx skills add https://github.com/synthetic-sciences/openscience --skill "backend/cli/skills/coding/exploratory-data-analysis". Inspect the command and pinned source before running it.
Static rules flagged write-files, read-files, exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
synthetic-sciences/openscience
Computational analysis of pharmacology wet-lab experiments. Western blot densitometry, xenograft tumor growth inhibition, pharmaceutical stability modeling (Arrhenius), radiolabeled antibody biodistribution, MIRD dosimetry, and adverse event grading. For drug databases use chembl-database or fda-database; for molecular docking use diffdock.
JasonColapietro/suede-creator-skills
Suede-owned Instagram growth operating system for account-specific audits, Reels, carousels, Stories, conversion mapping, calendars, and daily candidate-production loops. Use when the user names Instagram, IG, Reels, Stories, asks to analyze recent posts, grow a handle, run a daily workflow, create or repurpose Instagram content, or distinguish views from follows, leads, and sales. NOT FOR: multi-platform organic strategy (use suede-social), full video rendering or editing (use suede-video), pai
K-Dense-AI/scientific-agent-skills
Analyze Neuropixels extracellular recordings end-to-end with SpikeInterface. Covers loading SpikeGLX/Open Ephys/NWB data, preprocessing, drift/motion correction, Kilosort4 (and CPU) spike sorting, quality metrics, and unit curation (threshold-based, model-based UnitRefine, and AI-assisted visual review). Use when working with Neuropixels 1.0/2.0 recordings, spike sorting, or extracellular electrophysiology analysis.