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.
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.
npx skills add OpenSenseNova/SenseNova-Skills --skill pivot-table-analysisgit clone --depth 1 https://github.com/OpenSenseNova/SenseNova-SkillsWrote 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.
[](https://agentmods.dev/skills/opensensenova/sensenova-skills/pivot-table-analysis)<a href="https://agentmods.dev/skills/opensensenova/sensenova-skills/pivot-table-analysis"><img src="https://agentmods.dev/badge/skills/opensensenova/sensenova-skills/pivot-table-analysis/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.
<a href="https://agentmods.dev/skills/opensensenova/sensenova-skills/pivot-table-analysis"><img src="https://agentmods.dev/badge/skills/opensensenova/sensenova-skills/pivot-table-analysis.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00052 | $0.01206 |
| Opus 5 | $0.00026 | $0.00603 |
| Sonnet 5 | $0.00010 | $0.00241 |
| Haiku 4.5 | $0.00005 | $0.00121 |
Grade A, and why
pivot-table-cross-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.
What it actually says
Step1 对原始数据进行清洗与重构,处理 Excel 合并单元格导致的缺失值,并筛选核心分析列。
import pandas as pd
def preprocess_pivot_data(file_path, target_cols=['奖项', '项目名称', '成员', '单位']):
"""
清理并重构数据列,处理合并单元格填充。
"""
df = pd.read_excel(file_path)
# 映射通用列名
df.columns = target_cols
# 关键技巧:处理合并单元格。ffill 前需确保数据按原始分类顺序排列
# 假设第一列为分类标签(如奖项名称)
df[target_cols[0]] = df[target_cols[0]].fillna(method='ffill')
# 删除关键信息(如成员或单位)缺失的无效行
df = df.dropna(subset=[target_cols[2], target_cols[3]])
# 清洗字符串空格
for col in df.select_dtypes(['object']).columns:
df[col] = df[col].str.strip()
return df
Step2 构建交叉分析表(Crosstab),计算不同维度下的频数分布及百分比占比。
def create_cross_analysis(df, index_col='单位', columns_col='奖项'):
"""
构建交叉表并计算各分类维度的获奖/分布比例。
"""
# 生成频数统计交叉表
cross_table = pd.crosstab(df[index_col], df[columns_col])
# 计算占比:各列(奖项)下各行(单位)的分布比例
# div(axis=1) 表示按列求和后进行除法
award_proportions = cross_table.div(cross_table.sum(axis=0), axis=1) * 100
# 技巧:生成带有总计行和占比的汇总表
summary = cross_table.copy()
summary['总计'] = summary.sum(axis=1)
summary.loc['合计'] = summary.sum()
return cross_table, award_proportions, summary
Step3 配置中文字体并生成热力图可视化,直观展示各维度间的分布差异。
import matplotlib.pyplot as plt
import seaborn as sns
def generate_analysis_heatmap(proportions, output_path='analysis_heatmap.png'):
"""
生成高分辨率热力图,支持中文字体显示。
"""
# 关键技巧:中文字体配置,兼容不同系统环境
plt.rcParams['font.sans-serif'] = ['SimHei', 'WenQuanYi Zen Hei', 'DejaVu Sans']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(14, 10))
# 使用 Seaborn 绘制热力图,fmt='.2f' 保留两位小数
sns.heatmap(
proportions,
annot=True,
fmt='.2f',
cmap='YlGnBu',
linewidths=.5,
cbar_kws={'label': '占比 (%)'}
)
plt.title('多维度分类占比分布热力图', fontsize=15, pad=20)
plt.xlabel('分类维度 (Columns)', fontsize=12)
plt.ylabel('分析对象 (Index)', fontsize=12)
# 自动调整布局防止标签裁剪
plt.tight_layout()
plt.savefig(output_path, dpi=300, bbox_inches='tight')
plt.close()
Step4 执行综合分析算法,提取各维度的 Top-N 表现对象并计算整体排名。
def extract_performance_insights(proportions, top_n=3):
"""
分析各奖项/分类下的领先者,并计算整体加权表现。
"""
insights = {}
# 1. 提取每个分类维度的前 N 名
top_performers = {}
for category in proportions.columns:
top_list = proportions[category].sort_values(ascending=False).head(top_n)
top_performers[category] = top_list.to_dict()
# 2. 计算整体表现排名(基于所有维度的平均占比)
overall_performance = proportions.mean(axis=1).sort_values(ascending=False)
insights['top_by_category'] = top_performers
insights['overall_ranking'] = overall_performance.head(10).to_dict()
return insights
Step5 导出分析结果为 Excel 多工作表格式,并提供下载链接。
from IPython.display import FileLink
def export_results(cross_table, proportions, insights_df, file_name='analysis_report.xlsx'):
"""
将分析结果保存至 Excel 并在环境中生成下载链接。
"""
with pd.ExcelWriter(file_name) as writer:
cross_table.to_excel(writer, sheet_name='频数统计')
proportions.to_excel(writer, sheet_name='占比分析')
insights_df.to_excel(writer, sheet_name='综合排名')
return FileLink(file_name)
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.
- 10d ago First seen · 126 lines · 52 tokens per session scan A 8af963f7cf60
pivot-table-cross-analysis is a skill published in the GitHub repository OpenSenseNova/SenseNova-Skills (5,476 stars, last pushed yesterday), licensed MIT. It adds 52 tokens to every session and 1,206 once invoked, about $0.0003 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.
Other skills, from other repositories
article-writer
Multi-style article creation skill. Supports 5 writing styles (deep analysis, practical guide, story-driven, opinion, news brief), including complete workflow: material collection → outline → content → formatting. Activated when users mention "write article", "write post", "create", or "draft".
skin-creator
Create and apply a two-asset LobsterAI visual skin from the user's style description. Use only when the AI Skin Designer kit supplies the structured skinpack workflow marker; do not use for ordinary theme or image requests.
content-planner
WeChat Official Account topic planning and content calendar management. Based on WeChat article search and trending analysis, generates differentiated topic recommendations and outputs structured content calendars. Activated when users mention "topic", "planning", "content calendar", "trending", or "what to write next…
music-search
Search cloud drives for downloadable music resources (songs, albums, lossless audio). Use this skill when the user wants to download a specific song or album. Do NOT use for general music information, lyrics, or recommendations.
stock-analyzer
A comprehensive stock deep analysis tool that combines real-time quotes, fundamental metrics, technical indicators, and growth analysis into a single professional report. Supports A-share, US stocks, HK stocks. Generates detailed investment recommendations with risk assessment and actionable trading strategies.
ha-skill-creator
Create, edit, improve, or audit Hope Agent skills. Use when the user wants to: (1) create a new skill from scratch, (2) edit or improve an existing skill, (3) review or clean up a SKILL.md file, (4) run evaluations to test skill effectiveness, (5) optimize skill descriptions for better trigger accuracy. Trigger…