← 返回 Skills 市场
chernojagne

Guiro

作者 chernojagne · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ 安全检测通过
156
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install guiro
功能描述
Turn structured data into shareable visual dashboards, reports, charts, and calendars. Publishes an A2UI JSON bundle to guiro.io and returns a short-lived sh...
使用说明 (SKILL.md)

Guiro – Shareable Visual Snapshots

Guiro (\x3Chttps://guiro.io>) is an ephemeral Presentation Layer as a Service. You give it a structured JSON bundle describing a layout of visual components, and it returns a short-lived, publicly accessible share link (e.g. https://guiro.io/s/{slug}). The rendered page is a polished, read-only visual — a dashboard, report, chart, calendar, or status page. No login or account is needed to view it.

Use this skill whenever you produce structured results — metrics, tables, timelines, financial data, event schedules, progress tracking — and want to turn them into a shareable visual artifact the user can open in a browser, send to a colleague, or print to PDF.

What you can build

Type Best for
Dashboard KPI metrics, data tables, timelines, progress bars, badges, icons
Calendar Read-only month views with highlighted dates and event detail
Chart Bar charts with multi-series comparisons
Donut Progress rings, savings goals, category breakdowns

API workflow

  1. Fetch capabilities — discover supported protocol versions and component catalogs.
  2. Build payload — assemble an A2UI JSON bundle targeting the live contract values.
  3. Validate — confirm the payload is well-formed before creating.
  4. Create — publish the bundle and receive the share link.

Endpoints

Base URL: https://api.guiro.io

Action Method Path
Capabilities GET /v1/create/capabilities
Validate POST /v1/validate
Create POST /v1/create

Authentication

All requests require an API key via the X-API-Key header. The key is read from the GUIRO_API_KEY environment variable. If the key is missing, ask the user to provide one.

Commands

# 1 – Fetch capabilities (saves to .guiro/runtime-capabilities.json)
bash "{baseDir}/scripts/fetch-capabilities.sh"

# 2 – Write a sample payload (dashboard | calendar | chart | donut)
bash "{baseDir}/scripts/write-sample-payload.sh" ./payload.json dashboard

# 3 – Validate and create the guiro
bash "{baseDir}/scripts/create-guiro.sh" --payload ./payload.json --idempotency-key run-001

The sample payloads are starting points. Replace the placeholder content with real data relevant to the user's request.

Payload structure

A valid A2UI bundle has this shape:

{
  "storage_version": "1",
  "a2ui_version": "0.9",
  "catalog_id": "guiro.shadcn.detached.v1",
  "theme": {
    "primary": "#0f766e",
    "secondary": "#0f172a"
  },
  "messages": [
    {
      "version": "v0.9",
      "createSurface": {
        "surfaceId": "share-main",
        "catalogId": "guiro.shadcn.detached.v1"
      }
    },
    {
      "version": "v0.9",
      "updateComponents": {
        "surfaceId": "share-main",
        "components": [ ... ]
      }
    }
  ]
}
  • storage_version, a2ui_version, catalog_id — use values from the capabilities response.
  • messages must contain one createSurface message and one updateComponents message.
  • Target exactly one surface.

Component reference

The components array is a flat list of component objects. Each has an id (unique string) and a component type. Parent components reference children by id. The tree must include a component with id: "root".

Layout

Component Props Description
Card child (string id) Container card; use as the root wrapper
Column children (string id[]), gap (sm|md|lg) Vertical stack
Row children (string id[]), gap (sm|md|lg) Horizontal stack
List children (string id[]) Ordered list

Content

Component Props Description
Text text, variant (h1|h2|body), tone (muted) Heading or paragraph
Badge label, variant (secondary|outline|success), size (sm) Status badge or tag
Icon name or icon, size, strokeWidth, color, label Lucide icon accent for headers, callouts, and status cues
ProgressIndicator value (number), max (number) Progress bar
DataTable columns ({key, header}[]), data (object[]) Tabular data
Calendar title, description, month (YYYY-MM-DD), selected (YYYY-MM-DD), selectionMode (single), events ({date, label, detail, tone}[]) Read-only calendar with highlighted days and details below
Chart title, description, chartType (bar|donut), xKey, series ({key, label}[]), data (object[]), valueFormat (currency), currency (ISO code) Bar or donut chart

Component tree example

[
  { "id": "root", "component": "Card", "child": "page" },
  { "id": "page", "component": "Column", "gap": "lg", "children": ["heading", "metrics"] },
  { "id": "heading", "component": "Text", "text": "Monthly Report", "variant": "h1" },
  { "id": "metrics", "component": "Row", "gap": "md", "children": ["badge1", "progress1"] },
  { "id": "badge1", "component": "Badge", "label": "Active: 42", "variant": "outline" },
  { "id": "progress1", "component": "ProgressIndicator", "value": 75, "max": 100 }
]

Theme

Colors accept hex (#0f766e) or oklch (oklch(0.527 0.154 150.069)) values:

{ "primary": "#0f766e", "secondary": "#0f172a" }

Choose theme colors that suit the content. Use contrasting primary and secondary values.

Rules

  • Always fetch capabilities first and use the returned values for storage_version, a2ui_version, and catalog_id.
  • Always validate before create.
  • The bundle must target exactly one surface.
  • The updateComponents array must include a component with id: "root".
  • Treat validation errors as authoritative — fix the payload and re-validate until it passes.
  • Use the sample payloads as structural templates but replace all placeholder content with real data from the user's request.
  • Prefer Icon for section headers, callouts, and status accents when it improves scanability.

Output

Successful create returns:

{
  "slug": "abc123",
  "url": "https://guiro.io/s/abc123",
  "expires_at": "2025-07-15T12:00:00Z"
}

Share the url with the user. Guiros are ephemeral — after expires_at, the link shows a standardized "This Guiro has Expired" page.

安全使用建议
This skill appears coherent and focused on publishing A2UI bundles to guiro.io. Before installing: (1) Treat GUIRO_API_KEY as a secret and only provide a key scoped minimally for create/validate operations; (2) avoid sending sensitive PII or secrets in payloads because created snapshots are publicly viewable via short links; (3) note the scripts save a capabilities file under .guiro/runtime-capabilities.json and will POST payload.json to api.guiro.io; (4) if you need tighter control, review the API provider's retention and access policies and consider using a dedicated API key you can rotate if needed.
能力标签
requires-sensitive-credentials
能力评估
Purpose & Capability
The skill claims to publish A2UI bundles to guiro.io and requires curl, a shell, and GUIRO_API_KEY — all of which are appropriate and expected for making authenticated HTTP requests to the guiro API. No unrelated services or credentials are requested.
Instruction Scope
SKILL.md instructs the agent to fetch capabilities, build/validate a JSON payload, and POST it to the API using the provided scripts. The scripts only read the payload file and an optional capabilities cache (.guiro/runtime-capabilities.json) and do not attempt to read other system files, credentials, or network endpoints beyond api.guiro.io.
Install Mechanism
There is no install spec (instruction-only with included scripts). No external downloads, packages, or extract operations are performed by the skill package itself. This minimizes disk writes to the shipped scripts and any files the scripts explicitly create (e.g., .guiro/runtime-capabilities.json).
Credentials
Only a single API credential (GUIRO_API_KEY) is required and is used consistently in the scripts. A few optional environment variables (GUIRO_PREFLIGHT_CAPABILITIES, GUIRO_CAPABILITIES_FILE) are present to control behavior; nothing else sensitive or unrelated is requested.
Persistence & Privilege
The skill is not always-enabled, does not modify other skills, and only writes a capabilities cache under .guiro. It does not request elevated privileges or persistent system-wide changes.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install guiro
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /guiro 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Published Guiro v1.0.1 via CI
v1.0.0
Published Guiro v1.0.0 via CI
元数据
Slug guiro
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Guiro 是什么?

Turn structured data into shareable visual dashboards, reports, charts, and calendars. Publishes an A2UI JSON bundle to guiro.io and returns a short-lived sh... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 156 次。

如何安装 Guiro?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install guiro」即可一键安装,无需额外配置。

Guiro 是免费的吗?

是的,Guiro 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Guiro 支持哪些平台?

Guiro 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Guiro?

由 chernojagne(@chernojagne)开发并维护,当前版本 v1.0.1。

💬 留言讨论