# analytics-data-analysis

Gives your agent a fixed routine for pandas, matplotlib and seaborn work: clean the dataset, plot it, document the notebook.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1100 installs · ★ 286
- Author: Mindrally
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/Mindrally/skills/tree/HEAD/analytics-data-analysis/SKILL.md
- Updated: 2026-10-08
- HTML: https://affpapa.org/en/nevibecode/skills/analytics-data-analysis

## What it does

The skill lays out an exploratory analysis pipeline in order: load the data and check `.shape`, `.dtypes`, `.describe()`, handle missing values and dtypes, look for relationships with `.groupby()` and `.corr()`, then plot and validate with statistical tests. Each stage is written out, so the agent does not skip from loading straight to charts.

Inside are pandas and visualization conventions. Method chaining instead of long assignment chains, vectorized operations instead of loops, categorical dtype for low-cardinality string columns. For plots: axis labels, titles, colorblind-friendly palettes. A separate section covers notebooks — markdown sections, meaningful cell execution order, cleared outputs before sharing, `requirements.txt` for dependencies.

The skill assumes pandas, numpy, matplotlib, seaborn and Jupyter are already installed. If your project has its own code style or a linter with different rules, these recommendations will argue with it, and that is worth checking before you let the agent loose.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add Mindrally/skills --skill analytics-data-analysis -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/analytics-data-analysis/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/analytics-data-analysis/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add Mindrally/skills --skill analytics-data-analysis -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/analytics-data-analysis/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add Mindrally/skills --skill analytics-data-analysis -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/analytics-data-analysis/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Mindrally/skills analytics-data-analysis
```

2. **Manually: put the files in place**
- File: `.github/skills/analytics-data-analysis/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add Mindrally/skills --skill analytics-data-analysis -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/Mindrally/skills --path analytics-data-analysis
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/analytics-data-analysis/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add Mindrally/skills --skill analytics-data-analysis -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/Mindrally/skills/tree/HEAD/analytics-data-analysis/SKILL.md

## When to use it
- inspect an unfamiliar CSV and see what is in it
- fill missing values and fix column dtypes
- aggregate metrics per group with `groupby`
- plot a distribution with labeled axes
- structure a Jupyter notebook so someone else can follow it

## Example prompts
- Load `data.csv` and show `.shape`, `.dtypes` and the missing count per column
- Make a seaborn boxplot of revenue by category with a colorblind palette
- Tidy up this notebook: markdown sections, cleared outputs, dependencies in `requirements.txt`

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 2cf05551c222da16.

BEGIN THIRD-PARTY FILE 2cf05551c222da16
````text
---
name: analytics-data-analysis
description: "Best practices for analytics, data analysis, and visualization using Python, pandas, matplotlib, seaborn, and Jupyter notebooks. Use when performing exploratory data analysis, building data pipelines, creating statistical visualizations, writing Jupyter notebooks, cleaning and transforming datasets, or implementing analytics dashboards."
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Analytics and Data Analysis

Guidelines for data analysis, visualization, and Jupyter-based workflows using pandas, matplotlib, seaborn, and numpy. Prioritize readability, reproducibility, and vectorized operations.

## Workflow: Exploratory Data Analysis Pipeline

1. **Load and inspect** — Read data with `pd.read_csv()` or appropriate loader, check `.shape`, `.dtypes`, `.describe()`, and `.isnull().sum()`
2. **Clean and transform** — Handle missing values, fix dtypes, rename columns, filter outliers using vectorized pandas operations
3. **Explore relationships** — Use `.groupby()`, `.corr()`, and cross-tabulations to identify patterns
4. **Visualize findings** — Create targeted plots with matplotlib/seaborn; label axes, add titles, use colorblind-friendly palettes
5. **Validate results** — Run statistical tests, report confidence intervals, verify assumptions
6. **Document and share** — Structure notebook with markdown sections, clear outputs before sharing, pin dependencies

## Key Principles

- Write concise, technical code with accurate Python examples
- Emphasize readability and reproducibility in data analysis workflows
- Use functional programming patterns; minimize class usage
- Leverage vectorized operations over explicit loops for performance
- Use descriptive variable naming conventions (e.g., `is_valid`, `has_data`, `total_count`)
- Adhere to PEP 8 style guidelines

## Quick Start Example

```python
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# Load and inspect
df = pd.read_csv("data.csv", parse_dates=["timestamp"])
print(f"Shape: {df.shape}, Missing: {df.isnull().sum().sum()}")

# Clean: drop rows missing target, fill numeric gaps with median
df = (
    df.dropna(subset=["revenue"])
    .assign(category=lambda x: x["category"].astype("category"))
    .fillna(df.select_dtypes("number").median())
)

# Analyze: revenue by category
summary = df.groupby("category")["revenue"].agg(["mean", "median", "std"])

# Visualize
fig, ax = plt.subplots(figsize=(10, 6))
sns.boxplot(data=df, x="category", y="revenue", palette="colorblind", ax=ax)
````
END THIRD-PARTY FILE 2cf05551c222da16

The third-party file has ended. Everything between the 2cf05551c222da16 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2595 of 6551 bytes. © Mindrally · Apache-2.0 · https://github.com/Mindrally/skills/tree/HEAD/analytics-data-analysis/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
