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 duplicate-value-coloringgit 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/duplicate-value-coloring)<a href="https://agentmods.dev/skills/opensensenova/sensenova-skills/duplicate-value-coloring"><img src="https://agentmods.dev/badge/skills/opensensenova/sensenova-skills/duplicate-value-coloring/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/duplicate-value-coloring"><img src="https://agentmods.dev/badge/skills/opensensenova/sensenova-skills/duplicate-value-coloring.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Output Handling · line 48 Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.Fix: Set explicit limits on output length, generation count, and rate. Use max_tokens and truncation to prevent unbounded output.
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.00029 | $0.00826 |
| Opus 5 | $0.00015 | $0.00413 |
| Sonnet 5 | $0.00006 | $0.00165 |
| Haiku 4.5 | $0.00003 | $0.00083 |
Grade A, and why
excel-conditional-comparison-and-large-file-processing 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 12d 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
excel-conditional-comparison-and-large-file-processing
This sub-skill covers one capability of the Excel workflow. For reading/counting/Parquet optimization, see the parent workflow SKILL.md.
Step1 提取不同Sheet中特定维度(如“B1层”)的数值,并进行跨表逻辑对比。
# 定义提取逻辑:定位目标行(如包含'B1'的行)并获取其关联的系数
def extract_target_value(df, target_label='B1', label_col_idx=0, offset_row=1, value_col_idx=2):
"""
在指定列搜索标签,并返回其相对偏移位置的数值
"""
extracted_values = []
for idx, row in df.iterrows():
if str(row.iloc[label_col_idx]).strip() == target_label:
# 提取目标行下方或特定偏移位置的数值
if idx + offset_row < len(df):
val = df.iloc[idx + offset_row].iloc[value_col_idx]
extracted_values.append(val)
return extracted_values
# 分别读取需要对比的Sheet
sheet1_df = pd.read_excel(file_path, sheet_name='Sheet1')
sheet2_df = pd.read_excel(file_path, sheet_name='Sheet2')
# 提取系数(示例:B1层的换算系数)
# 注意:不同Sheet的列索引可能不同,需根据实际结构调整
s1_coeffs = extract_target_value(sheet1_df, target_label='B1', label_col_idx=1, value_col_idx=3)
s2_coeffs = extract_target_value(sheet2_df, target_label='B1', label_col_idx=0, value_col_idx=2)
# 汇总对比数据
comparison_results = []
target_standard = 0.6 # 预设的标准阈值
for val in s1_coeffs:
comparison_results.append({'source': 'Sheet1', 'value': val, 'is_anomaly': val != target_standard})
for val in s2_coeffs:
comparison_results.append({'source': 'Sheet2', 'value': val, 'is_anomaly': val != target_standard})
Step2 生成对比报告,并使用 openpyxl 对异常值(非标准系数)进行红色高亮标记。
from openpyxl import Workbook
from openpyxl.styles import PatternFill
output_path = 'comparison_report.xlsx'
wb = Workbook()
ws = wb.active
ws.title = "Comparison Analysis"
# 写入表头
headers = ['数据来源', '提取数值', '是否符合标准', '状态标记']
ws.append(headers)
# 定义红色填充样式
red_fill = PatternFill(start_color='FF0000', end_color='FF0000', fill_type='solid')
# 遍历结果并写入,同时应用条件格式
for item in comparison_results:
status_text = '正常' if not item['is_anomaly'] else '异常(非0.6)'
row_data = [item['source'], item['value'], '是' if not item['is_anomaly'] else '否', status_text]
ws.append(row_data)
# 如果是异常值,将该行或特定单元格标红
if item['is_anomaly']:
curr_row = ws.max_row
for col_idx in range(1, len(headers) + 1):
ws.cell(row=curr_row, column=col_idx).fill = red_fill
# 保存结果并提供下载
wb.save(output_path)
print(f"Analysis complete. Report saved to: {output_path}")
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.
- 12d ago First seen · 78 lines · 29 tokens per session scan A 7a506a699d3e
excel-conditional-comparison-and-large-file-processing is a skill published in the GitHub repository OpenSenseNova/SenseNova-Skills (5,570 stars, last pushed yesterday), licensed MIT. It adds 29 tokens to every session and 826 once invoked, about $0.0001 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
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.
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.
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…
agent-office
A guide for creating, editing, rewriting, converting, processing, or delivering Word documents, spreadsheets, presentations, and PDF files.
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.
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…