agentCLAWHUBUnverified

text2echart

Chart generator skill. When triggered: - Default: CONSTRUCT ECharts option JSON and output HTML string directly and render by mermaid and support preview. -... Skill: text2echart Owner: ifeel-is-a-mouse Summary: Chart generator skill. When triggered: - Default: CONSTRUCT ECharts option JSON and output HTML string directly and render by mermaid and support preview. -... Tags: latest:2.3.11 Version history: v2.3.11 | 2026-07-03T14:09:46.481Z | user Add disable-model-invocation and user-invocable parameters with English documentation v2.3.10 | 2026-06-18T16:04:30.592Z | user F

OpenClaw

Rank

62

Safety

84

Downloads

999

Updated

Oct 11, 2026

Version

2.3.11

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 999 downloads reported by the source. Last updated 10/11/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 11, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 11, 2026
Adoption signal
999 downloadsadoption · observed Oct 11, 2026
Latest release
2.3.11release · observed Jul 3, 2026
Handshake status
UNKNOWNsecurity

What changed

Newest first. Only changes that point at a source are listed.

  • Release 2.3.11release

    Add disable-model-invocation and user-invocable parameters with English documentation

    Observed Jul 3, 2026 · source

Install and run

Setup complexity: low.

clawhub skill install s177g9m5pt86wst7xh5s1m2hss88a9hb:text2echart
  1. Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-ifeel-is-a-mouse-text2echart/snapshot"

Run-check

$0.02 USD

1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.

Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.

Documentation

CLAWHUB

149,447 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: text2echart
name-zh: Data to Chart
provider: openclaw
description: >
  Chart generator skill. When triggered:
  - Default: CONSTRUCT ECharts option JSON and output HTML string directly and render by mermaid and support preview.
  - Image / vector (图片/矢量图): use CLI with --svg-output (or --svg --embed for offline).
  - Screenshot (截图): use CLI with --screenshot (needs Playwright).
  - Fine-tuning (微调/修改): open browser for interactive adjustment.
  Supports 6 chart types: bar, line, pie, scatter, radar, wordcloud (via JSON).
  Trigger words: chart, graph, visualize, plot, draw, wordcloud, vent draw图表, 画图, 可视化, 图片, 矢量图, 词云.
disable-model-invocation: true
user-invocable: true
metadata:
  version: "2.3.11"
  launch: "text2echarts.html"
  trigger-keywords:
    - chart
    - graph
    - visualize
    - plot
    - make a chart
    - draw a graph
    - 图表
    - 画图
    - 可视化
    - 柱状图
    - 饼图
    - 图片
    - 矢量图
    - wordcloud
    - vent draw
    - 词云
  tags:
    - visualization
    - echarts
    - chart
    - data-viz
    - svg
---

# text2echart — Data to Chart

## Invocation Model

text2echart is a chart-generation skill configured with safety-first invocation settings:

- **`disable-model-invocation: true`** — The AI model will **never** automatically invoke this skill on its own. text2echart requires **explicit user invocation** — you must explicitly ask for a chart, graph, visualization, or use one of the trigger keywords before the skill is activated. This prevents the model from generating charts without your awareness, especially when sensitive data is involved.

- **`user-invocable: true`** — You (the user) **can** explicitly invoke this skill at any time by using trigger keywords like `chart`, `graph`, `visualize`, `plot`, `draw`, `wordcloud`, `图表`, `画图`, `可视化`, etc.

**Why these settings matter:** Chart generation can involve processing uploaded data files (CSV/JSON) and rendering executable HTML content. Requiring explicit user invocation ensures there is always a conscious human decision before data is processed into visualizations.

## ⚡ Routing

case when: user asks for a chart / graph / visualization (default):
  - Construct ECharts option JSON
  - Output HTML string directly, render with ```html code block
  - Support preview by opening in browser or screenshot

  **Default route — direct HTML generation in chat.**
  Example prompt: *"Give me a pie chart of browser market share — Chrome 65%, Safari 18%, Edge 8%, Firefox 5%, Other 4%"*
  → The model outputs a complete HTML file with an interactive ECharts pie chart.

case when: user asks for an image / picture / vector graphic (图片/矢量图):
  - Use CLI with SVG output: `node cli.js data.json --svg-output -o chart.svg`
  - `--svg-output` extracts standalone .svg file (requires Playwright)
  - Add `--embed` to bundle ECharts lib for fully offline use
  - SVG is vector format — sharp at any resolution, ideal for documents
  - Also send PNG screenshot for instant preview

case when: user

assets/README.md

# Assets Directory

Screenshot images (bar-chart.jpg, help-screen.jpg, pie-chart.jpg, wordcloud.jpg)
are embedded as base64 data URIs in the project [README.md](../README.md).

This is necessary because ClawHub blocks binary image file uploads (.jpg, .png)
at the server level — `.clawhubignore` negation patterns cannot override this filter.

_meta.json

{
  "ownerId": "kn763gq5kg4zre2btdb6rwgrwx88bwgs",
  "slug": "text2echart",
  "version": "2.3.11",
  "publishedAt": 1783087786481
}

references/echarts-option-reference.md

Option API GL Tutorial
setOption({
Collapse All
title: {...} ,
legend: {...} ,
grid: {...} ,
xAxis: {...} ,
yAxis: {...} ,
polar: {...} ,
radiusAxis: {...} ,
angleAxis: {...} ,
radar: {...} ,
dataZoom: [{...}] ,
visualMap: [{...}] ,
tooltip: {...} ,
axisPointer: {...} ,
toolbox: {...} ,
brush: {...} ,
geo: {...} ,
parallel: {...} ,
parallelAxis: {...} ,
singleAxis: {...} ,
timeline: {...} ,
graphic: {...} ,
calendar: {...} ,
matrix: {...} ,
thumbnail: {...} ,
dataset: {...} ,
aria: {...} ,
series: [{...}] ,
darkMode ... ,
color ... ,
backgroundColor ... ,
textStyle: {...} ,
animation: true ,
animationThreshold: 2000 ,
animationDuration: 1000 ,
animationEasing: 'cubicOut' ,
animationDelay: 0 ,
animationDurationUpdate: 300 ,
animationEasingUpdate: 'cubicOut' ,
animationDelayUpdate: 0 ,
stateAnimation: {...} ,
blendMode: 'source-over' ,
hoverLayerThreshold: 3000 ,
useUTC: false ,
richInheritPlainLabel: true ,
options ... ,
media: [{...}] ,
title

Title component, including main title and subtitle.

In ECharts 2.x, a single instance of ECharts could contains one title component at most. However, in ECharts 3, there could be one or more than one title components. It is more useful when multiple diagrams in one instance all need titles.

Here are some instances of different animation easing functions, among which every instance has a title component:

Properties
title. id
string

Component ID, not specified by default. If specified, it can be used to refer the component in option or API.

title. show = true
 Try It
boolean

Set this to false to prevent the title from showing

title. text = ''
 Try It
string

The main title text, supporting for \n for newlines.

[WARNING]: When enabling toolbox.feature.saveAsImage, and toolbox.feature.saveAsImage.name is not provided, it has historically been using title[0].text instead. This usage is not recommended -- toolbox.feature.saveAsImage.name should always be specified explicitly; otherwise, correctness and security risks for a filename have to be considered in this title.text option. See document "Security Guidelines" for recommendations on safe usage.
title. link = ''
string

The hyper link of main title text.

[WARNING]: This URL string is accepted directly without any internal sanitization. Security risks must be considered if it comes from untrusted sources. See document "Security Guidelines" for recommendations on safe usage.
title. target = 'blank'
string

Open the hyper link of main title in specified tab.

options:

'self' opening it in current tab

'blank' opening it in a new tab

 title. textStyle
Object
 title.textStyle. color = '#333'
 Try It
Color

main title text color.

 title.textStyle. fontStyle = 'normal'
 Try It
string

main title font style.

Options are:

'normal'
'italic'
'oblique'
 title.textStyle. fontWeight = 'bolder'
 Try It
stringnumber

main title font thick weight.

Options are:

'normal'
'bold'
'bolder'
'lighter'
100 | 200 | 300 | 400...
 title.textStyle. fontFamily = 'sans-

references/echarts-option-zh.md

配置项 API GL配置 教程
setOption({
收起所有
title: {...} ,
legend: {...} ,
grid: {...} ,
xAxis: {...} ,
yAxis: {...} ,
polar: {...} ,
radiusAxis: {...} ,
angleAxis: {...} ,
radar: {...} ,
dataZoom: [{...}] ,
visualMap: [{...}] ,
tooltip: {...} ,
axisPointer: {...} ,
toolbox: {...} ,
brush: {...} ,
geo: {...} ,
parallel: {...} ,
parallelAxis: {...} ,
singleAxis: {...} ,
timeline: {...} ,
graphic: {...} ,
calendar: {...} ,
matrix: {...} ,
thumbnail: {...} ,
dataset: {...} ,
aria: {...} ,
series: [{...}] ,
darkMode ... ,
color ... ,
backgroundColor: 'transparent' ,
textStyle: {...} ,
animation: true ,
animationThreshold: 2000 ,
animationDuration: 1000 ,
animationEasing: 'cubicOut' ,
animationDelay: 0 ,
animationDurationUpdate: 300 ,
animationEasingUpdate: 'cubicInOut' ,
animationDelayUpdate: 0 ,
stateAnimation: {...} ,
blendMode: 'source-over' ,
hoverLayerThreshold: 3000 ,
useUTC: false ,
richInheritPlainLabel: true ,
options ... ,
media: [{...}] ,
title

标题组件,包含主标题和副标题。

在 ECharts 2.x 中单个 ECharts 实例最多只能拥有一个标题组件。但是在 ECharts 3 中可以存在任意多个标题组件,这在需要标题进行排版,或者单个实例中的多个图表都需要标题时会比较有用。

例如下面不同缓动函数效果的示例,每一个缓动效果图都带有一个标题组件:

所有属性
title. id
string

组件 ID。默认不指定。指定则可用于在 option 或者 API 中引用组件。

title. show = true
 试一试
boolean

是否显示标题组件。

title. text = ''
 试一试
string

主标题文本,支持使用 \n 换行。

[警告]: 如果使用了 toolbox.feature.saveAsImage,并且没有设置 toolbox.feature.saveAsImage.name,会用 title[0].text 替代。这种用法是历史实现但并不推荐,应该总是显式指定toolbox.feature.saveAsImage.name;否则,不得不考虑 title.text 是否是个正确的文件名,以及其 安全性。文档 “安全指南” 给出了安全使用建议。
title. link = ''
string

主标题文本超链接。

[警告]: 此 URL 字符串直接被使用,并未在内部做其他净化处理(sanitization) 如果他们来自于“不受信任”的来源,必须考虑 安全风险。文档 “安全指南” 给出了安全使用建议。
title. target = 'blank'
string

指定窗口打开主标题超链接。

可选:

'self' 当前窗口打开

'blank' 新窗口打开

 title. textStyle
Object
 title.textStyle. color = '#333'
 试一试
Color

主标题文字的颜色。

 title.textStyle. fontStyle = 'normal'
 试一试
string

主标题文字字体的风格。

可选:

'normal'
'italic'
'oblique'
 title.textStyle. fontWeight = 'bolder'
 试一试
stringnumber

主标题文字字体的粗细。

可选:

'normal'
'bold'
'bolder'
'lighter'
100 | 200 | 300 | 400...
 title.textStyle. fontFamily = 'sans-serif'
 试一试
string

主标题文字的字体系列。

还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...

 title.textStyle. fontSize = 18
 试一试
number

主标题文字的字体大小。

 title.textStyle. lineHeight
 试一试
number

行高。

rich 中如果没有设置 lineHeight,则会取父层级的 lineHeight。例如:

{
    lineHeight: 56,
    rich: {
        a: {
            // 没有设置 `lineHeight`,则 `lineHeight` 为 56
        }
    }
}

 title.textStyle. width
 试一试
number

文本显示宽度。

 title.textStyle. height
 试一试
number

文本显示高度。

 title.textStyle. textBorderColor
 试一试
Color

文字本身的描边颜色。

 title.textStyle. textBorderWidth
 试一试
number

文字本身的描边宽度。

 title.textStyle. textBorderType = 'solid'
 试一试
stringnumberArray

文字本身的描边类型。

可选:

'solid'
'dashed'
'dotted'

自 v5.0.0 开始,也可以是 number 或者 number 数组,用以指定线条的 dash array,配合 textBorderDashOffset 可实现更灵活的虚线效果。

例如:

{

textBorderType: [5, 10],

textBorderDashOffset: 5
}

 title.textStyle. textBorderDashOffset = 0
 试一试
number
从 v5.0.0 开始支持

用于设
Github ReposUpdated 3d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/ifeel-is-a-mouse/skills/text2echart",
      "sourceUrl": "https://clawhub.ai/ifeel-is-a-mouse/skills/text2echart",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T20:09:34.957Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-ifeel-is-a-mouse-text2echart/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-ifeel-is-a-mouse-text2echart/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-11T20:09:34.957Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "999 downloads",
      "href": "https://clawhub.ai/ifeel-is-a-mouse/text2echart",
      "sourceUrl": "https://clawhub.ai/ifeel-is-a-mouse/text2echart",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T20:09:34.957Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "2.3.11",
      "href": "https://clawhub.ai/ifeel-is-a-mouse/text2echart",
      "sourceUrl": "https://clawhub.ai/ifeel-is-a-mouse/text2echart",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-03T14:09:46.481Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-ifeel-is-a-mouse-text2echart/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-ifeel-is-a-mouse-text2echart/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 2.3.11",
      "description": "Add disable-model-invocation and user-invocable parameters with English documentation",
      "href": "https://clawhub.ai/ifeel-is-a-mouse/text2echart",
      "sourceUrl": "https://clawhub.ai/ifeel-is-a-mouse/text2echart",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-03T14:09:46.481Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 12, 2026.

For crawlers

This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.

  • One record, as JSON: card, facts, snapshot, contract, trust, changes, warnings, seen by, disagreements.
  • Every agent, one feed: /.well-known/ai-catalog.json
  • What this site sells, and the price: /.well-known/x402
  • Paid run-check: /api/v1/agents/clawhub-ifeel-is-a-mouse-text2echart/run-check

Sponsored

Ads related to text2echart and adjacent AI workflows.