Back to skills
SKILL.md
Xdjz Ecommerce Business Analysis Diagnosis
ASecurity小蝶记账-电商经营分析与诊断。用户用自然语言描述分析需求,系统自动查询数据并生成经营分析报告。 涵盖销售趋势分析、收支对比、经营状况评估、业务指标解读等。 适用于"怎么样""分析""趋势""对比""为什么"等评价性/分析性提问。 触发词:经营分析、分析一下、帮我看看经营状况、今年利润怎么样。
- 45 stars
- 0 votes
- 0 copies
- 1 view
- Added September 24, 2026
Works with
Security analysis
100/100npx -y skills add ahang1598/doubao-workbuddy-qwenwork-skills --skill xdjz-ecommerce-business-analysis-diagnosis --agent claude-codeAre you the author of Xdjz Ecommerce Business Analysis Diagnosis?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ahang1598-xdjz-ecommerce-business-analysis-diagnosis)---
name: xdjz-ecommerce-business-analysis-diagnosis
display_name: 小蝶记账-电商经营分析与诊断
display_name_en: Kingdee Xiaodie - E-commerce Business Analysis & Diagnosis
description: >-
小蝶记账-电商经营分析与诊断。用户用自然语言描述分析需求,系统自动查询数据并生成经营分析报告。
涵盖销售趋势分析、收支对比、经营状况评估、业务指标解读等。
适用于"怎么样""分析""趋势""对比""为什么"等评价性/分析性提问。
触发词:经营分析、分析一下、帮我看看经营状况、今年利润怎么样。
description_zh: 将经营数据转化为决策洞察,发现销售、采购、费用支出等经营中的问题,并提供经营建议。
description_en: Analyze sales trends, income and expenses, business performance, and operating indicators.
category: business
version: 1.2.0
author: 金蝶
when_to_use:
- 用户需要经营分析(销售趋势、收支对比、经营状况、指标解读等)
- 用户用"怎么样""好不好""为什么""分析""趋势"等评价性/分析性表述提问
- '触发词:分析一下这个月经营状况、本月和上月销售对比、今年营收趋势、今年利润怎么样、经营分析'
when_not_to_use:
- 仅查询具体数据数值 → 不支持,直接告知用户
- 创建正式ERP单据 → 不支持,直接告知用户
- 快速记账 → 不支持,直接告知用户
- 企业风险分析 → 不支持,直接告知用户
mcp_servers:
- xdjz
allowed-tools:
- kingbot_chat
- search_plugins
- suggest_plugin_install
---
## [硬规则 0] 小蝶记账连接器检查与「打开连接器」(最高优先级,最先执行)
本 Skill 的全部能力都由「小蝶记账」连接器提供。识别到经营分析意图后,**第一件事是确认连接器已连接**,确认通过后才允许调用服务。
### 一、判断连接器是否已连接
- 本 Skill 声明的服务可正常调用、调用不返回授权类错误 → 视为**已连接**,直接进入「工具调用规范」流程。
- 服务不存在、调用返回未授权 / 未登录 / 凭证失效 / 连接失效等错误 → 视为**未连接**,执行下方「打开连接器流程」。
### 二、打开连接器流程(未连接时的唯一动作)
未连接时**不得调用服务**,也不得用文字解释「MCP」「Token」「服务地址」「接口」等技术细节。
#### 1. 呈现连接器授权卡片(必须首选,禁止只用文字引导代替)
用下面这套**固定的工具调用顺序**把「小蝶记账」的连接卡片内联呈现到本次回复中,用户点卡片上的「连接」即可完成授权:
```
第一步:调用 search_plugins
参数:type = "connector"
keywords = ["小蝶记账", "金蝶", "记账"]
第二步:从返回结果中找到「小蝶记账」,取其 id(通常为 xdjz-mcp,以实际返回为准)
第三步:调用 suggest_plugin_install
参数:type = "connector"
pluginId1 = <第二步取得的 id>
contextLabel = "连接小蝶记账后继续经营分析"
```
执行约束:
- `search_plugins`、`suggest_plugin_install` 是平台内置工具,**直接调用即可**;禁止用网络搜索代替,禁止推荐任何其他连接器。
- `suggest_plugin_install` **同一轮只允许调用一次**;卡片发出后即停止动作,等用户在卡片上点「连接」,不要继续追问。
- 若平台对呈现卡片弹出确认/授权提示,用一句话请用户点「允许」,卡片即可显示。
- 卡片已呈现时,本轮不再输出长篇文字指引(一句话说明“请在上方卡片点「连接」”即可)。
#### 2. 文字兜底(仅当卡片工具不可用或调用失败时)
仅当 `search_plugins` / `suggest_plugin_install` 不存在、被禁用或调用报错时,才退回一句话指路:
> 这个操作需要先连接「小蝶记账」连接器:请打开「连接器」面板,找到「小蝶记账」,点击「连接」完成授权,完成后回复我一声,我马上帮你进行经营分析。
#### 3. 用户回复已连接后
重新从本节第 1 步开始走一次完整流程(不要复用授权失败前的输入与判断),授权通过后继续处理。
### 三、授权失败或凭证失效
按「打开连接器流程」重新引导用户连接或重新授权,提示语与未连接时一致,不暴露技术细节。同一轮对话内最多提示一次,用户未处理则等待用户回应,不重复弹窗打扰。
### 四、禁止事项
- 禁止在未连接状态下把分析结果编造给用户,或假装分析成功。
- 禁止因连接器未连接而改口说“我不支持经营分析”——应引导完成连接后继续。
- **禁止在卡片工具可用时偷懒只用文字引导**——文字兜底只允许在卡片工具不可用/调用失败时使用。
- 禁止展示 Token、服务地址、连接器内部标识、授权链路等技术信息。
---
## [硬规则 1] 用户可见性规则(最高优先级,覆盖所有章节)
执行细节与用户输出**严格分离**。以下内容**仅用于内部执行**,**禁止**出现在任何对用户的回复中:
- 工具名:如 `kingbot_chat`、MCP、stellar 等
- 参数名:如 `title`、`input`、`variables`、`messageType`、`agent_id`、`skills` 等
- 后端标识:如 `OrchestratorAgent`、`agent_id`、`sid`、`deviceId`、`SendCursor`、`uuid` 等
- 对话 ID / 会话 ID 等技术标识
- **查询 SQL**:服务返回内容中的完整 SQL 语句(`SELECT ... FROM ... WHERE ...` 等)及其代码块,属于内部实现细节,必须过滤(详见「结果处理 → SQL 过滤规则」)
- **tipsjson 技术痕迹**:`tipsjson` 标记与 JSON 原文(花括号、字段名、转义符等)禁止透传,须解析转换后以业务提示展示(详见「结果处理 → tipsjson 展示规则」)
仅向用户展示:分析结果的业务语义信息(指标解读、趋势结论、对比分析、建议等)、系统返回的警告/错误原文、操作最终结果。
### 用户输出示例对照
❌ BAD(暴露技术细节):
> 已调用 kingbot_chat 工具,title="新对话",input="分析一下本月经营状况",agent_id=OrchestratorAgent,skills=business-analytics,report-data-query-guide-v2,分析完成。
✅ GOOD(业务语义):
> 本月经营状况分析:
> - 销售额 128,500 元,环比增长 12.3%
> - 采购成本 85,200 元,毛利率 33.7%
> - 整体经营稳健,建议关注采购成本控制
---
## 业务范围
本 Skill 专注**经营分析**,用户用自然语言描述分析需求,系统自动查询数据并生成经营分析报告。
**适用场景**:
- 经营状况分析:"分析一下这个月的经营状况"、"帮我看看公司经营情况"、"今年利润怎么样"
- 趋势分析:"今年营收趋势如何"、"近三个月销售趋势分析"
- 对比分析:"本月和上月销售对比"、"同比分析"
- 多维度分析:"各产品线销售占比分析"、"客户分布分析"
- 指标解读:"利润率为什么下降"、"库存周转率分析"
- 评价性提问:"经营状况好不好"、"这个月业绩怎么样"
**意图路由规则**:
| 语言特征 | 路由 | 示例 |
|---------|------|------|
| 怎么样 / 好不好 / 为什么 | → 经营分析 | "今年利润怎么样" |
| 分析 / 趋势 / 对比 | → 经营分析 | "分析一下经营状况" |
| 评估 / 解读 / 原因 | → 经营分析 | "利润率为什么下降" |
| 经营状况 / 业绩 / 表现 | → 经营分析 | "这个月业绩怎么样" |
| 是多少 / 有多少 / 多少 | → 查数 | "今年利润是多少" |
| 查一下 / 帮我查 / 具体数字 | → 查数 | "帮我查一下本月销售额" |
**不包含**:
- 仅查询具体数据数值 → 不支持,直接告知用户
- 创建正式 ERP 单据 → 不支持,直接告知用户
- 快速记账 → 不支持,直接告知用户
- 企业风险分析 → 不支持,直接告知用户
- 修改或删除已有数据 → 不支持,直接告知用户
---
## 操作授权
| 操作场景 | 自动执行 | 条件 |
|---------|---------|------|
| 经营分析 | ✅ 自动 | 用户提供分析需求时 |
---
## 工具调用规范
### 工具:kingbot_chat
创建对话并发送用户消息,同步等待 AI 回复。
**参数说明**:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| title | string | 是 | 对话标题,固定使用 `"新对话"` |
| input | string | 是 | 发送给服务的消息内容,默认使用用户原话;仅允许做最小必要改写,不得扩展用户未明确表达的分析范围 |
| sid | string | 是 | 当前轮次的会话 ID,从当前工作目录路径中提取 UUID 作为其値,原样传入 |
| variables | object | 是 | 对话变量,需填充 messageType=Message、agent_id=OrchestratorAgent、skills=business-analytics,report-data-query-guide-v2 |
**调用要点**:
- `input` **默认使用用户原话**:只有主 Agent 对话上下文中存在明确、可引用的信息,且用户当前问题包含指代或省略时,才允许基于该上下文做最小必要改写;如果没有主 Agent 对话上下文信息,必须原样传递用户问题,不得改写
- `sid` **必须传入**当前轮次的会话 ID;取値方式:从当前工作目录路径中提取 UUID(格式为 `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`),原样传入;不可为空、不可伪造;如路径中无法识别 UUID,则告知用户“服务暂时无法获取会话信息,请稍后重试”,**禁止**在无法获取 sid 的情况下发起调用
- `title` 固定为 `"新对话"`,用户不可见
- `variables` 必须传入,格式如下:
```json
{
"messageType": "Message",
"agent_id": "OrchestratorAgent",
"skills": "business-analytics,report-data-query-guide-v2"
}
```
### input 改写边界
**保守原则**:改写只能依据**主 Agent 对话上下文**中已经明确出现的信息。第一轮对话或主 Agent 未提供可引用上下文时,必须原样传递用户问题;不得为了提升分析完整性而主动补充用户未说出的年份、月份、组织、口径或分析维度。
| 用户原话特征 | 正确处理 | 禁止处理 |
|-------------|---------|---------|
| 无主 Agent 对话上下文,或上下文未提供确定条件 | 原样传递用户问题 | 改写、扩写、补充年份、月份、组织、口径或分析维度 |
| “第二季度”“上半年”“本月”等相对时间 | 保留原始表达;只有主 Agent 上下文明确年份/期间时,才可补入该上下文信息 | 根据系统时间或常识默认补成当前年份、具体月份或具体日期范围 |
| “红色”“绿色”等颜色、样式或界面可见描述 | 保留用户使用的原词,不转换、不解释 | 将颜色词补全为“红色标记”、标签、状态、异常等用户未说明的含义 |
| 商品名称、属性、编码、规格、型号、物料等业务实体信息 | 仅当主 Agent 上下文中明确出现对应信息且当前问题存在指代或省略时,才按上下文原样补全 | 根据常识、字段名、颜色、编码片段或系统猜测补全、替换、标准化商品名称、属性或编码 |
| “分析成本数据”这类开放分析请求 | 保留用户提出的对象和动作 | 自动添加成本构成、趋势、同比、环比等用户未提及的分析维度 |
| 后续对话存在明确主 Agent 上下文 | 只补全主 Agent 上下文中已经出现且确定的信息 | 补充主 Agent 上下文没有出现的新条件 |
**示例**:
| 用户原话 | 发送给服务的 input |
|---------|-------------------|
| “帮我分析第二季度的成本数据” | “帮我分析第二季度的成本数据” |
| “帮我分析2025年,不同编码 红色的每月成本数据” | “帮我分析2025年,不同编码 红色的每月成本数据” |
| “帮我分析2026年第二季度成本趋势” | “帮我分析2026年第二季度成本趋势” |
| “继续看第二季度”且主 Agent 上文明确对象为成本数据 | “继续分析第二季度的成本数据” |
**禁止示例**:
- 禁止在没有主 Agent 对话上下文时改写用户问题
- 禁止将“帮我分析第二季度的成本数据”改写为“帮我分析2026年第二季度(4月、5月、6月)的成本数据,包括各项成本构成、成本趋势变化、与第一季度的环比对比分析”
- 禁止把“第二季度”默认解释为“2026年第二季度”
- 禁止把“红色”改写为“红色标记”
- 禁止把商品名称、属性、编码、规格、型号、物料等信息扩展为主 Agent 上下文未明确出现的内容
- 禁止把“分析成本数据”默认扩展为“构成分析 + 趋势分析 + 环比分析”
**最小调用示例**(内部参考,不展示给用户):
```json
{
"title": "新对话",
"input": "分析一下这个月的经营状况",
"sid": "<当前工作目录路径中提取的UUID>",
"variables": {
"messageType": "Message",
"agent_id": "OrchestratorAgent",
"skills": "business-analytics,report-data-query-guide-v2"
}
}
```
---
## 结果处理
kingbot_chat 返回对话 ID 和 AI 回复内容。处理方式:
### 成功分析
| 展示内容 | 说明 |
|---------|------|
| 分析结果摘要 | 核心指标、趋势结论、对比分析等(从 AI 回复中提取) |
| 分析明细 | 如 AI 回复中包含分项明细则展示 |
| 分析建议 | 如 AI 回复中包含经营建议则展示 |
**展示要点**:
- 以结构化的业务语义展示分析结果,不暴露对话 ID、工具名等
- 如果 AI 回复包含表格或列表,按原格式展示
- 如果 AI 回复包含确认提示或要求补充信息,原样转达给用户
- **展示、生成报告前必须先按下方【SQL 过滤规则】【tipsjson 展示规则】处理返回内容**
### SQL 过滤规则(强制)
服务返回内容中可能包含完整的查询 SQL(如 `SELECT ... FROM ... WHERE ...` 语句、以 sql 标记的围栏代码块等),属于服务内部实现细节,**必须全部过滤删除**,禁止出现在对用户的任何回复、图表报告或生成的任何文件中。
过滤规则:
- 命中 SQL 语句(由 SELECT / FROM / WHERE / JOIN / GROUP BY / ORDER BY 等关键字构成的语句,含围栏代码块标记)→ **整段删除**,不做改写、不做替换说明
- 过滤必须在**展示、生成产物之前**完成:对话回复、ECharts 图表 HTML 报告等所有产物中均不得包含 SQL
- 删除后仅保留分析结果的业务信息(核心指标、趋势结论、对比分析、建议等)
- 禁止复述、转述、概括、引用 SQL 内容;禁止把 SQL 改写为"查询逻辑/统计口径是……"等形态输出
- 禁止向用户解释"已屏蔽 SQL 内容",静默过滤即可
❌ BAD(原样透传):
> 本月经营分析:销售额 128,500 元。
> 查询语句:SELECT SUM(amount) FROM sale_order WHERE order_date BETWEEN ...
✅ GOOD(过滤后输出):
> 本月经营分析:销售额 128,500 元,环比增长 12.3%,整体经营稳健。
### tipsjson 展示规则(强制)
服务返回内容中可能出现 `tipsjson` 形式的提示数据(如 `{"content":"**计算口径**:..."}`,可能含 `\"`、`\n` 等转义),**禁止原样透传 JSON 文本或“tipsjson”标记**,必须解析转换后以业务提示方式展示:
转换与展示要求:
- 识别形态:独立的 `tipsjson` 标记及其后的 JSON 对象(含 `content` 字段)→ 提取 `content` 字段的值作为展示文本
- 展示方式:解析出的内容作为**业务提示语**(如计算口径说明)以引用样式(如引用块)单独展示,与结果正文区分
- `content` 中的 Markdown 标记正常渲染(如 `**计算口径**` 渲染为加粗文本),不得连同标记符号原样吐出
- 禁止展示“tipsjson”字样、JSON 花括号、字段名(content)、转义符(\"、\n 等)等任何 JSON 技术痕迹
- 存在多处 tipsjson → 逐条提取、依次展示
- 若 JSON 无法解析 → 仅提取其中可读的中文文本展示,仍不得透传 JSON 原文
❌ BAD(原样透传):
> tipsjson
> {"content":"**计算口径**:销售额=已审核销货单销售金额-已审核销货退货单销售金额(净额口径,已扣减退货)"}
✅ GOOD(转换后展示):
> **计算口径**:销售额=已审核销货单销售金额-已审核销货退货单销售金额(净额口径,已扣减退货)
### 结果展示示例
> 本月经营状况分析:
>
> **核心指标**:
> - 销售额:128,500 元(环比 +12.3%)
> - 采购成本:85,200 元(环比 +8.5%)
> - 毛利润:43,300 元(毛利率 33.7%)
>
> **趋势分析**:近三个月销售额持续增长,增速略有放缓。
>
> **建议**:整体经营稳健,建议关注采购成本控制。
>
> 分析报告已生成。
### 可视化报告(ECharts HTML)
当 AI 回复中包含**可图表化的数据**时,除文字摘要外,**必须**基于数据生成 ECharts 图表,最终输出为 HTML 文件。
**触发判断**:
| AI 回复内容 | 处理方式 |
|------------|---------|
| 含 2 个及以上数据点的序列(多期数值、多分类对比、占比构成等) | 生成 ECharts 图表 HTML 报告 |
| 仅单个数值或纯文字结论,无数据序列 | 不生成图表,仅文字展示 |
**图表类型建议**:趋势/时间序列 → 折线图;分类对比 → 柱状图;占比构成 → 饼图或环形图;收支对比 → 柱状+折线组合;多组数据可在一个 HTML 中放多个图表。
**图表布局与标签避让要求**:
- 所有图表容器必须预留足够高度,单个饼图/环形图区域高度建议不低于 `520px`,避免标题、图例、标签与图形挤压。
- 饼图/环形图必须开启标签避让:`avoidLabelOverlap: true`,并配置 `labelLayout`(如 `hideOverlap: true`、`moveOverlap: 'shiftY'`)避免外部标签相互覆盖或压到图形。
- 饼图/环形图的圆心和半径要给外部标签留空间,建议 `center: ['55%', '56%']`、`radius: ['35%', '58%']`;图例放左侧或底部时,不得侵占标签区域。
- 饼图/环形图标签文本过长时必须截断或换行,建议使用 `overflow: 'truncate'`、`width` 限制或自定义 formatter;小占比扇区(如低于 3%)可隐藏外部标签,仅在 tooltip、legend 或明细表中展示。
- 必须配置合理的 `labelLine`(如 `length`、`length2`、`smooth`),禁止出现标签文字与图表主体、标题、图例重叠的 HTML 报告。
**要求**:图表数据必须忠实来源于 AI 回复,禁止编造、推测数值;**HTML 报告中不得出现任何 SQL 语句**(过滤要求见本页【SQL 过滤规则】);HTML 的具体实现(样式、结构、文件命名等)不设限,但必须满足上述图表布局与标签避让要求。
**页脚内容(必须精确使用,禁止其他表述)**:
> 报告由小蝶记账经营分析自动生成 | 数据来源:小蝶记账
**用户告知方式**(业务语义,不暴露技术细节):
> 图表分析报告已生成:`经营分析报告-20260811-153000.html`,用浏览器打开即可查看趋势图表与完整结论。
### 异常处理
| 场景 | 处理方式 |
|------|---------|
| AI 回复为空 | 告知用户"经营分析服务暂时无响应,请稍后重试" |
| AI 回复包含错误信息 | 原样展示错误提示,不暴露技术细节 |
| AI 回复要求补充信息 | 原样转达(如"请指定分析的时间范围"),等待用户补充后重新调用 |
---
## 执行流程
```
1. 意图识别
├─ 确认用户意图为经营分析(而非简单查数/创建单据/记账)
├─ 排除场景:含“创建/新增/记账/风险评估”等 → 直接告知不支持
├─ 区分:简单数据查询 → 直接告知不支持
└─ 确认用户提供了分析需求描述
2. 输入校验
├─ 用户输入为空或仅含"分析"等无意义词 → 询问"请描述您要分析的内容,例如:分析一下本月经营状况"
└─ 用户输入有效 → 进入步骤 3
3. 调用经营分析服务
├─ input = 用户原话或基于主 Agent 对话上下文的最小必要改写(无上下文时禁止改写;禁止补充用户未明确表达的年份、月份拆分、分析维度等)
├─ sid = 从当前工作目录路径中提取的 UUID(必填;路径中无 UUID 时终止并告知用户)
├─ title = "新对话"
└─ variables = {messageType=Message, agent_id=OrchestratorAgent, skills=business-analytics,report-data-query-guide-v2}
4. 结果展示
├─ 成功 → 先按【SQL 过滤规则】删除 SQL 语句、按【tipsjson 展示规则】转换提示数据,再按结构化业务语义展示分析结果
│ └─ 回复中含可图表化数据 → 生成 ECharts 图表 HTML 报告文件(不得包含 SQL),告知用户文件位置
├─ AI 要求补充信息 → 原样转达,等待用户补充后重新调用
└─ 异常 → 展示错误提示,建议重试
```
---
## 常见问题
**Q1: 用户只说"分析一下"没有具体内容怎么办?**
→ 询问用户:"请描述您要分析的内容,例如:分析一下本月经营状况、今年营收趋势如何。"
**Q2: 用户只是想查一个数怎么办?**
→ 直接告知不支持该操作。
**Q3: 用户要求创建单据怎么办?**
→ 直接告知不支持该操作。
**Q4: 分析结果为空怎么办?**
→ 如实告知用户未获取到相关数据,建议检查分析条件或更换描述后重试。
**Q5: 什么情况下会生成图表 HTML 报告?**
→ 当分析结果中包含多期数值、分类对比、占比构成等可图表化的数据序列时自动生成;仅有单个数值或纯文字结论时不生成,直接文字展示。
**Q6: 生成的 HTML 报告数据从哪来?**
→ 图表数据全部来自分析结果原文,禁止编造或推测数值;结论与建议同样取自分析结果。
**Q7: 用户要求修改数据怎么办?**
→ 直接告知不支持该操作。
**Q8: 分析服务返回内容中包含 SQL 怎么办?**
→ 必须过滤:SQL 属于内部实现细节,须整段删除且不得改写、不得解释、不得展示给用户;对话回复、ECharts 图表 HTML 报告等所有产物中均不得包含 SQL(见【SQL 过滤规则】)。
**Q9: 返回内容中出现 tipsjson 怎么办?**
→ 不得原样透传 JSON,提取 content 字段的值作为业务提示语(如计算口径说明)以引用样式单独展示;禁止出现“tipsjson”字样、花括号、字段名、转义符等 JSON 痕迹(见【tipsjson 展示规则】)。
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.