mcpbeat Sign in

Chart Embedded Export Agent Skill

从结构化数据中提取分类分布执行清洗与统计,生成多维度交叉分析、高分辨率对比图表及包含下载链接的完整分析报告,适用于大文件处理与嵌入式可视化场景。

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
4851
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/OpenSenseNova/SenseNova-Skills --skill chart-embedded-export

The instruction itself

1 sections, as written by the author

Skill Steps

> This sub-skill covers one capability of the Excel workflow. For reading/counting/Parquet optimization, see the parent workflow SKILL.md.

Step1 执行数据清洗,处理合并单元格,使用正则表达式清理文本,并建立分类映射函数骨架。

target_col = '分类字段'
value_col = '数值字段'

# 合并单元格处理 (向下填充还原)
df[target_col] = df[target_col].ffill()

# 数据清洗:正则去除特殊字符、去空、类型转换
df[target_col] = df[target_col].astype(str).str.replace(r'[^\w\s]', '', regex=True).str.strip()
df[value_col] = pd.to_numeric(df[value_col], errors='coerce')
df = df.dropna(subset=[target_col, value_col])

# 分类映射函数骨架
def map_category(val):
    if 'A类特征' in str(val): return 'Category_A'
    elif 'B类特征' in str(val): return 'Category_B'
    return 'Other'

df['Mapped_Category'] = df[target_col].apply(map_category)

Step2 进行多维度统计与交叉分析,计算分类占比并生成包含总计行的交叉表。

group_col = '分组字段'

# value_counts 统计与占比计算
counts = df[group_col].value_counts()
proportions = (counts / counts.sum() * 100).round(2)

# 交叉分析 (crosstab),包含总计行
cross_analysis = pd.crosstab(df[group_col], df['Mapped_Category'], margins=True, margins_name='总计')

# 多维度聚合统计
stats = df.groupby(group_col)[value_col].agg(['sum', 'mean', 'min', 'max']).round(2)

Step3 执行业务逻辑计算(如多维度评分与分级),将结果导出为 Excel 并生成沙盒下载链接。

# 多维度评分/分级算法结构
df['Score'] = df[value_col] * 1.5  # 示例计算逻辑
df['Grade'] = pd.cut(df['Score'], bins=[0, 50, 80, 100], labels=['C', 'B', 'A'])

# 导出结构化结果
output_excel_path = 'analysis_result.xlsx'
df.to_excel(output_excel_path, index=False)

# 生成可点击的下载链接
print(f"分析结果已保存,下载链接:[下载结果数据](sandbox:{output_excel_path})")

Step4 配置中英文字体,生成包含饼图、柱状图、箱线图和直方图的综合可视化面板,并导出高分辨率双格式图片。

output_img_path = 'comprehensive_chart.png'

# 中英文字体配置与图表美化
plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans', 'WenQuanYi Zen Hei']
plt.rcParams['axes.unicode_minus'] = False

fig, axes = plt.subplots(2, 2, figsize=(15, 12))
fig.suptitle('多维度数据分布综合分析', fontsize=16, fontweight='bold')

# 饼图:分布比例
colors = ['#ff9999', '#66b3ff', '#99ff99', '#ffcc99']
axes[0, 0].pie(counts.values, labels=counts.index, autopct='%1.1f%%', colors=colors, startangle=90)
axes[0, 0].set_title('分组选项分布比例')

# 柱状图:交叉分类分布
plot_data = cross_analysis.drop('总计', axis=0, errors='ignore').drop('总计', axis=1, errors='ignore')
plot_data.plot(kind='bar', ax=axes[0, 1], color=colors[:len(plot_data.columns)])
axes[0, 1].set_title('不同分组下分类分布')
axes[0, 1].tick_params(axis='x', rotation=45)

# 箱线图:数值分布
df.boxplot(column=value_col, by=group_col, ax=axes[1, 0])
axes[1, 0].set_title('不同分组下数值分布')

# 直方图:频数分布
for grp in df[group_col].dropna().unique():
    subset = df[df[group_col] == grp]
    axes[1, 1].hist(subset[value_col].dropna(), alpha=0.7, label=str(grp), bins=8)
axes[1, 1].legend()
axes[1, 1].set_title('数值分布直方图')

plt.tight_layout()
# 高分辨率图像导出
plt.savefig(output_img_path, format='png', dpi=300)
plt.savefig(output_img_path.replace('.png', '.svg'), format='svg')
plt.close()

Step5 整合统计数据与图表路径,生成包含关键发现与详细洞察的完整 Markdown 分析报告。

report = [
    "# 数据综合分析报告\n",
    "## 1. 关键发现",
    f"- 数据集共包含 {len(df)} 条有效记录。",
]

for idx, val in proportions.items():
    report.append(f"- 分组 '{idx}' 的占比为 {val}%。")

report.extend([
    "\n## 2. 交叉分析汇总",
    cross_analysis.to_markdown(),
    "\n## 3. 聚合统计指标",
    stats.to_markdown(),
    f"\n## 4. 可视化分析\n![综合分析图表]({output_img_path})\n",
    "**结论**: 各类别在数据中呈现特定分布特征,详细明细与评分定级结果请参考上方下载链接获取完整附件。"
])

report_content = '\n'.join(report)
print(report_content)

Other skills for the same job

different authors, same section of the catalogue
XLSX
by anthropics
vendor ×15

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 existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

5k tokens scripts
XLSX
by w95
×7

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.

3k tokens
Raffle Winner Picker
by frostant
×5

Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.

949 tokens
Fda Database
by christophacham
×4

Query openFDA API for drugs, devices, adverse events, recalls, regulatory submissions (510k, PMA), substance identification (UNII), for FDA regulatory data analysis and safety research.

32k tokens scripts
Matlab
by christophacham
×4

MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter.

25k tokens
Umap Learn
by ComeOnOliver
×4

UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.

14k tokens
D3 Viz
by chrisvoncsefalvay
×3

Creating interactive data visualisations using d3.js. This skill should be used when creating custom charts, graphs, network diagrams, geographic visualisations, or any complex SVG-based data visualisation that requires fine-grained control over visual elements, transitions, or interactions. Use this for bespoke visualisations beyond standard charting libraries, whether in React, Vue, Svelte, vanilla JavaScript, or any other environment.

20k tokens
Alphafold Database
by christophacham
×3

Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.

7k tokens

How to use it

Copy the folder

Take opensensenova/chart-embedded-export from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.