Forge Codegen Crud
yaomindong1996/forge-admin
Generate or review Forge project code-generation output for CRUD modules.
生成数据分析报告。当用户要求"报告/可视化报告/趋势报告/分析报告/统计报告/月报/周报"等任何报告类输出时启用。完整流程:理解需求 → 检索表结构 → 多维度 SQL 查询 → 智能深度分析归因 → 动态风格 HTML 可视化报告(ECharts)→ 分隔符包裹后直接输出到对话。
$ npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install zj-unicom-ai/UniEmployee report-generation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/zj-unicom-ai/UniEmployee.git skills-src && mkdir -p .claude/skills && cp -r skills-src/backend/skills/report-generation .claude/skills/report-generation && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "report-generation" agent skill from https://github.com/zj-unicom-ai/UniEmployee/tree/main/backend/skills/report-generation into .claude/skills/report-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-generation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/zj-unicom-ai/UniEmployee/tree/main/backend/skills/report-generationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install zj-unicom-ai/UniEmployee report-generation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zj-unicom-ai/UniEmployee.git skills-src && mkdir -p .agents/skills && cp -r skills-src/backend/skills/report-generation .agents/skills/report-generation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "report-generation" agent skill from https://github.com/zj-unicom-ai/UniEmployee/tree/main/backend/skills/report-generation into .agents/skills/report-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-generation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install zj-unicom-ai/UniEmployee report-generation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zj-unicom-ai/UniEmployee.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/backend/skills/report-generation .cursor/skills/report-generation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "report-generation" agent skill from https://github.com/zj-unicom-ai/UniEmployee/tree/main/backend/skills/report-generation into .cursor/skills/report-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-generation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/zj-unicom-ai/UniEmployee.git --path backend/skills/report-generation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install zj-unicom-ai/UniEmployee report-generation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zj-unicom-ai/UniEmployee.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/backend/skills/report-generation .gemini/skills/report-generation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "report-generation" agent skill from https://github.com/zj-unicom-ai/UniEmployee/tree/main/backend/skills/report-generation into .gemini/skills/report-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-generation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install zj-unicom-ai/UniEmployee report-generationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/zj-unicom-ai/UniEmployee.git skills-src && mkdir -p .github/skills && cp -r skills-src/backend/skills/report-generation .github/skills/report-generation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "report-generation" agent skill from https://github.com/zj-unicom-ai/UniEmployee/tree/main/backend/skills/report-generation into .github/skills/report-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-generation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install zj-unicom-ai/UniEmployee report-generation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zj-unicom-ai/UniEmployee.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/backend/skills/report-generation .opencode/skills/report-generation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "report-generation" agent skill from https://github.com/zj-unicom-ai/UniEmployee/tree/main/backend/skills/report-generation into .opencode/skills/report-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-generation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
report-generation生成数据分析报告。当用户要求"报告/可视化报告/趋势报告/分析报告/统计报告/月报/周报"等任何报告类输出时启用。完整流程:理解需求 → 检索表结构 → 多维度 SQL 查询 → 智能深度分析归因 → 动态风格 HTML 可视化报告(ECharts)→ 分隔符包裹后直接输出到对话。
Report Generation is an agent skill from zj-unicom-ai/UniEmployee. 生成数据分析报告。当用户要求"报告/可视化报告/趋势报告/分析报告/统计报告/月报/周报"等任何报告类输出时启用。完整流程:理解需求 → 检索表结构 → 多维度 SQL 查询 → 智能深度分析归因 → 动态风格 HTML 可视化报告(ECharts)→ 分隔符包裹后直接输出到对话。
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Documents & Office, covering SQL. It works with SQL. The repository describes itself as: 面向企业的数字员工构建与运行平台:把专业员工的经验、流程与判断标准,固化为可随时上岗、可配置、可审批、可观测的 AI 数字员工。 The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c38a00a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are html, css and javascript).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
cdn.jsdelivr.netFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Report Generation loads about 3.4k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 676 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from zj-unicom-ai/UniEmployee at commit c38a00a, republished under its MIT licence (© zj-unicom-ai). 676 words, ~3,391 tokens.
.claude/skills/report-generation/SKILL.md (or your agent's skills folder).报告 HTML 必须作为助手消息文本的一部分,直接输出到对话窗口——用 <!-- REPORT_HTML_START --> 和 <!-- REPORT_HTML_END --> 分隔符独占行包裹完整 HTML,让前端用 iframe srcdoc 渲染并提供下载/新窗口打开按钮,用户在对话里即可点击查看。
严禁调用以下任何文件系统工具把报告写到磁盘:
write_file / edit_file / delete —— 不要把 HTML 内容写到 workspace/data/ 或任何路径execute —— 不要用 shell 命令(echo > file.html、cat <<EOF > ...)落盘ls / glob / read_file —— 不要去探查或读取本地已存在的 html 文件也禁止在回复里告诉用户"报告已保存到 /xxx/yyy.html"或类似路径——你无权写文件,写不出来也不要假装写了。前端只会从对话文本里提取分隔符包裹的 HTML 段来渲染,写到磁盘的 HTML 用户看不到也打不开。
正确输出长这样(节选):
根据查询结果,为您生成《2024 月度销售趋势报告》:
<!-- REPORT_HTML_START -->
<!DOCTYPE html>
<html lang="zh-CN">
... 完整 HTML(含 ECharts CDN + CSS + 数据 + 初始化脚本)...
</html>
<!-- REPORT_HTML_END -->
报告已生成完毕,包含 KPI 卡片 4 个、图表 3 个...用户提出以下任意诉求时启用本技能:
普通单点问数(用户只想知道一个具体数字、一条 SQL 结果)走 data-analysis 规程,不要误用本技能。
<!-- REPORT_HTML_START --> 和 <!-- REPORT_HTML_END --> 独占行包裹后,作为消息文本直接输出——见顶部红线块,禁止 write_file/edit_file/execute 落盘,禁止谎称"已保存到某路径"从用户诉求中提取并默念(不必输出):
调用 sql_db_smart_search(user_query="用户报告诉求原话") 获取最相关的表结构。
datasource_id 可不传,会话会自动注入当前选中的数据源若涉及多表 JOIN,再调用:
sql_db_table_schema(table_names="表1,表2") 获取字段详情sql_db_table_relationship(table_names="表1,表2") 获取外键关联根据报告需求生成多条 SQL,覆盖不同分析维度:
| 报告需要 | 查询策略 |
|---|---|
| KPI 汇总 | 聚合查询(SUM/COUNT/AVG/MAX/MIN) |
| 时间趋势 | DATE_TRUNC/DATE_FORMAT + GROUP BY 时间 + ORDER BY ASC |
| 分类对比 | GROUP BY 类别 + ORDER BY DESC |
| Top N 排名 | ORDER BY DESC LIMIT N |
| 占比分析 | GROUP BY + 百分比计算(SUM(...) OVER ()) |
| 增长率 | 窗口函数 LAG() 或自连接 |
| 归因分解 | 多维度 GROUP BY + 增量贡献 |
查询原则:
SELECT *LIMIT 100sql_db_query_checker(query) 预检语法调用 sql_db_query(query="...") 逐条执行 SQL,收集所有结果数据。
执行失败时:
查询到数据后,必须先做深度分析再生成报告。不要把原始数据塞进 HTML 就完事。
根据数据特征自动判断适用的分析维度:
| 数据特征 | 触发的分析维度 | 说明 |
|---|---|---|
| 包含时间字段 + 数值指标 | 趋势分析 | 同比/环比、拐点识别、趋势方向和加速度 |
| 包含分类字段 + 数值指标 | 结构分析 | 各分类占比、帕累托(80/20)、集中度 |
| 包含多个分类维度 | 归因分析 | 维度下钻、贡献度量化、交叉分析 |
| 存在可对比的分组 | 对比分析 | Top N / Bottom N 排名、组间差异 |
| 数值分布范围大 | 异常检测 | 均值±2σ、离群值识别 |
| 包含率/比值指标 | 效率分析 | 转化率、完成率的横向和纵向对比 |
| 多指标同时存在 | 相关性分析 | 指标间关联关系、协同/对冲效应 |
| 用户问"为什么" | 因果探索 | 驱动因素假设、影响链路推测 |
至少完成 3 个分析维度,根据数据特征选择最相关的,不要硬塞。
A. 趋势分析 — How is it changing
B. 结构分析 — What's the composition
C. 归因分析 — Why did it happen(核心,当数据支持时必须执行)
D. 对比分析 — How does it compare
E. 异常检测 — What's unusual
每个被选中的分析维度必须输出:
核心发现(3-5 条,每条必须带具体数字):
风险提示(如果存在):
可执行建议(分短期/中期/长期):
第 5 步的所有分析结果必须写入 HTML 报告。 不要重复输出纯文本分析。
必须参考 frontend-design 技能的设计原则为每份报告创造独特视觉风格,避免千篇一律的 AI 模板化。
风格设计流程:
确定报告基调(根据数据场景):
应用 frontend-design 设计原则:
每份报告风格尽量不同:在暗色/亮色、不同字体、不同美学之间变化,避免多次生成趋同
<body> 必须按顺序包含:
| # | 区块 | HTML 结构 | 内容要求 |
|---|---|---|---|
| 1 | 报告标题 | <header class="report-header"> | 报告名称 + 时间范围 + 数据源信息 |
| 2 | KPI 统计卡片 | <section class="kpi-cards"> | 3-6 个关键指标卡片,每个含:指标名、数值、同比/环比变化(↑绿↓红),悬停有微动效 |
| 3 | 可视化图表 | <section class="charts"> | 至少 2 个 ECharts 图表,根据数据特征动态选择类型 |
| 4 | 详细数据表格 | <section class="data-table"> | 完整数据列表,斑马纹+悬停高亮,关键行高亮,超 20 行时表格内滚动 |
| 5 | 深度分析与归因 | <section class="deep-analysis"> | 第 5 步动态分析结果的呈现 |
| 6 | 结论与建议 | <section class="conclusions"> | 核心发现 + 风险提示 + 可操作建议(短/中/长期) |
| 数据特征 | 推荐图表 | ECharts 配置要点 |
|---|---|---|
| 时间序列 | 面积折线图 | areaStyle + smooth: true + 渐变填充 |
| 分类排名 | 水平柱状图 | yAxis 做类别轴 + 渐变色条 + 数据标签 |
| 占比结构 | 环形图 | radius: ['40%', '70%'] + 中心统计文字 |
| 多维对比 | 分组柱状图 | 多 series + barGap 调整间距 |
| 变化归因 | 瀑布图 | 堆叠柱状图模拟,正值绿色负值红色 |
| 趋势+量 | 双轴图 | yAxis 数组 + 柱线组合 |
| 综合评估 | 雷达图 | 多维度能力画像 |
| 帕累托 | 组合图 | 柱状 + 累积线 |
<section class="deep-analysis">
<h2>深度分析与归因</h2>
<!-- 每个被选中的分析维度一个区块 -->
<div class="analysis-block">
<h3>{分析维度标题}</h3>
<div class="analysis-content">
<p>{核心发现描述,必须带具体数字}</p>
<div class="analysis-chart" id="analysis-chart-{n}" style="height:350px"></div>
<!-- 如有归因数据,展示贡献度表格 -->
<table class="attribution-table">
<thead><tr><th>维度</th><th>贡献值</th><th>贡献占比</th><th>变化方向</th></tr></thead>
<tbody>
<tr>
<td>{维度名}</td>
<td>{+/-数值}</td>
<td>
<div class="progress-bar">
<div class="progress-fill positive" style="width: {百分比}%"></div>
<span>{百分比}%</span>
</div>
</td>
<td class="trend-up">↑</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- 风险提示(如果存在异常数据) -->
<div class="risk-alert">
<h3>风险提示</h3>
<ul>
<li><strong>{异常类型}:</strong>{具体数字 + 影响说明 + 建议关注点}</li>
</ul>
</div>
</section><section class="conclusions">
<h2>结论与建议</h2>
<div class="findings">
<h3>核心发现</h3>
<ol>
<li>
<div class="finding-item">
<span class="finding-badge">发现 1</span>
<p>{发现内容,必须带具体数字和百分比}</p>
</div>
</li>
<!-- 3-5 条核心发现 -->
</ol>
</div>
<div class="recommendations">
<h3>行动建议</h3>
<div class="rec-timeline">
<div class="rec-item rec-short">
<div class="rec-label">短期 (1-2周)</div>
<ul><li>{具体可操作建议,包含预期效果}</li></ul>
</div>
<div class="rec-item rec-mid">
<div class="rec-label">中期 (1-3月)</div>
<ul><li>{具体可操作建议,包含预期效果}</li></ul>
</div>
<div class="rec-item rec-long">
<div class="rec-label">长期 (3-12月)</div>
<ul><li>{具体可操作建议,包含预期效果}</li></ul>
</div>
</div>
</div>
</section>必须使用的技术栈:
https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js)backdrop-filter 玻璃效果 + CSS Grid/Flexbox 响应式ECharts 主题色板(根据报告场景选择):
const PALETTES = {
business: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4'],
tech: ['#00d4ff', '#7c4dff', '#00e676', '#ff6d00', '#2979ff', '#651fff', '#00b0ff', '#d500f9'],
warm: ['#ff6b6b', '#ffa06b', '#ffd93d', '#6bcb77', '#4d96ff', '#9b59b6', '#1abc9c', '#e74c3c'],
cool: ['#667eea', '#764ba2', '#36d1dc', '#5b86e5', '#06beb6', '#48b1bf', '#4568dc', '#b06ab3']
};CSS 核心变量系统(每份报告根据风格动态定制,以下仅为参考结构):
:root {
/* 主色调 — 每次根据报告场景和 frontend-design 原则选择不同配色 */
--primary: /* 动态选择 */;
--primary-light: /* 主色浅色变体 */;
--primary-dark: /* 主色深色变体 */;
--accent: /* 强调色,与主色形成对比 */;
/* 背景系统 — 暗色/亮色/渐变均可 */
--bg-main: /* 动态选择 */;
--bg-card: /* 卡片背景 */;
--bg-card-hover: /* 卡片悬停 */;
/* 文字层次 */
--text-primary: /* 主文字 */;
--text-secondary: /* 次要文字 */;
--text-muted: /* 辅助文字 */;
/* 状态色 */
--success: #10b981;
--warning: #f59e0b;
--danger: #ef4444;
--info: #3b82f6;
/* 玻璃效果(可选,适合暗色主题) */
--glass-bg: rgba(255, 255, 255, 0.05);
--glass-border: rgba(255, 255, 255, 0.1);
--glass-blur: 12px;
/* 布局 */
--radius: 16px;
--radius-sm: 8px;
--shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}关键 CSS 组件样式参考:
/* 玻璃拟态卡片 */
.glass-card {
background: var(--glass-bg);
backdrop-filter: blur(var(--glass-blur));
border: 1px solid var(--glass-border);
border-radius: var(--radius);
box-shadow: var(--shadow);
}
/* KPI 卡片悬停效果 */
.kpi-card {
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.kpi-card::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 3px;
background: linear-gradient(90deg, var(--primary), var(--accent));
}
.kpi-card:hover {
transform: translateY(-2px);
box-shadow: 0 12px 40px rgba(102, 126, 234, 0.15);
}
/* 归因贡献度进度条 */
.progress-bar {
position: relative;
background: rgba(255,255,255,0.1);
border-radius: 12px;
height: 24px;
overflow: hidden;
}
.progress-fill.positive { background: linear-gradient(90deg, #10b981, #34d399); }
.progress-fill.negative { background: linear-gradient(90deg, #ef4444, #f87171); }
/* 归因分析区块高亮边框 */
.analysis-block.attribution { border-left: 4px solid var(--accent); }
/* 建议时间线 */
.rec-timeline {
position: relative;
padding-left: 24px;
border-left: 2px solid var(--glass-border);
}
.rec-item::before {
content: '';
position: absolute;
left: -29px; top: 22px;
width: 12px; height: 12px;
border-radius: 50%;
border: 2px solid;
}
.rec-short::before { border-color: var(--success); background: rgba(16,185,129,0.2); }
.rec-mid::before { border-color: var(--info); background: rgba(59,130,246,0.2); }
.rec-long::before { border-color: var(--accent); background: rgba(124,77,255,0.2); }
/* 核心发现徽章 */
.finding-badge {
display: inline-block;
padding: 2px 10px;
border-radius: 12px;
font-size: 12px;
font-weight: 600;
background: var(--primary);
color: white;
}
/* 表格 */
.data-table table { width: 100%; border-collapse: collapse; }
.data-table tr:nth-child(even) { background: var(--table-stripe); }
.data-table tr:hover { background: var(--bg-card-hover); }用分隔符包裹 HTML 直接输出到对话:
根据查询结果,为您生成《{报告标题}》:
<!-- REPORT_HTML_START -->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{报告标题}</title>
<script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
<style>...完整CSS...</style>
</head>
<body>
<div class="report-container">
<!-- 6 个必需区块 -->
</div>
<script>...ECharts 初始化代码...</script>
</body>
</html>
<!-- REPORT_HTML_END -->
报告已生成完毕,包含:
- KPI 卡片 N 个:[列出关键指标]
- 图表 N 个:[列出图表类型与说明]
- 详细数据表格
- 深度分析与归因
- 结论与建议(短期/中期/长期)关键:
<!-- REPORT_HTML_START --> 和 <!-- REPORT_HTML_END --> 必须独占一行<!DOCTYPE html> + <html> + <head> + <body>)</body> 之前的 <script> 中| 模式 | 查询策略 | 推荐图表 |
|---|---|---|
| 时间趋势 | DATE_TRUNC + GROUP BY 月份 | 面积折线图 |
| 类别对比 | GROUP BY 类别 + ORDER BY | 柱状图 |
| Top N 排名 | ORDER BY DESC LIMIT N | 水平柱状图 |
| 占比分析 | GROUP BY + 百分比计算 | 环形图 |
| 增长率分析 | 窗口函数 LAG() | 折线图 + 数据标签 |
| 归因分解 | 多维度 GROUP BY + 增量贡献 | 瀑布图/堆叠柱状图 |
| 异常检测 | 均值 ± 2σ 标记异常 | 折线图 + 红色标注 |
| 帕累托分析 | 累积占比计算 | 组合图(柱状 + 累积线) |
执行流程:
sql_db_smart_search(user_query="2024 月度销售趋势") → 语义匹配出 orders, products, customerssql_db_table_schema(table_names="orders, products, customers") → 获取字段详情sql_db_table_relationship(table_names="orders, products, customers") → 获取外键GROUP BY month ORDER BY month)GROUP BY category ORDER BY sales DESC)CASE WHEN 计算增量)sql_db_query 逐条执行# 错误:工作流中途停顿
用户:生成一个销售报告
小数:我找到了相关表,要继续吗? ← 禁止
小数:数据查询完毕,要生成报告吗? ← 禁止
小数:用什么风格的报告? ← 禁止
# 正确:一次性完成全部流程,自动决策所有选项,最终输出分隔符包裹的 HTML© zj-unicom-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in backend/skills/report-generation of zj-unicom-ai/UniEmployee.
Open the folder on GitHubat commit c38a00a
Report Generation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Report Generation this skillzj-unicom-ai/UniEmployee | 360 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Forge Codegen Crudyaomindong1996/forge-admin | 127 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Alumni Re Hire Trackersickn33/agentic-awesome-skills | 47k | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Announcement Boardsickn33/agentic-awesome-skills | 47k | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Asset It Managementsickn33/agentic-awesome-skills | 47k | 1 repos | ~4k | Automated safety check: Pass | MIT | |
| Attendancesickn33/agentic-awesome-skills | 47k | 1 repos | ~3.5k | Automated safety check: Pass | MIT |
yaomindong1996/forge-admin
Generate or review Forge project code-generation output for CRUD modules.
sickn33/agentic-awesome-skills
Alumni and re-hire register: former role, last working day, re-hire eligibility, current employer and re-engagement date, as CSV, SQL, JSON Schema or Notion on request.
sickn33/agentic-awesome-skills
Announcement board: author, category, department, priority, audience, publish and expiry dates, status and acknowledgements, as CSV, SQL, JSON Schema or Notion on request.
sickn33/agentic-awesome-skills
Asset and IT register: serial, model, condition, assignee, location, purchase value, warranty expiry and return date, as CSV, SQL, JSON Schema or Notion on request.
sickn33/agentic-awesome-skills
Daily attendance register: check-in and check-out, hours worked, work mode, late minutes, leave and regularisation flags, as CSV, SQL, JSON Schema or Notion on request.
shencangsheng/easydb_app
Enforces unit test requirements for the Rust data-processing modules in src-tauri/src/sql/ (generator.rs, parse.rs) and src-tauri/src/reader/ (excel.rs and other readers).
zj-unicom-ai/UniEmployee
Prepares account managers for visits to government and enterprise customers: looks up the customer file, matches products, builds a Word solution document and files visit minutes.
zj-unicom-ai/UniEmployee
Exports the article list and original article text from a Tencent ima knowledge base through a logged-in Chrome session, using browser automation.
zj-unicom-ai/UniEmployee
Produces a full business health analysis from sales, finance, inventory and customer CSV files: core KPIs, monthly trends, drill-downs and recommendations.
zj-unicom-ai/UniEmployee
Produces a competitor benchmarking dashboard as an HTML page with an ECharts price comparison, from built-in profile cards plus fresh web research.
zj-unicom-ai/UniEmployee
Analyzes insurance operating data such as premium, loss ratio, renewal rate and expense ratio by branch, product and channel, flags anomalies and builds an HTML dashboard.
zj-unicom-ai/UniEmployee
Assesses a reported market event such as a competitor price cut, new launch or negative press, verifies it, grades urgency from P0 to P2 and produces a short alert card.
Works with
Categories
生成数据分析报告。当用户要求"报告/可视化报告/趋势报告/分析报告/统计报告/月报/周报"等任何报告类输出时启用。完整流程:理解需求 → 检索表结构 → 多维度 SQL 查询 → 智能深度分析归因 → 动态风格 HTML 可视化报告(ECharts)→ 分隔符包裹后直接输出到对话。. Report Generation is an agent skill from zj-unicom-ai/UniEmployee.
Report Generation fits situations like: tasks that involve SQL.
Run `npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a claude-code`. Or copy the skill folder (backend/skills/report-generation in zj-unicom-ai/UniEmployee) into .claude/skills/report-generation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a codex`. Or copy the skill folder (backend/skills/report-generation in zj-unicom-ai/UniEmployee) into .agents/skills/report-generation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zj-unicom-ai/UniEmployee --skill report-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/report-generation, .gemini/skills/report-generation, .github/skills/report-generation and .opencode/skills/report-generation in your project.
SKILL.md names no scripts, command-line tools or credentials: Report Generation is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: cdn.jsdelivr.net; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Report Generation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Report Generation: Forge Codegen Crud (yaomindong1996/forge-admin, 127 stars), Alumni Re Hire Tracker (sickn33/agentic-awesome-skills, 47k stars), Announcement Board (sickn33/agentic-awesome-skills, 47k stars) and Asset It Management (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
zj-unicom-ai (a GitHub organization) maintains it in zj-unicom-ai/UniEmployee, which has 360 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 8, 2026.
Source: zj-unicom-ai/UniEmployee on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.