pie-chart-data-analysis

pie-chart-data-analysis is a skill for Claude Code, Codex from OpenSenseNova/SenseNova-Skills. It costs 43 tokens per session (1,290 once invoked), scanned A, original, MIT.

A data-analysis workflow for pie charts that reads CSV or Excel files, counts rows across worksheets, and identifies category and numeric columns using built-in rules.

In plain words
What is it for?
Use it to inspect spreadsheet size, select a numeric measure such as amount or score, identify categories, and prepare data for pie-chart work.
Why use it?
It helps decide how to process the data and prepares likely fields for a pie-chart analysis without manually inspecting every sheet.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to inspect spreadsheet size, select a numeric measure such as amount or score, identify categories, and prepare data for pie-chart work.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/opensensenova/sensenova-skills/pie-chart-visualization
About the project

SenseNova-Skills is a collection of modular skills that extend SenseNova models with office-assistant capabilities such as image generation, presentation creation, spreadsheet analysis, and research. The skills are designed for use in agent runtimes and can be combined into productivity workflows; the catalogue entries are individual skills and agents from this collection.

OpenSenseNova/SenseNova-Skills · 5,476 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add OpenSenseNova/SenseNova-Skills --skill pie-chart-visualization
Clone the repo
git clone --depth 1 https://github.com/OpenSenseNova/SenseNova-Skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pie-chart-data-analysis

README.md
[![agentmods](https://agentmods.dev/badge/skills/opensensenova/sensenova-skills/pie-chart-visualization/github.svg)](https://agentmods.dev/skills/opensensenova/sensenova-skills/pie-chart-visualization)
Your own site
<a href="https://agentmods.dev/skills/opensensenova/sensenova-skills/pie-chart-visualization"><img src="https://agentmods.dev/badge/skills/opensensenova/sensenova-skills/pie-chart-visualization/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pie-chart-data-analysis

Your own site · 80×15
<a href="https://agentmods.dev/skills/opensensenova/sensenova-skills/pie-chart-visualization"><img src="https://agentmods.dev/badge/skills/opensensenova/sensenova-skills/pie-chart-visualization.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 43 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,290 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00043 $0.01290
Opus 5 $0.00022 $0.00645
Sonnet 5 $0.00009 $0.00258
Haiku 4.5 $0.00004 $0.00129

Measured 10d ago against content hash f4266ef75325, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

pie-chart-data-analysis scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/sn-da-excel-workflow/capability/excel-data-visualization/pie-chart-visualization/SKILL.md · 131 lines

What it actually says

Step1 读取文件并统计所有 Sheet 的行数,确认数据规模以决定处理策略。

import pandas as pd

file_path = input_file
total_rows = 0
sheet_names = []

try:
    if file_path.endswith('.xlsx'):
        excel_file = pd.ExcelFile(file_path)
        sheet_names = excel_file.sheet_names
        # 统计所有工作表总行数
        for sheet in sheet_names:
            df_tmp = pd.read_excel(file_path, sheet_name=sheet)
            total_rows += len(df_tmp)
    elif file_path.endswith('.csv'):
        df = pd.read_csv(file_path)
        total_rows = len(df)
    else:
        raise ValueError("不支持的文件格式,仅支持 .xlsx 或 .csv")
except Exception as e:
    raise RuntimeError(f"文件读取失败: {e}")

is_large_file = total_rows >= 10000

Step2 自动识别分类列与数值列,执行数据清洗与格式转换。

import re

# 加载首个有效数据集
if file_path.endswith('.xlsx'):
    df = pd.read_excel(file_path, sheet_name=sheet_names[0])
else:
    df = pd.read_csv(file_path)

# 1. 识别数值目标列(如:金额、支出、得分、数量)
target_keywords = ['金额', '支出', '造价', '经费', '数量', '得分']
target_cols = [col for col in df.columns if any(k in col for k in target_keywords)]
target_col = target_cols[0] if target_cols else df.select_dtypes(include=['number']).columns[0]

# 2. 识别分类列(支持正则匹配中文序号或特定分类标识)
category_pattern = re.compile(r'[一二三四五六七八九十百]+|地区|类别|类型|状态')
category_cols = [col for col in df.columns if category_pattern.search(col)]
category_col = category_cols[0] if category_cols else df.select_dtypes(include=['object']).columns[0]

# 3. 数据清洗:处理合并单元格填充、缺失值及类型转换
df[category_col] = df[category_col].ffill() # 处理 Excel 合并单元格
df[target_col] = pd.to_numeric(df[target_col], errors='coerce')
clean_df = df[[category_col, target_col]].dropna()
clean_df.columns = ['category', 'value']

Step3 执行多维度聚合分析,计算占比及汇总统计。

# 分类汇总
summary_df = clean_df.groupby('category', as_index=False)['value'].sum()
total_val = summary_df['value'].sum()

# 计算占比并格式化
summary_df['percentage'] = (summary_df['value'] / total_val * 100).round(2)
summary_df = summary_df.sort_values(by='value', ascending=False)

# 构造总计行(可选)
total_row = pd.DataFrame([['总计', total_val, 100.0]], columns=summary_df.columns)
display_df = pd.concat([summary_df, total_row], ignore_index=True)

Step4 生成美化饼图并导出包含图表的 Excel 报告。

import matplotlib.pyplot as plt
from io import BytesIO
import base64
from openpyxl.drawing.image import Image

# 配置中英文字体
plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans']
plt.rcParams['axes.unicode_minus'] = False

fig, ax = plt.subplots(figsize=(10, 7), dpi=120)
colors = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#96CEB4', '#FFEAA7', '#DDA0DD']

# 突出显示最大占比项
explode = [0.05 if i == 0 else 0 for i in range(len(summary_df))]

wedges, texts, autotexts = ax.pie(
    summary_df['value'],
    labels=summary_df['category'],
    autopct='%1.1f%%',
    startangle=140,
    colors=colors,
    explode=explode,
    shadow=True,
    pctdistance=0.85
)

# 添加中心白圈(环形图效果)
centre_circle = plt.Circle((0,0), 0.70, fc='white')
fig.gca().add_artist(centre_circle)

plt.title(f'{target_col} 分布分析', fontsize=15, pad=20)
ax.legend(wedges, summary_df['category'], title="分类明细", loc="center left", bbox_to_anchor=(1, 0, 0.5, 1))

# 保存图表到内存
img_buffer = BytesIO()
plt.savefig(img_buffer, format='png', bbox_inches='tight')
plt.close()

# 写入 Excel 并嵌入图表
output_path = 'analysis_report.xlsx'
with pd.ExcelWriter(output_path, engine='openpyxl') as writer:
    display_df.to_excel(writer, sheet_name='统计汇总', index=False)
    ws = writer.book['统计汇总']
    img_buffer.seek(0)
    img = Image(img_buffer)
    ws.add_image(img, 'E2')

# 生成 Base64 下载链接
with open(output_path, "rb") as f:
    b64 = base64.b64encode(f.read()).decode()
download_url = f"data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,{b64}"

print(f"分析完成。总行数: {total_rows},下载链接已生成。")
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 131 lines · 43 tokens per session scan A f4266ef75325

Subscribe to this mod's changes

pie-chart-data-analysis is a skill published in the GitHub repository OpenSenseNova/SenseNova-Skills (5,476 stars, last pushed today), licensed MIT. It adds 43 tokens to every session and 1,290 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

ha-data-analytics

A local-first data-analysis and reporting skill for CSV and spreadsheet files. It produces decision-ready analyses and shareable offline reports while separating facts, calculations, interpretations, and recommendations.

shiwenwen/hope-agent · 106 tokens

office-xlsx

Use when the user asks to create, inspect, verify, analyze, format, or deliver Excel .xlsx workbooks, Google Sheets-targeted spreadsheet artifacts, trackers, budgets, models, tables, dashboards, formulas, CSV/TSV-to-XLSX conversions, or spreadsheet-ready data packs.

shiwenwen/hope-agent · 64 tokens

xlsx

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify…

netease-youdao/LobsterAI · 96 tokens

agent-office

A guide for creating, editing, rewriting, converting, processing, or delivering Word documents, spreadsheets, presentations, and PDF files.

kawayiYokami/P-ai · 42 tokens

csv-analysis

Use this skill for CSV data analysis tasks that require reading a local CSV file, checking row counts and columns, grouping records, computing rates or aggregates, creating a chart, and writing a short Markdown report.

zjunlp/DataMind · 44 tokens

data-analysis

Use this skill when the user uploads Excel (.xlsx/.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to…

bytedance/deer-flow · 69 tokens