Chart Visualization
bytedance/deer-flow
Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.
ECharts 高级可视化报表。依赖宜搭原生报表 getDataAsync.json 接口获取聚合数据,禁止前端聚合。触发词:「更美观」「ECharts」「大屏」「定制化」。普通「报表」「统计」需求默认由 yida-report 处理。
$ npx skills add openyida/openyida --skill yida-chart -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openyida/openyida yida-chart --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/openyida/openyida.git skills-src && mkdir -p .claude/skills && cp -r skills-src/yida-skills/skills/yida-chart .claude/skills/yida-chart && 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 "yida-chart" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-chart into .claude/skills/yida-chart/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-chart", 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/openyida/openyida/tree/main/yida-skills/skills/yida-chartType 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 openyida/openyida --skill yida-chart -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openyida/openyida yida-chart --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .agents/skills && cp -r skills-src/yida-skills/skills/yida-chart .agents/skills/yida-chart && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "yida-chart" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-chart into .agents/skills/yida-chart/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-chart", 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 openyida/openyida --skill yida-chart -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openyida/openyida yida-chart --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/yida-skills/skills/yida-chart .cursor/skills/yida-chart && 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 "yida-chart" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-chart into .cursor/skills/yida-chart/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-chart", 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/openyida/openyida.git --path yida-skills/skills/yida-chart--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 openyida/openyida --skill yida-chart -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openyida/openyida yida-chart --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/yida-skills/skills/yida-chart .gemini/skills/yida-chart && 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 "yida-chart" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-chart into .gemini/skills/yida-chart/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-chart", 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 openyida/openyida yida-chartInstalls 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 openyida/openyida --skill yida-chart -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .github/skills && cp -r skills-src/yida-skills/skills/yida-chart .github/skills/yida-chart && 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 "yida-chart" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-chart into .github/skills/yida-chart/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-chart", 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 openyida/openyida --skill yida-chart -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openyida/openyida yida-chart --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/yida-skills/skills/yida-chart .opencode/skills/yida-chart && 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 "yida-chart" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-chart into .opencode/skills/yida-chart/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-chart", 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.
yida-chartECharts 高级可视化报表。依赖宜搭原生报表 getDataAsync.json 接口获取聚合数据,禁止前端聚合。触发词:「更美观」「ECharts」「大屏」「定制化」。普通「报表」「统计」需求默认由 yida-report 处理。
Yida Chart is an agent skill from openyida/openyida. ECharts 高级可视化报表。依赖宜搭原生报表 getDataAsync.json 接口获取聚合数据,禁止前端聚合。触发词:「更美观」「ECharts」「大屏」「定制化」。普通「报表」「统计」需求默认由 yida-report 处理。
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/echarts-bindding-guide.md`, `references/echarts-code-template.md` and `references/echarts-design-spec.md`).
The repository describes itself as: Your own personal YiDA AI assistant! The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3dd4693. 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.
Shell commands in SKILL.md call:
gitFrom 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:
g.alicdn.comgeo.datav.aliyun.comFrom 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.
Yida Chart loads about 1.7k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 32 tokens; SKILL.md has 454 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 openyida/openyida at commit 3dd4693, republished under its MIT licence (© openyida). 454 words, ~1,702 tokens.
.claude/skills/yida-chart/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.| 用户意图 | 正确处理 |
|---|---|
| "更美观"、"高级"、"定制化"、"ECharts"、"数据大屏" | 使用本技能 |
| 用户提供已有报表 URL,希望美化展示 | 使用本技能的方案 C |
| 多表关联分析 | 当前不支持,先澄清或拆成单表报表 |
getDataAsync.json / getCacheData.json。cid 和 fieldId:cid 是 node_xxx,用于报表数据请求;fieldId 是组件标识,不能作为 API 请求参数。reportId、cid、dataSetKey、filterKey 必须来自 URL 或 Schema。this.utils.loadScript 或等价动态脚本加载,禁止 import / require。.cache/<项目名>-report-bindding.json,记录 ECharts 页面、原生报表和组件映射。this.utils.yida.searchFormDatas,聚合图表仍走报表接口。Jsx 组件运行时规则执行。REPORT_xxx、prdId/topicId 或 cid。必须在当前 app 内创建或同步原生报表,再批量替换绑定。| 场景 | 方案 | 流程 |
|---|---|---|
| 用户有原生报表 URL | 方案 C:基于已有报表创建 ECharts 页面 | 解析 URL → get-schema → 提取组件参数 → 校验数据源 → 写 ECharts 页面 |
| 用户无原生报表但要 ECharts 高级报表 | 方案 B:从头创建 | yida-report 创建原生报表 → get-schema → 创建 ECharts 页面 |
| 用户只要标准报表 | 不使用本技能 | 交给 yida-report |
# Step 1: 只读检测环境和登录态
openyida env --json
openyida login --check-only --json
# Step 2: 准备原生报表数据源
# 无原生报表时先使用 yida-report 创建;已有 URL 时解析 appType/formUuid
# Step 3: 获取报表 Schema;需要文件时用 CLI 输出目录或结构化文件写入工具保存 stdout
openyida get-schema <appType> --all --keyword <报表名称> --output-dir .cache/openyida/<项目名或任务名>/schemas
# Step 4: 解析 cid / className / dataSetKey / filterKey / cname
# Step 5: 创建 ECharts 自定义页面并编写源码
openyida create-page <appType> "<ECharts页面名>" --mode dashboard
openyida check-page project/pages/src/<页面名>.oyd.jsx
# Step 6: 发布并验证
openyida publish project/pages/src/<页面名>.oyd.jsx <appType> <echartsFormUuid> --health-check当页面报错 no permission for the report、图表数据加载失败,或发现源码里绑定的 REPORT_xxx 属于旧应用时,按下面流程修复:
openyida list-forms <当前appType> --json 确认当前应用是否已有 formType=report;没有则先用 yida-create-form-page 创建数据源表单,按业务场景写入示例数据,再用 yida-report 创建原生报表。openyida get-schema <当前appType> <新REPORT_xxx> --json,从 componentsTree 提取所有 Youshu* 组件的 id、componentName、props.dataSetModelMap key、dataViewQueryModel.filterList[].filterKey 和标题。REPORT_FORM_UUID / REPORT_UUID,prdId/topicId 必须通过 getFormNavigationListByOrder 按该 REPORT 动态获取。cid 使用 node_oc...,className 使用 YoushuTable / YoushuSimpleIndicatorCard 等,表格 dataSetKey 以 schema 为准(常见 table),指标卡常见 youshuData。filterKey 必须按组件记录,例如 statusTableStatus、budgetTableStatus。不要把字段级的 status 当作多个组件通用的 filterKey。.cache/openyida/<任务名>/report-binding.json,记录数据源表单、新报表、组件映射和绑定的 ECharts 页面。REPORT、旧 prdId、旧 appType 和旧 cid 前缀。openyida check-page、openyida compile、openyida publish ... --health-check,最后跑 git diff --check。| 参数 | 来源位置 | 用途 | 注意 |
|---|---|---|---|
cid | componentsTree[].children[].id | getDataAsync.json 请求参数 | 必须是 node_xxx |
className | 组件 componentName | 请求 componentClassName | 如 YoushuPieChart |
dataSetKey | props.dataSetModelMap 的 key | 请求数据集 | 指标卡常见 youshuData,图表常见 chartData |
filterKey | dataViewQueryModel.filterList[] | 构造筛选参数 | 每个组件独立,不能共用 |
cname | props.componentTitle.zh_CN | 页面展示和调试 | 可为空但建议保留 |
prdId / topicId | 导航接口 getFormNavigationListByOrder | 报表接口必填 | 不能硬编码 |
| componentName | 类型 | dataSetKey |
|---|---|---|
YoushuSimpleIndicatorCard | 指标卡 | youshuData |
YoushuPieChart | 饼图 | chartData |
YoushuGroupedBarChart | 分组柱状图 | chartData |
YoushuLineChart | 折线图 | chartData |
YoushuFunnelChart | 漏斗图 | chartData |
YoushuComboChart | 组合图 | chartData |
YoushuRadarChart | 雷达图 | chartData |
YoushuTable | 明细表 | chartData |
必须排除 YoushuPageHeader、YoushuTopFilterContainer、YoushuSelectFilter、YoushuTimeFilter、YoushuInputFilter 等容器或筛选器组件。
| 项 | 要求 |
|---|---|
| 状态 | 顶层 var _customState |
| 状态方法 | getCustomState、setCustomState、forceUpdate |
| 生命周期 | didMount 初始化,didUnmount 清理 chart 实例和 resize 事件 |
| 渲染入口 | renderJsx 每个 return 分支都包含隐藏的 this.state.timestamp |
| CDN | https://g.alicdn.com/code/lib/echarts/5.6.0/echarts.min.js |
| 工具函数 | 不需要 this 的函数用 var _xxx = function () {} |
| 组件方法 | 需要宜搭运行时 this 的方法用 export function xxx() {} |
| 场景 | 接口 | 约束 |
|---|---|---|
| 聚合统计 | /visual/visualizationDataRpc/getDataAsync.json | 由原生报表接口返回,禁止浏览器端聚合 |
| 缓存聚合 | /visual/visualizationDataRpc/getCacheData.json | 可按报表配置复用缓存数据 |
| 明细表 | this.utils.yida.searchFormDatas | 只用于展示原始记录,不做分组求和 |
| 详情跳转 | /APP_xxx/formUuid/formInstId | 明细表记录需保留 formInstId |
| 地图 GeoJSON | https://geo.datav.aliyun.com/areas_v3/bound/100000_full.json | ECharts 5 地图需 registerMap('china', geoJson) |
openyida get-schema 获取 Schema 文件cid、className、dataSetKey、filterKey、cnameprdId 通过导航接口动态获取,不硬编码REPORT_xxx 属于当前 app,不是旧样例应用或其它应用filterKey 按组件记录,未把同一字段的筛选 key 跨组件复用searchFormDatas 做前端聚合renderJsx 所有分支都有隐藏 timestamp divdidUnmount 清理 ECharts 实例、resize 监听和定时器openyida check-page <源文件>.cache/<项目名>-report-bindding.jsonQ:用户说"优化已有报表",是不是改原生报表?
A:不是。本技能最终产物是 ECharts 自定义页面,原生报表只作为数据源。
Q:为什么不能前端聚合?
A:权限、过滤器、数据量和统计口径都由宜搭原生报表保证;前端聚合容易越权、慢且口径不一致。
Q:多个图表能共用同一个 filterKey 吗?
A:不能。同一个筛选器在不同组件里也可能有不同 filterKey,必须逐组件提取。
Q:页面点击筛选后怎么刷新?
A:更新 _customState.filterValueMap,重新调用报表数据请求函数,对已有 chart 执行 setOption,不要频繁 dispose 重建。
| 文档 | 覆盖范围 | 何时阅读 |
|---|---|---|
| ECharts 页面代码模板 | 必备函数、CDN、prdId 动态获取、报表请求模板、meta 解析 | 编写 ECharts 页面代码前必读 |
| ECharts 视觉规范 | 默认风格、配色、卡片、图表模板、多端适配、表格样式 | 设计页面 UI 时必读 |
| 已有报表绑定指南 | 方案 C、Schema 解析、filterKey、数据源完整性校验 | 用户提供报表 URL 时必读 |
| 示例 | 命令示例、页面代码示例、常见图表实现 | 需要参考完整写法时阅读 |
yida-report 子技能 | 原生报表创建、追加图表、Schema 生成 | 需要先创建或补齐原生报表时调用 use_skill("yida-report", "创建或补齐原生报表") |
| 平台 JSX 组件页面规范 | 宜搭 React 16 自定义页面规则 | 不确定页面运行时限制时读取对应规范 |
© openyida, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (references) in yida-skills/skills/yida-chart of openyida/openyida.
Open the folder on GitHubat commit 3dd4693
Yida Chart 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 |
|---|---|---|---|---|---|---|
| Yida Chart this skillopenyida/openyida | 220 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Chart Visualizationbytedance/deer-flow | 83k | 2 repos | ~840 | Automated safety check: Pass | MIT | |
| Working With ChartsPostHog/posthog | 40k | — | ~948 | Automated safety check: Pass | Custom licence | |
| Helm Chartssickn33/agentic-awesome-skills | 47k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Claim Chartanthropics/claude-for-legal | 9.6k | 2 repos | ~10k | Automated safety check: Pass | Apache-2.0 | |
| Chartmohitagw15856/pm-claude-skills | 1.4k | — | ~893 | Automated safety check: Pass | MIT |
bytedance/deer-flow
Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.
PostHog/posthog
Guides consumers of @posthog/quill-charts through chart selection, data, themes, sizing, and composition.
sickn33/agentic-awesome-skills
Create, manage, and deploy Helm charts for Kubernetes package management.
anthropics/claude-for-legal
Build or review an element chart — a patent claim chart (infringement, invalidity, or review) or a civil element chart for any cause of action or defense — with every cell pin-cited and gap…
mohitagw15856/pm-claude-skills
Turn numbers into a chart — bar, line, area, pie, or doughnut.
nexu-io/open-design
Use this plugin when the user wants a "NYT-Style Data Chart Frame" HyperFrames motion video — NYT-newsroom typography, staggered reveal animation, and editorial-grade charts (line, bar, or range…
openyida/openyida
宜搭自定义页面开发规范,使用 YidaCodeCanvas 组件实现现代 React18 自定义页面。用于官网、看板、工作台、列表、详情、门户壳、可视化、hooks 交互、表单入口,以及需要门户组件、数据管理视图、成员、部门或上传组件的场景;发布层自动注入 yida/utils window 桥。
openyida/openyida
快速发布 OpenYida npm 正式版或测试版。用户说“发布正式版”“发布测试版”“发 beta”或要求按当天日期生成版本 tag 时使用;不用于宜搭应用或自定义页面发布。
openyida/openyida
Plan 模式的视觉设计分支。基于需求选择视觉方向,再结合业务页面规划维护 build-plan.json 的 visualStyle,供 CLI 派生 design.md。
openyida/openyida
Prevent stale local OpenYida custom page source from overwriting live designer edits.
openyida/openyida
Generate, update, or drift-check agent-facing CodeMaps as progressive code terrain indexes for projects, features, capabilities, functions, modules, or bug chains.
openyida/openyida
面向 GPT-5.5 等强模型和熟练用户的轻量 AI Agent Harness / checkpoint-driven coding skill。默认用户已经把任务切到基本可执行的最小混沌单元;模型自行分解、探索与推进,人类通过最终目标、最小 spec、复述、checkpoint、证据验证与回写来低干扰控盘。
ECharts 高级可视化报表。依赖宜搭原生报表 getDataAsync.json 接口获取聚合数据,禁止前端聚合。触发词:「更美观」「ECharts」「大屏」「定制化」。普通「报表」「统计」需求默认由 yida-report 处理。. Yida Chart is an agent skill from openyida/openyida.
Run `npx skills add openyida/openyida --skill yida-chart -a claude-code`. Or copy the skill folder (yida-skills/skills/yida-chart in openyida/openyida) into .claude/skills/yida-chart in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openyida/openyida --skill yida-chart -a codex`. Or copy the skill folder (yida-skills/skills/yida-chart in openyida/openyida) into .agents/skills/yida-chart 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 openyida/openyida --skill yida-chart -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/yida-chart, .gemini/skills/yida-chart, .github/skills/yida-chart and .opencode/skills/yida-chart in your project.
Going by SKILL.md and its folder, Yida Chart needs the command-line tools its instructions call (git).
SKILL.md names 2 domains. In commands or code: g.alicdn.com and geo.datav.aliyun.com; the agent is likely to contact these 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.
Yida Chart is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Yida Chart: Chart Visualization (bytedance/deer-flow, 83k stars), Working With Charts (PostHog/posthog, 40k stars), Helm Charts (sickn33/agentic-awesome-skills, 47k stars) and Claim Chart (anthropics/claude-for-legal, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openyida (a GitHub organization) maintains it in openyida/openyida, which has 220 GitHub stars. The repository holds 58 skills in this directory. The repository was last updated on September 30, 2026.
Source: openyida/openyida on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.