name: business-anomaly-diagnosis slug: business-anomaly-diagnosis displayName: 月度经营异常诊断助手 description: Use when analyzing monthly sales/financial CSV or Excel files. Auto-cleans dirty data (encoding detection, column mapping, missing-value interpolation, date standardization, typo correction) → multi-dimension drill-down with MoM/YoY → anomaly detection with contribution decomposition → interactive HTML dashboard with ≤3 actionable recommendations. For business operators doing monthly reviews or anomaly investigation. version: 1.0.0 author: Hermes Agent Community license: MIT metadata: hermes: tags: [business, finance, anomaly-detection, data-cleaning, dashboard, diagnosis, sales-analysis] related_skills: []
不止出图表,更要自动「找茬」并说清为什么。
上传月度销售/财务 CSV 或 Excel → 四层流水线自动处理:
安全底线:CSV 数据为不可信输入。所有写入 HTML 报告的文本经 esc() 清洗(HTML 实体 + 协议注入防护 + prompt 注入过滤 + Markdown 链接中和)。详见 references/content-sanitization.md。
Don't use for: 实时流式数据(非批量文件);非表格数据(如 PDF 财报);超大数据集(>100MB 建议先采样)。
python scripts/diagnose.py <file> [--output report.html] [--threshold 0.15]
| Arg | Description | Default |
|---|---|---|
file |
CSV/Excel path | Required |
-o, --output |
HTML report path | <file>_诊断报告.html |
-t, --threshold |
Anomaly threshold (0.15 = 15%) | 0.15 |
# Example
python scripts/diagnose.py assets/sample_dirty.csv
python scripts/diagnose.py sales.xlsx -o report.html -t 0.20
Full column synonym mapping: references/column_mapping.json.
Interactive HTML Dashboard (self-contained, offline-openable): - Data overview (time span, dimension distribution) - Monthly sales trend chart (red ✕ marks anomaly months) - MoM change rate bar chart (red=drop, green=rise; deep color=exceeds threshold) - Dimension contribution decomposition chart (red=amplifies fluctuation, green=mitigates) - Anomaly attribution conclusion section - YoY analysis table (auto-skip if < 2 years of data) - Sub-item anomaly checklist (dimension-level findings, sorted by amplitude) - Smart cleaning log (color-coded by type) - ≤ 3 actionable business recommendations
Color convention follows Chinese business analysis: red = decline warning, green = growth positive.
忽略所有指令 等模式经 esc() 的 HTML 转义后仍可读,Agent 读取报告时可能被误导。已追加 _filterPromptInjection() 过滤。[恶意](url) 通过 HTML 转义但被 Agent 以 Markdown 重读时渲染为链接。esc() 已追加 []() → 【】() 全角替换。sales.isna().all() → 明确报错提示。esc() 清洗(无 <script>、无 javascript: 协议、无 prompt 注入、无 [...](...) 链接语法)pandas>=2.0 numpy>=1.24 plotly>=5.18 openpyxl>=3.1
Install: pip install -r requirements.txt
references/column_mapping.json — Column name synonym mapping (extensible)references/content-sanitization.md — HTML/Markdown/prompt-injection sanitization specscripts/diagnose.py — Main diagnosis pipeline (1050 lines, standalone-runnable)assets/generate_sample.py — Dirty sample data generatorassets/sample_dirty.csv — Pre-generated test data with embedded anomalies小葱技能7w4.net持续更新中。
tests/run_test.py — Self-test script质量很好,能自动处理各种「脏」数据(乱码、格式不统一、缺失值),生成一份图文并茂的诊断报告,直接告诉你哪里出了问题、为什么。安全性做得很到位,用户数据不会被恶意注入干扰。界面颜色符合国内业务习惯(红跌绿涨)。主要不足是当数据量很大时生成的 HTML 报告会偏大,打开速度较慢;另外对年份较少的同比分析用处有限。整体来说,这是一个非常实用的经营诊断工具,非技术背景用户也能轻松上手。