复制安装命令
用 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: dynamic-percentage-and-large-file-analysis
description: "根据文件行数动态切换大文件处理策略(Parquet转换),通过逐行扫描或列匹配提取关键指标并计算占比、均值等统计量,最终输出结构化Excel报告及可视化图表。"This sub-skill covers one capability of the Excel workflow. For reading/counting/Parquet optimization, see the parent workflow SKILL.md.
Step1 在数据中动态定位关键字段,通过逐行扫描匹配关键词提取数值,并进行条件筛选与占比计算。
key_values = {}
target_col = None
value_col = 'target_value_col'
# 动态查找目标分类列
for col in df_analysis.columns:
if 'keyword1' in col.lower() or 'keyword2' in col.lower():
target_col = col
break
# 通用字段查找逻辑:逐行扫描匹配关键词并提取首个正数
for idx, row in df_analysis.iterrows():
row_str = str(row.values)
if '指标A' in row_str and '指标A' not in key_values:
for val in row.values:
if isinstance(val, (int, float)) and val > 0:
key_values['指标A'] = val
break
if '指标B' in row_str and '指标B' not in key_values:
for val in row.values:
if isinstance(val, (int, float)) and val > 0:
key_values['指标B'] = val
break
# 条件筛选与统计
if target_col and '特定类别' in df_analysis[target_col].unique():
df_filtered = df_analysis[df_analysis[target_col] == '特定类别']
if value_col in df_filtered.columns:
df_filtered[value_col] = pd.to_numeric(df_filtered[value_col], errors='coerce')
avg_val = df_filtered[value_col].mean()
print(f"特定类别平均值 = {avg_val:.2f}")
# 计算占比
if '指标A' in key_values and '指标B' in key_values:
percentage = (key_values['指标A'] / key_values['指标B']) * 100
print(f"指标A占指标B的百分比: {percentage:.2f}%")
Step2 将计算结果保存为结构化表格文件(.xlsx),并在输出中提供可追溯的下载链接。
output_path = "output_analysis_result.xlsx"
os.makedirs(os.path.dirname(output_path), exist_ok=True)
result_data = {
'项目': ['指标A', '指标B', '占比'],
'数值': [key_values.get('指标A', 0), key_values.get('指标B', 0), f"{percentage:.2f}%" if 'percentage' in locals() else "N/A"]
}
df_result = pd.DataFrame(result_data)
with pd.ExcelWriter(output_path, engine='openpyxl') as writer:
df_result.to_excel(writer, sheet_name='汇总结果', index=False)
print(f"结果已保存到: {output_path}")
print(f"下载链接: [点击下载结果表格]({output_path})")
Step3 配置中文字体并生成高分辨率的可视化图表(如饼图),展示占比分析结果。
import matplotlib.pyplot as plt
import matplotlib
# 配置中英文字体,防止图表中文乱码
matplotlib.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans', 'WenQuanYi Zen Hei']
matplotlib.rcParams['axes.unicode_minus'] = False
if 'percentage' in locals():
# 图表美化与高分辨率设置
plt.figure(figsize=(8, 6), dpi=120)
labels = ['指标A', '其他']
sizes = [percentage, 100 - percentage]
colors = ['#ff9999', '#66b3ff']
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90)
plt.title('核心指标占比分析')
plt.axis('equal')
chart_path = "percentage_chart.png"
plt.savefig(chart_path, bbox_inches='tight')
print(f"图表已保存至: {chart_path}")
print(f"图表下载链接: [点击下载可视化图表]({chart_path})")
评论 (0)
暂无评论,成为第一个评论者吧!