
Excel Analysis
Load .xlsx workbooks with pandas, summarize tabular data, group and filter metrics, and write formatted outputs for solo founder reporting.
Overview
Excel Analysis is an agent skill most often used in Grow (also Validate, Build) that analyzes .xlsx spreadsheets with pandas—read, aggregate, filter, and write results.
Install
npx skills add https://github.com/davila7/claude-code-templates --skill excel-analysisWhat is this skill?
- Quick start with pd.read_excel, head(), and describe() on Sheet1
- Iterate all sheets via pd.ExcelFile and sheet_names
- Groupby aggregates, filters, derived profit_margin, and sort_values patterns
- Write outputs with pd.ExcelWriter and openpyxl engine
Adoption & trust: 1.8k installs on skills.sh; 27.8k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have Excel or .xlsx tabular data and need repeatable pandas patterns for exploration, pivot-like groupbys, and formatted exports without reinventing snippets each time.
Who is it for?
Solo builders analyzing sales, ops, or survey spreadsheets who already run Python and want agent-guided pandas recipes.
Skip if: Huge files that need a dedicated ETL pipeline, real-time dashboards only, or teams forbidden from executing local Python on sensitive workbooks.
When should I use this skill?
When analyzing Excel files, spreadsheets, tabular data, or .xlsx files.
What do I get? / Deliverables
Your agent produces analyzed DataFrames, summary statistics, and optionally new Excel workbooks using the skill's read/write templates.
- Explored DataFrame summaries and filtered views
- Optional new Excel workbook via ExcelWriter
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Spreadsheet analysis most often supports growth decisions and reporting; canonical shelf is Grow/analytics even when used earlier for validation spreadsheets. Analytics subphase covers pivot-style aggregates, KPI columns, and chart-ready tables from Excel sources.
Where it fits
Aggregate unit economics from a pricing model .xlsx before committing to a SaaS tier structure.
Group sales by region and filter high-value rows from a weekly export.
Write a formatted output.xlsx summary table for a stakeholder or investor update.
How it compares
Use as an in-repo pandas cookbook skill, not a hosted spreadsheet API or MCP Excel connector.
Common Questions / FAQ
Who is excel analysis for?
Indie founders and solo developers who analyze .xlsx files with pandas inside Claude Code, Cursor, or similar agents.
When should I use excel analysis?
In validate when scoping numbers from a prototype workbook, in grow when summarizing exports, or in build when generating formatted Excel deliverables from tabular data.
Is excel analysis safe to install?
Check the Security Audits panel on this page; the skill only documents local pandas code—risk depends on your data handling and where you run scripts.
SKILL.md
READMESKILL.md - Excel Analysis
# Excel Analysis ## Quick start Read Excel files with pandas: ```python import pandas as pd # Read Excel file df = pd.read_excel("data.xlsx", sheet_name="Sheet1") # Display first few rows print(df.head()) # Basic statistics print(df.describe()) ``` ## Reading multiple sheets Process all sheets in a workbook: ```python import pandas as pd # Read all sheets excel_file = pd.ExcelFile("workbook.xlsx") for sheet_name in excel_file.sheet_names: df = pd.read_excel(excel_file, sheet_name=sheet_name) print(f"\n{sheet_name}:") print(df.head()) ``` ## Data analysis Perform common analysis tasks: ```python import pandas as pd df = pd.read_excel("sales.xlsx") # Group by and aggregate sales_by_region = df.groupby("region")["sales"].sum() print(sales_by_region) # Filter data high_sales = df[df["sales"] > 10000] # Calculate metrics df["profit_margin"] = (df["revenue"] - df["cost"]) / df["revenue"] # Sort by column df_sorted = df.sort_values("sales", ascending=False) ``` ## Creating Excel files Write data to Excel with formatting: ```python import pandas as pd df = pd.DataFrame({ "Product": ["A", "B", "C"], "Sales": [100, 200, 150], "Profit": [20, 40, 30] }) # Write to Excel writer = pd.ExcelWriter("output.xlsx", engine="openpyxl") df.to_excel(writer, sheet_name="Sales", index=False) # Get worksheet for formatting worksheet = writer.sheets["Sales"] # Auto-adjust column widths for column in worksheet.columns: max_length = 0 column_letter = column[0].column_letter for cell in column: if len(str(cell.value)) > max_length: max_length = len(str(cell.value)) worksheet.column_dimensions[column_letter].width = max_length + 2 writer.close() ``` ## Pivot tables Create pivot tables programmatically: ```python import pandas as pd df = pd.read_excel("sales_data.xlsx") # Create pivot table pivot = pd.pivot_table( df, values="sales", index="region", columns="product", aggfunc="sum", fill_value=0 ) print(pivot) # Save pivot table pivot.to_excel("pivot_report.xlsx") ``` ## Charts and visualization Generate charts from Excel data: ```python import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel("data.xlsx") # Create bar chart df.plot(x="category", y="value", kind="bar") plt.title("Sales by Category") plt.xlabel("Category") plt.ylabel("Sales") plt.tight_layout() plt.savefig("chart.png") # Create pie chart df.set_index("category")["value"].plot(kind="pie", autopct="%1.1f%%") plt.title("Market Share") plt.ylabel("") plt.savefig("pie_chart.png") ``` ## Data cleaning Clean and prepare Excel data: ```python import pandas as pd df = pd.read_excel("messy_data.xlsx") # Remove duplicates df = df.drop_duplicates() # Handle missing values df = df.fillna(0) # or df.dropna() # Remove whitespace df["name"] = df["name"].str.strip() # Convert data types df["date"] = pd.to_datetime(df["date"]) df["amount"] = pd.to_numeric(df["amount"], errors="coerce") # Save cleaned data df.to_excel("cleaned_data.xlsx", index=False) ``` ## Merging and joining Combine multiple Excel files: ```python import pandas as pd # Read multiple files df1 = pd.read_excel("sales_q1.xlsx") df2 = pd.read_excel("sales_q2.xlsx") # Concatenate vertically combined = pd.concat([df1, df2], ignore_index=True) # Merge on common column customers = pd.read_excel("customers.xlsx") sales = pd.read_excel("sales.xlsx") merged = pd.merge(sales, customers, on="customer_id", how="left") merged.to_excel("merged_data.xlsx", index=False) ``` ## Advanced formatting Apply conditional formatting and styles: ```python import pandas as pd from openpyxl import load_workbook from openpyxl.styles import PatternFill, Font # Create Excel file df = pd.DataFrame({ "Prod