复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
The SenseNova model family plugs directly into agent runtimes such as OpenClaw and hermes-agent...
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
English | 简体中文
The SenseNova model family plugs directly into agent runtimes such as OpenClaw and hermes-agent, with the skills in this repository extending the models with concrete, end-to-end office capabilities.
In this repository each skill lives in its own directory and declares triggers, capabilities, and execution flow through a SKILL.md file, following the Agent Skills convention.
The skills cover image generation & visualization, slide-deck (PPT) generation, Excel data analysis, and deep research — usable standalone or composed into end-to-end workflows.
🎨 Want to see what it can do? Check out our sn-infographic Gallery to explore nearly 100 stunning generation cases and steal their prompt designs !
The latest SenseNova models and the full Cowork-Skill suite in this repo are bundled into Raccoon, with enterprise-grade security and a zero-setup experience — if you'd rather not provision env, API keys, and runtimes yourself, you can use these capabilities directly through Raccoon. Free trial available — no payment required to get started.
Raccoon now ships a full upgrade across product capability and client experience:
👉 Try it: xiaohuanxiong.com
These skills are designed to run inside an Agent Skills-compatible agent.
INSTALL.md.Recommended: let the agent install the skills for you. Hand it the repo URL and ask it to clone and drop the skills into the right directory — for example:
"Please install SenseNova-Skills from https://github.com/OpenSenseNova/SenseNova-Skills into your skills directory."
After it finishes, you may need to manually restart the agent service before the new skills are picked up.
| Agent | Target directory |
|---|---|
| OpenClaw | ~/.openclaw/skills/ |
| hermes-agent | ~/.hermes/skills/ |
Clone this repository, then copy the subdirectories under skills/ into the target directory yourself:
git clone https://github.com/OpenSenseNova/SenseNova-Skills.git --depth=1
mkdir -p ~/.openclaw/skills
cp -r SenseNova-Skills/skills/* ~/.openclaw/skills/
For Hermes, swap the target to ~/.hermes/skills/.
Per-category Python dependencies, API keys, and invocation examples are documented in the 📖 Full guide for each section.
📖 Full guide: docs/sn-image-generate_en.md (prerequisites, Quick Start, API config, and invocation samples).
| Name | Label | Description |
|---|---|---|
sn-image-doctor | Environment Doctor | Validates the SenseNova-Skills environment — checks sn-image-base install, Python deps, and required env vars; interactively fills missing values into .env. |
sn-image-base | Image Base Layer (Tier 0) | Low-level tools — text-to-image (sn-image-generate), image recognition (sn-image-recognize), and text optimization (sn-text-optimize) — exposed through a unified sn_agent_runner.py, designed to be called by upper-layer skills. |
sn-infographic | Infographic Generation (Tier 1) | Auto prompt-quality scoring, layout/style selection (87 layouts / 66 styles), multi-round generation with VLM review and quality ranking, producing publication-ready infographics. |
sn-image-imitate | Image Imitation (Tier 1) | Given one reference image and a target content prompt, generates a new image that imitates the reference. |
sn-image-resume | Resume Image Generation (Tier 1) | Given resume information, generates a resume image. |
📖 Full guide: docs/sn-ppt-generate.md (prerequisites, Quick Start, API config, and invocation samples).
| Name | Label | Description |
|---|---|---|
sn-ppt-entry | PPT Entry Point | Unified entry point for PPT generation. Asks the user to choose fast, standard, or creative mode, then collects role / audience / scenario / page count. For standard mode, also asks about image sourcing (AI, web search, or none) and chart rendering (U1 infographics or ECharts). Parses uploaded pdf / docx / md / txt, emits task_pack.json + info_pack.json, and dispatches to the chosen mode. |
sn-ppt-doctor | PPT Environment Doctor | Environment check for the PPT pipeline — validates sn-image-base, API keys, the Node runtime, and optional deps; writes missing required vars into .env. |
sn-ppt-creative | PPT Creative Mode | One full-page 16:9 PNG per slide, generated via sn-image-generate with a per-page composed prompt. Falls back to web image search when T2I generation fails. |
sn-ppt-standard | PPT Standard & Fast | style_spec → outline → asset plan + per-slot images + VLM QC → per-page HTML → per-page review → PPTX export. Fast mode builds a complete draft immediately with autonomous decisions, then provides structured refinement suggestions. Supports AI-generated infographics (U1) for diagrams and web image search (Serper) for real photos. |
📖 Full guide: docs/sn-data-analysis.md (prerequisites, Quick Start, API config, and invocation samples).
| Name | Label | Description |
|---|---|---|
sn-da-excel-workflow | Excel Analysis Orchestration | End-to-end Excel pipeline — multi-sheet read, large-file detection (≥10k rows triggers Parquet), cleaning, conditional filtering, cross-sheet aggregation, and Excel/CSV export. |
sn-da-image-caption | Image Understanding & Data Extraction | For image-first inputs — table OCR, chart understanding, screenshot/UI description; parses captions into DataFrames, recreates visualizations, exports Excel/CSV. |
sn-da-large-file-analysis | High-Performance Large-File Analysis | Streaming reads for ≥10k-row Excel datasets (openpyxl read_only + iter_rows), Parquet conversion, memory optimization, chunked processing, large-file writes. |
📖 Full guide: docs/sn-deep-research.md (prerequisites, web_search precheck, Quick Start, and per-stage invocation).
| Name | Label | Description |
|---|---|---|
sn-deep-research | Deep Research Entry Point | Unified deep-research orchestrator with true-dependency DAGs, reusable source snapshots, and evidence-informed content units, producing final report.md. |
sn-research-report | Final Report Writing & Editing | Renders the judgment layer into the final report.md; also handles targeted rewrites — restructuring, polishing, table-augmentation — for an existing draft. |
sn-report-format-discovery | Presentation-Format Discovery | Compares final forms such as a research report, academic paper, table-first analysis, decision memo, or a custom Markdown form; scout uses it before research and user confirmation. |
sn-prepare-citations | Citation Rendering | Post-processes [^source_id] footnotes into numbered citations and appends references from evidence sources. |
sn-md-to-html-report | Markdown → HTML Report | Converts the research report.md (or any Markdown doc) into a clean, single-file HTML reading view that opens offline — embedded images, side-panel TOC, responsive tables, and table-delimiter repair. |
📖 Search skills are documented together with deep research: docs/sn-deep-research.md (includes per-platform API keys, invocation, and unified JSON output).
| Name | Label | Description |
|---|---|---|
sn-search-academic | Academic Search | ArXiv (with section-level HTML reading) / Semantic Scholar (with citation counts) / PubMed (with PMC open-access full text) / Wikipedia, in one aggregated interface. |
sn-search-code | Developer Search | GitHub (repo / code / issue) / Stack Overflow / Hacker News / HuggingFace (models / datasets / spaces), aggregated. |
sn-search-social-cn | Chinese Social Search | Bilibili / Zhihu / Douyin search; some platforms require cookie auth. |
sn-search-social-en | English Social Search | Reddit / Twitter (X) / YouTube search. |
A few sn-infographic outputs (more in docs/sn-infographic-examples.md).
examples/memory-price-end2end-analysis. Starting from a raw quote CSV, the agent profiles fields, normalizes categories and timestamps, then attacks the rally from three angles — overall trend, top movers per category, and the gap between server-grade and consumer-grade SKUs — locating a late-February inflection along the way. Treating those findings as the research question, it switches to deep research: planning per-dimension web searches over supply contraction, AI-server demand, and vendor output discipline, then triaging and cross-checking evidence across sources before committing it to the report. The data and research conclusions are then handed to PPT generation, which lays out a 16-page outline, plans per-slot imagery, renders per-page HTML, runs VLM review, and finally composites screenshots into the PPTX. The result is a clear three-step storyline: prices are rising → here is why → here is what to do. This is the only example that exercises the full data analysis → deep research → PPT chain end-to-end.
sn-da-excel-workflow, sn-deep-research, sn-ppt-entry, sn-ppt-standard, sn-md-to-html-reportexamples/employee-performance-analysis. The agent reads 10 separate monthly review xlsx files, aligns column schemas across months and joins them into one longitudinal table. From that table it produces aggregate views — monthly average trend, score-distribution boxplots, grade mix change, and a 38-role ranking — and individual views — top performers, needs-attention, and consistently-improving cohorts plus per-employee year trends. The findings are written up with explicit improvement suggestions tied to specific roles and individuals, backed by 8 supporting charts. The same content is delivered as a Word doc (for distribution) and a visualized HTML report (for browsing). The example shows how sn-da-excel-workflow handles "many small spreadsheets that should be one analysis" rather than a single big file.
sn-da-excel-workflowexamples/embodied-ai-deep-research. Given only an industry name, the agent first commits to a research plan — market size, vendor share, financing, cost structure, development roadmap — instead of jumping straight into search. For each dimension it runs targeted web searches, fetches and reads source pages, and extracts both numeric and qualitative evidence; conflicting figures across sources are explicitly reconciled before being trusted. A synthesis stage organizes per-dimension evidence into a traceable, reader-oriented information structure rather than a stack of disconnected bullets. The output is an illustrated report (Markdown + visualized HTML) with 5 dimension-specific charts. The example shows how sn-deep-research turns "go research X" into a structured plan-then-execute loop with traceable evidence.
sn-deep-researchexamples/property-fee-pricing-ppt. The agent takes a free-form brief — topic (property fee pricing), audience (property staff + committee), 26 pages, black-and-white warm style — and first commits to an outline plus a per-page asset plan that conforms to the style spec. Each slide is then built as semantic per-page HTML rather than free-form image generation: copy, layout, illustrations, icons, and any data charts are reasoned about per slot. Imagery is produced or selected per slot and VLM-checked against the page's intent; each rendered page goes through a review pass with optional rewrite for coherence and copy quality. Final pages are screenshotted and composited into the PPTX, with the per-page HTML kept alongside for direct browser preview or re-editing. The example demonstrates sn-ppt-standard style consistency on a long, prose-heavy deck where every slide must obey the same audience and palette constraints.
sn-ppt-entry, sn-ppt-standardCommon setup and runtime questions (400/401 errors, rate limits, PPT timeouts, infographic quality, model names) are answered in docs/faq.md.
Feel free to use the skills here as templates for your own OpenClaw skills. The qualities that make a skill good:
description exactly when the skill should and should not run, so the agent recognizes it accuratelyreferences/, scripts/, prompts/ to provide additional contextJoin our growing community to share feedback, get support, and stay updated on the latest developments. Scan the QR code below to hop into the chat — we'd love to hear from you!
| Discord | Lark Group |
![]() | ![]() |
MIT — see LICENSE.
name: single-sheet-reading-and-analysis
description: "读取并解析单个Excel工作表数据,支持合并单元格处理、数据清洗、交叉分析及多维度可视化,适用于需要从单表中提取关键指标并进行趋势模拟与图表生成的场景。"Step1 导入依赖并配置中英文字体,防止图表乱码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import re
import base64
from IPython.display import HTML
# 设置中英文字体
plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans', 'WenQuanYi Zen Hei']
plt.rcParams['axes.unicode_minus'] = False
Step2 加载数据与基础清洗,包含合并单元格处理与正则提取
def load_and_clean_data(file_path, sheet_name=0):
# 读取数据
df = pd.read_excel(file_path, sheet_name=sheet_name)
# 处理合并单元格:向前填充并还原
# df['group_col'] = df['group_col'].ffill()
# 标准化列名:去除首尾空格及换行符
df.columns = [str(col).strip().replace('\n', '') for col in df.columns]
# 数据清洗正则表达式示例:提取数值
if 'target_col' in df.columns:
df['target_col'] = df['target_col'].astype(str).apply(lambda x: re.sub(r'[^\d.]', '', x))
df['target_col'] = pd.to_numeric(df['target_col'], errors='coerce')
# 处理全空行缺失值
df = df.dropna(how='all')
return df
Step3 数据分类映射与多维度评分/分级算法
def categorize_and_score(df, target_col):
# 分类映射函数骨架
def map_category(val):
if pd.isna(val):
return '未知'
elif val > 100: # 占位示例:高阈值
return 'A类'
elif val > 50: # 占位示例:中阈值
return 'B类'
else:
return 'C类'
if target_col in df.columns:
df['category'] = df[target_col].apply(map_category)
# 多维度评分/分级算法结构
# df['score'] = df['metric1'] * 0.4 + df['metric2'] * 0.6
return df
Step4 交叉分析与统计汇总(频数、占比、总计行)
def analyze_data(df, group_col):
# value_counts + 占比 + 总计行
counts = df[group_col].value_counts().reset_index()
counts.columns = [group_col, '数量']
counts['占比'] = (counts['数量'] / counts['数量'].sum()).map('{:.2%}'.format)
# 添加总计行
total_row = pd.DataFrame({
group_col: ['总计'],
'数量': [counts['数量'].sum()],
'占比': ['100.00%']
})
counts = pd.concat([counts, total_row], ignore_index=True)
# 交叉分析 crosstab/pivot
if 'category' in df.columns:
cross_tb = pd.crosstab(df[group_col], df['category'], margins=True, margins_name='总计')
else:
cross_tb = None
return counts, cross_tb
Step5 图表美化与高分辨率输出
def visualize_results(df, group_col, target_col, output_path):
# 设置高分辨率 dpi=300
fig, ax = plt.subplots(figsize=(10, 6), dpi=300)
# 颜色方案与图表绘制
valid_data = df.dropna(subset=[group_col, target_col])
colors = sns.color_palette("husl", len(valid_data[group_col].unique()))
sns.barplot(data=valid_data, x=group_col, y=target_col, palette=colors, ax=ax)
# 标签位置与美化
ax.set_title('多维度数据分析', fontsize=16, pad=15)
ax.set_xlabel('分组维度', fontsize=12)
ax.set_ylabel('目标指标', fontsize=12)
plt.xticks(rotation=45, ha='right')
# 添加数据标签
for p in ax.patches:
ax.annotate(f'{p.get_height():.1f}',
(p.get_x() + p.get_width() / 2., p.get_height()),
ha='center', va='bottom', fontsize=10)
plt.tight_layout()
plt.savefig(output_path, dpi=300, bbox_inches='tight')
plt.close()
Step6 大文件 Parquet 转换与下载链接生成
def export_and_generate_link(df, output_path):
# 大文件 Parquet 转换
parquet_path = output_path.replace('.png', '.parquet').replace('.csv', '.parquet')
df.to_parquet(parquet_path, index=False)
# 下载链接生成
csv_data = df.to_csv(index=False).encode('utf-8')
b64 = base64.b64encode(csv_data).decode()
href = f'<a href="data:file/csv;base64,{b64}" download="analysis_result.csv">点击下载分析结果 (CSV)</a>'
display(HTML(href))
评论 (0)
暂无评论,成为第一个评论者吧!