Skip to content
Automation
Skill

/data-analysis

Loads CSV, Excel, and JSON data files, performs statistical analysis, and generates charts and reports. Use when the user asks to analyze a dataset, compute statistics, create visualizations, find trends, or produce a data report.

From plugin
golembot
32613 skills

Claude Code

$ npx -y skills add 0xranx/golembot --skill data-analysis --agent claude-code

SKILL.md

data-analysis.SKILL.md
name: data-analysis
description: "Loads CSV, Excel, and JSON data files, performs statistical analysis, and generates charts and reports. Use when the user asks to analyze a dataset, compute statistics, create visualizations, find trends, or produce a data report."

Data Analysis Skill

Process data files in the `data/` directory, perform analysis, and output reports to `reports/`.

Step-by-Step Workflow

1. **Identify the data source** — List available files and confirm with the user which to analyze:

ls data/

2. **Load and inspect the data** — Use Python to read the file and show a summary:

import pandas as pd

df = pd.read_csv("data/sales.csv")  # or read_excel / read_json
print(f"Shape: {df.shape}")
print(f"Columns: {list(df.columns)}")
print(df.dtypes)
print(df.describe())
print(f"Missing values:\n{df.isnull().sum()}")

3. **Clean the data** — Handle missing values, fix types, remove duplicates:

df = df.drop_duplicates()
df["date"] = pd.to_datetime(df["date"], errors="coerce")
df["amount"] = pd.to_numeric(df["amount"], errors="coerce")
df = df.dropna(subset=["date", "amount"])
print(f"Clean shape: {df.shape}")

4. **Analyze** — Compute the requested statistics or aggregations:

# Example: monthly revenue trend
monthly = df.groupby(df["date"].dt.to_period("M"))["amount"].sum()
print(monthly)

# Example: correlation matrix
print(df[["amount", "quantity", "discount"]].corr())

5. **Visualize** — Generate charts and save to `reports/`:

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt

monthly.plot(kind="bar", title="Monthly Revenue")
plt.tight_layout()
plt.savefig("reports/monthly_revenue.png", dpi=150)
plt.close()
print("Chart saved to reports/monthly_revenue.png")

6. **Write the report** — Save a Markdown report to `reports/`:

with open("reports/analysis_report.md", "w") as f:
    f.write("# Analysis Report\n\n")
    f.write("## Summary\n")
    f.write(f"- Total records: {len(df)}\n")
    f.write(f"- Date range: {df['date'].min()} to {df['date'].max()}\n")
    f.write(f"- Total revenue: {df['amount'].sum():,.2f}\n\n")
    f.write("## Charts\n")
    f.write("![Monthly Revenue](monthly_revenue.png)\n")
print("Report saved to reports/analysis_report.md")

Validation Checkpoints

After each step, verify before proceeding:

  • After loading: confirm row count and column names are plausible
  • After cleaning: check that no critical data was dropped unexpectedly (compare row counts)
  • After analysis: sanity-check totals and aggregations (e.g., no negative counts)
  • After saving: confirm output files exist with `ls reports/`

Using calc.py

For complex or specialized calculations, use the `calc.py` helper script:

python calc.py --input data/sales.csv --operation regression --output reports/regression.json

Output Format

Analysis reports should follow this structure:

# [Analysis Topic] Report

## Summary
- Key finding 1
- Key finding 2

## Data Overview
- Records: N rows
- Time range: ...

## Detailed Analysis
...

## Recommendations
...
Read more
@0xranx
Ships withgolembot

Any Agent × Any Provider × Anywhere. Connect Cursor, Claude Code, OpenCode, or Codex to Slack, Telegram, Discord, Feishu, DingTalk, WeCom, WeChat — with any LLM provider.

Stars on GitHub

Momentum

stars in total
326
Star history of 0xranx/golembot on GitHub, a chart by star-history.com

Other skills on golembot.

escalation

escalation

Escalate unresolvable or sensitive requests to a human agent by recording an escalation entry. Use when the user asks to speak to…

@0xranx@0xranxInstall Skill
general

general

Handle everyday conversation, answer questions, manage files, take notes, run scripts, and maintain persistent memory across…

@0xranx@0xranxInstall Skill
im-adapter

im-adapter

Format responses for instant messaging platforms such as Lark, DingTalk, WeCom, Slack, and Telegram. Controls response length,…

@0xranx@0xranxInstall Skill
kb-guide

kb-guide

Search, read, create, and update knowledge base entries via MCP-connected KB tools. Use when the user asks to look up…

@0xranx@0xranxInstall Skill
message-push

message-push

Send proactive messages to IM groups or individual users via the gateway Send API. Use when the user says to send, post, notify,…

@0xranx@0xranxInstall Skill
multi-bot

multi-bot

Coordinates responses between multiple GolemBot instances in a shared fleet. Use when the bot operates in a group chat with other…

@0xranx@0xranxInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n11d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about data-analysis.

Which coding agents can use data-analysis?
data-analysis installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.