Skip to content
Back to skills

Xdjz Ecommerce Business Analysis Diagnosis

ASecurity

小蝶记账-电商经营分析与诊断。用户用自然语言描述分析需求,系统自动查询数据并生成经营分析报告。 涵盖销售趋势分析、收支对比、经营状况评估、业务指标解读等。 适用于"怎么样""分析""趋势""对比""为什么"等评价性/分析性提问。 触发词:经营分析、分析一下、帮我看看经营状况、今年利润怎么样。

  • 45 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 24, 2026
datagosqlperformance

Works with

  • cursor
  • mcp

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add ahang1598/doubao-workbuddy-qwenwork-skills --skill xdjz-ecommerce-business-analysis-diagnosis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Xdjz Ecommerce Business Analysis Diagnosis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Xdjz Ecommerce Business Analysis Diagnosis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ahang1598-xdjz-ecommerce-business-analysis-diagnosis/badge)](https://www.skillsdirectory.com/skills/ahang1598-xdjz-ecommerce-business-analysis-diagnosis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.