Skip to main content

ui-card

用 ui_card 工具生成结构化 UI 卡片(对比/排行/统计/时间轴/自定义)。优先用固定模板(card 参数),样式稳定;自定义场景才手写 A2UI envelope。分工边界:卡片适合少量结构化条目;精确数值趋势、占比分布、流程/架构等图表类需求不用卡片,改走 visualization 技能。

Zur Installation springen

Quellinformationen

Repository
llm011/ethan-agent
Letzte Quellaktivität
2. September 2026 um 10:38
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
8
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
ui-card
description
用 ui_card 工具生成结构化 UI 卡片(对比/排行/统计/时间轴/自定义)。优先用固定模板(card 参数),样式稳定;自定义场景才手写 A2UI envelope。分工边界:卡片适合少量结构化条目;精确数值趋势、占比分布、流程/架构等图表类需求不用卡片,改走 visualization 技能。
trigger
卡片|对比卡|状态卡|统计卡|时间轴|时间线|timeline|旅游攻略|行程|攻略|进度|排行|榜单|清单|列一下
metadata
{"openclaw":{"requires":{}}}
# ui_card 卡片 Skill 展示结构化信息(对比 / 排行 / 统计 / 进度 / 时间轴 / 攻略)时用 `ui_card`,比纯文字分点更直观。 ## 与 visualization 技能的分工(不要互相抢) - **用本技能(ui_card)**:少量结构化条目——几行对比、一个榜单、几个大数字、日程/进度列表。特征是「条目少、文字为主、无坐标轴」。 - **转 visualization 技能**:精确数值趋势(折线/柱状)、占比分布(饼/环)、多数据点、流程图/架构图/关系图。这些用卡片硬装会丢坐标、丢比例、丢连线——明确改走 `visualization` 技能(代码图表 / SVG 确定性渲染)。 - 同一回复里两者可组合:卡片给结论摘要,图表给数据细节;但一个模块只表达一种信息,不重复。 ## 优先用固定模板(`card` 参数) 高频卡片**只需填结构化数据**,样式由后端模板保证——不用懂 A2UI 协议,也不会出现漏字段/不换行/样式乱的问题。`ui_card(card={...})`,`card.type` 取值: **compare —— 对比表格**(带行列分隔线) ```json {"type":"compare","title":"React vs Vue", "columns":["React","Vue"], "rows":[ {"label":"核心哲学","values":["JS 做一切 (JSX)","渐进式、模板"]}, {"label":"生态","values":["极大,跨平台强","国内繁荣,上手快"]} ]} ``` **rank —— 排行榜**(序号自动生成,**别自己写 1. 2. 3.**) ```json {"type":"rank","title":"本周热门框架","subtitle":"按 GitHub stars", "items":[ {"name":"React","score":"★ 223k","desc":"统治地位,生态无敌"}, {"name":"Vue.js","score":"★ 207k","desc":"国内生态繁荣,上手快"} ]} ``` **stats —— 统计指标**(横向并排的大数字) ```json {"type":"stats","title":"本月数据", "metrics":[ {"label":"营收","value":"¥48,294","trend":"较上月 +12.5%"}, {"label":"新增用户","value":"1,204"} ]} ``` **timeline —— 时间轴 / 行程 / 进度**(带竖线 + 圆点) ```json {"type":"timeline","title":"丽江三日攻略", "nodes":[ {"title":"Day 1 · 抵达","body":"古城闲逛\n四方街晚餐"}, {"title":"Day 2 · 雪山","items":["玉龙雪山缆车","蓝月谷"]} ]} ``` *注:body 传多行文本(真换行 `\n`)或 items 传数组均可,模板会自动处理列表圆点,内容中无需自行添加 `- `、`* ` 或 `• ` 前缀。* ## 自定义场景才手写 A2UI(`messages` 参数) 仅当用户明确要「更花哨 / 自定义布局」、上述四种模板不够用时,才改用 `messages` 参数手写 A2UI v0.9.1 envelope。这时先 `skill_read('ui-card')` 读: - `references/catalog.md` — 全部组件必填/可选字段、enum 取值 - `references/examples.md` — 对比卡/状态卡/统计卡/模板列表/时间轴/交互卡完整 JSON - `references/binding.md` — JSON Pointer 绑定、模板列表、`${}` 插值、表单校验 手写 4 条铁律: - **邻接表**:组件扁平数组,靠 id 拼树。容器用 `child`(单个,Card)或 `children`(数组,Row/Column/List/Timeline)。**每个组件都要被 root 引用到,否则报「孤儿」错。** - **必须有 `root`**:根组件 id 固定 `"root"`。 - **Button 没有 text**:必填 `child`(指向 Text 标签)+ `action`。标题别在 text 里写 `#`/`**`(h1~h5 是纯文本,用 `variant` 控字号)。 - **catalogId** 固定 `https://a2ui.org/specification/v0_9_1/catalogs/basic/catalog.json`。
Auf GitHub ansehen