用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MQjehovah/agent --skill monthly-business-review命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | monthly-business-review |
| description | 月度经营复盘。适用于"XX月经营情况 / 经营分析 / 经营报告 / 月度复盘"类任务。固化已验证可用的批量 SQL 查询集与报告模板,一次并行查完、直接出报告,禁止自由探索数据库。 |
| version | 1.0.0 |
2026-07;拿不准时先调 get_current_time 确认)。{M_START} = 本月首日 YYYY-MM-01,{M_END} = 次月首日(如 2026-07-01 / 2026-08-01){P_START} = 上月首日,{P_END} = 本月首日(如 2026-06-01 / 2026-07-01)material_quantity * purchase_price * exch_rate,注意 exch_name/exch_rate 币种折算。only_full_group_by / MySQL 不支持 PG 语法),只修正该条并重试 1 次,其余结果直接采用。.agent/report/ 目录。SELECT '本月' AS period,
COUNT(DISTINCT s.code) AS order_cnt,
COUNT(DISTINCT s.customer_code) AS cust_cnt,
ROUND(SUM(om.material_quantity * om.purchase_price * om.exch_rate), 2) AS amount_cny
FROM tb_erp_sale s
JOIN tb_erp_order_material om ON s.code = om.order_code
WHERE s.create_time >= '{M_START}' AND s.create_time < '{M_END}'
UNION ALL
SELECT '上月',
COUNT(DISTINCT s.code),
COUNT(DISTINCT s.customer_code),
ROUND(SUM(om.material_quantity * om.purchase_price * om.exch_rate), 2)
FROM tb_erp_sale s
JOIN tb_erp_order_material om ON s.code = om.order_code
WHERE s.create_time >= '{P_START}' AND s.create_time < '{P_END}'
SELECT s.customer_code,
COALESCE(c.name, CONCAT('未建档[', s.customer_code, ']')) AS customer_name,
COUNT(DISTINCT s.code) AS order_cnt,
ROUND(SUM(om.material_quantity * om.purchase_price * om.exch_rate), 2) AS amount_cny
FROM tb_erp_sale s
LEFT JOIN tb_erp_customer c ON s.customer_code = c.code
LEFT JOIN tb_erp_order_material om ON s.code = om.order_code
WHERE s.create_time >= '{M_START}' AND s.create_time < '{M_END}'
GROUP BY s.customer_code, c.name
ORDER BY amount_cny DESC LIMIT 15
SELECT om.material_code,
COALESCE(m.name, CONCAT('未知物料[', om.material_code, ']')) AS material_name,
SUM(om.material_quantity) AS qty,
ROUND(SUM(om.material_quantity * om.purchase_price * om.exch_rate), 2) AS amount_cny
FROM tb_erp_deliver d
JOIN tb_erp_order_material om ON d.code = om.order_code
LEFT JOIN tb_erp_material m ON om.material_code = m.code
WHERE d.create_time >= '{M_START}' AND d.create_time < '{M_END}'
GROUP BY om.material_code, m.name
ORDER BY amount_cny DESC LIMIT 15
SELECT om.exch_name,
COUNT(DISTINCT om.order_code) AS orders,
ROUND(SUM(om.material_quantity * om.purchase_price * om.exch_rate), 2) AS local_amount
FROM tb_erp_order_material om
JOIN tb_erp_sale s ON om.order_code = s.code
WHERE s.create_time >= '{M_START}' AND s.create_time < '{M_END}'
GROUP BY om.exch_name
ORDER BY local_amount DESC
SELECT DATE_FORMAT(p.create_time, '%Y-%m') AS ym,
COUNT(DISTINCT p.code) AS purchase_cnt,
ROUND(SUM(pm.material_quantity * pm.purchase_price * pm.exch_rate), 2) AS amount_cny
FROM tb_erp_purchase p
LEFT JOIN tb_erp_order_material pm ON p.code = pm.order_code
WHERE p.create_time >= '{P_START}' AND p.create_time < '{M_END}'
GROUP BY DATE_FORMAT(p.create_time, '%Y-%m')
SELECT COUNT(DISTINCT d.code) AS deliver_cnt,
COUNT(DISTINCT s.code) AS order_cnt
FROM tb_erp_sale s
LEFT JOIN tb_erp_deliver d ON s.code = d.order_code
WHERE s.create_time >= '{M_START}' AND s.create_time < '{M_END}'
SELECT SUM(rm.quantity) AS total_qty,
SUM(rm.quantity * rm.price) AS stock_value,
COUNT(DISTINCT rm.material_code) AS sku_cnt
FROM tb_erp_repository_material rm
WHERE rm.quantity > 0
SELECT vouch_type,
COUNT(*) AS cnt,
SUM(CASE WHEN vouch_date >= '{M_START}' AND vouch_date < '{M_END}' THEN amount ELSE 0 END) AS amt_month
FROM tb_erp_paylist
GROUP BY vouch_type
SELECT
(SELECT COUNT(*) FROM tb_erp_aftersale WHERE create_time >= '{M_START}' AND create_time < '{M_END}') AS aftersale_cnt,
(SELECT COUNT(*) FROM tb_erp_borrow WHERE create_time >= '{M_START}' AND create_time < '{M_END}') AS borrow_cnt,
(SELECT COUNT(DISTINCT code) FROM tb_erp_arrival WHERE create_time >= '{M_START}' AND create_time < '{M_END}') AS arrival_cnt
SELECT COUNT(*) AS new_customer_cnt
FROM (
SELECT s.customer_code
FROM tb_erp_sale s
WHERE s.create_time < '{M_END}'
GROUP BY s.customer_code
HAVING MIN(s.create_time) >= '{M_START}'
) t
tb_erp_sale.exch_name 同时存在英文(CNY/USD/EUR)与中文(人民币/美元/欧元)值,且有脏数据 "选项一":按原文 GROUP BY 统计,报告中标注异常项,不要臆断口径。tb_erp_sale.state 当前全部为 ERP_ORDER_STATE_CREATED;tb_erp_purchase.state 有 ERP_ORDER_STATE_CREATED / CLOSED / FINISHED。tb_erp_paylist(收款/付款)数据仅到 2026-03-31,查询 2026 年 4 月之后的回款会得到空/旧数据——报告中必须标注"现金流数据截至 2026-03-31"。tb_erp_deliver.type:ERP_DELIVER_TYPE_XS=销售发货、ERP_DELIVER_TYPE_SH=售后、ERP_DELIVER_TYPE_CG=采购。# 霞智科技 YYYY年M月经营复盘
## 一、核心结论
| 指标 | 本月 | 上月 | 环比 | 说明 |
|------|------|------|------|------|
| 销售额 | | | | |
| 订单数 | | | | |
| 客户数 | | | | |
| 采购额 | | | | |
| 库存 | | | | |
## 二、销售分析
- 销售额 / 订单数 / 客户数变化及原因
- 客户 TOP、产品 TOP、币种构成、异常币种(如"选项一")核查
## 三、采购与供应链
- 采购额、采购>销售 的现金流风险、到货情况
## 四、库存
- 总量 / 金额 / SKU、核心产品(SW50/GT/Titan810)库存是否健康
## 五、现金流
- 收款/付款情况;数据缺失要明确标注(如收款单数据截止日期)
## 六、风险与建议
- 3~5 条可执行建议
.agent/report/ 目录。only_full_group_by:SELECT 非聚合列必须进 GROUP BY / MySQL 不支持 NULLS LAST 等 PG 语法),修正该条重试 1 次。产品经营分析。分析销售、采购、库存、成本、现金流、生产等业务数据并生成报告。已按数字中台真实数据库校准:明确标注哪些指标数据库能算、哪些无数据源不得编造,每个维度附可用 SQL。
严格 Prove-It 测试驱动开发模式。先写失败测试,证明它失败,再写代码,证明它通过,最后重构。
Release engineer checklist. Sync main, run tests, audit coverage, push, open PR. Bootstraps test frameworks if missing. Use when "ready to ship", "deploy", "publish", "release this".
基于 SOC 职业分类