{"id":"5a2fc51b-8bb6-4df2-8829-fe788f1ab074","entityType":"agent","slug":"clawhub-wangjipeng977-csv-to-chart","name":"Csv To Chart","canonicalUrl":"https://www.xpersona.co/agent/clawhub-wangjipeng977-csv-to-chart","canonicalPath":"/agent/clawhub-wangjipeng977-csv-to-chart","generatedAt":"2026-10-11T11:24:24.258Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T08:49:36.891Z","emptyReason":null},"description":"Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3)... Skill: Csv To Chart Owner: wangjipeng977 Summary: Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3)... Tags: latest:1.0.1 Version history: v1.0.1 | 2026-05-19T05:55:20.528Z | user Update README with real Features and 功能特性 content v1.0.0 | 2026-05-19T04:16:54.095Z | user Initial release Archive index: Archive v1","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s179qwqch3yp9926afz4rxbz0h85z9mm:csv-to-chart","sourceUrl":"https://clawhub.ai/wangjipeng977/csv-to-chart","homepage":"https://clawhub.ai/wangjipeng977/skills/csv-to-chart","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/wangjipeng977/csv-to-chart","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/wangjipeng977/skills/csv-to-chart","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3)..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T08:49:36.891Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T08:49:36.891Z","emptyReason":null},"stars":null,"forks":null,"downloads":1108,"packageName":null,"latestVersion":"1.0.1","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T08:49:36.829Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T08:49:36.891Z","lastCrawledAt":"2026-10-11T08:49:36.829Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T08:49:36.829Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.1","createdAt":"2026-05-19T05:55:20.528Z","changelog":"Update README with real Features and 功能特性 content","fileCount":9,"zipByteSize":11576},{"version":"1.0.0","createdAt":"2026-05-19T04:16:54.095Z","changelog":"Initial release","fileCount":8,"zipByteSize":9241}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s179qwqch3yp9926afz4rxbz0h85z9mm:csv-to-chart","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","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":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T11:24:24.257Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-wangjipeng977-csv-to-chart/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T08:49:36.891Z","emptyReason":null},"readme":"Skill: Csv To Chart\n\nOwner: wangjipeng977\n\nSummary: Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3)...\n\nTags: latest:1.0.1\n\nVersion history:\n\nv1.0.1 | 2026-05-19T05:55:20.528Z | user\n\nUpdate README with real Features and 功能特性 content\n\nv1.0.0 | 2026-05-19T04:16:54.095Z | user\n\nInitial release\n\nArchive index:\n\nArchive v1.0.1: 9 files, 11576 bytes\n\nFiles: CHANGELOG.md (65b), CONTRIBUTING.md (2100b), README_zh.md (2576b), README.md (2648b), references/index.md (119b), skill-card.md (1930b), SKILL.md (4680b), tests/test_skill.py (12112b), _meta.json (131b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: csv-to-chart\ndescription: >\n  Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. \n  (2) user wants to \"plot\" or \"visualize\" tabular data. (3) user provides data and says \"make a chart\", \n  \"show this as a graph\", or \"visualize this\". \nlicense: MIT\nmetadata:\n  version: \"1.0\"\n  category: productivity\n  author: wangjipeng\n  sources:\n    - https://github.com/MiniMax-AI/skills\n---\n\n# CSV to Chart\n\nUse when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3) user provides data and says \"make a chart\", \"show this as a graph\", or \"visualize this\".\n\n## Core Position\n\nThis skill solves the specific problem of: *user has tabular CSV data and needs a visual chart — not the raw numbers.*\n\nThis skill IS NOT:\n- A data transformation tool (use csv-to-task for row-level operations)\n- A reporting tool — it produces visual output, not written reports\n- Activated by \"analyze this data\" alone — must involve chart/visualization intent\n\nThis skill IS activated ONLY when: chart/graph/visualization intent + CSV data are both present.\n\n## Modes\n\n### `/csv-to-chart`\n\n**Default mode.** Reads CSV data and outputs a chart specification or renders the chart directly.\n\nWhen to use: User provides CSV and explicitly asks for a chart, plot, graph, or visualization.\n\n### `/csv-to-chart/suggest`\n\nSuggests the most appropriate chart type based on data structure without generating the chart.\n\nWhen to use: User is unsure which chart type fits their data.\n\n## Execution Steps\n\n### Step 1 — Parse the CSV\n\n1. Receive CSV input (pasted text, file attachment, or path)\n2. Detect header row — first row becomes column names\n3. Detect column types:\n   - Numeric → candidate for Y-axis / values\n   - Date/datetime → candidate for X-axis / time series\n   - Text/category → candidate for labels / categories\n4. If CSV is malformed (uneven columns, no header), respond with specific fix request\n\n### Step 2 — Select Chart Type\n\nChoose the most appropriate chart based on data shape:\n\n| Data Shape | Recommended Chart |\n|---|---|\n| 1 numeric col + 1 category col | Bar chart (vertical or horizontal) |\n| 2+ numeric cols, 1 category col | Grouped/stacked bar, line |\n| 1 time-series numeric col | Line chart |\n| 2 numeric cols (correlation) | Scatter plot |\n| Proportions summing to 100% | Pie / donut chart |\n| Single numeric column | Histogram |\n| 3+ numeric cols, many rows | Heatmap or radar |\n\nIf user specified a chart type, validate it makes sense for the data; warn if mismatched.\n\n### Step 3 — Generate Chart\n\nProduce chart using a library appropriate to context:\n- Python: `matplotlib` or `plotly`\n- JavaScript: `chart.js` or `plotly.js`\n- Markdown/mermaid: `mermaid` flowchart for simple data\n\nOutput the complete, runnable code block with the chart. Include axis labels, title, and legend.\n\n### Step 4 — Validate Output\n\n- Verify chart renders without error\n- Confirm X and Y axes match the data columns\n- Ensure no data truncation or misordering\n\n## Mandatory Rules\n\n### Do not\n\n- Do not assume column meaning from position — always use headers\n- Do not强行 apply a pie chart to data with >7 categories\n- Do not truncate data rows silently — warn if >500 rows\n- Do not embed API keys in chart rendering code\n\n### Do\n\n- State the chart type being generated and why it fits the data\n- Preserve original column names and data types\n- Handle missing values explicitly (skip, zero-fill, or annotate)\n- Add a clear title and axis labels\n\n## Quality Bar\n\n**A good output:**\n- Chart type matches data shape and user intent\n- All columns are correctly mapped to axes\n- Code runs without modification and renders a visible chart\n- Handles missing values and edge cases explicitly\n\n**A bad output:**\n- Renders a chart type unrelated to data (e.g., pie chart for 50 categories)\n- Misplaces data on wrong axis (category on Y, numeric on X)\n- Drops or reorders rows silently\n- Code block missing dependencies or imports\n\n## Good vs. Bad Examples\n\n| Scenario | Bad Output | Good Output |\n|---|---|---|\n| Monthly sales data | Line chart with year as Y-axis | Line chart with month on X, sales on Y, labeled axes |\n| Product categories | Pie chart with 20 slices | Horizontal bar chart, top 10 + \"Other\" |\n| Two numeric columns | Static image without context | Scatter plot with axis labels and trend line |\n| CSV with missing values | Drops rows silently | \"Note: 3 rows omitted due to missing Q3 sales; treated as 0\" |\n\n## References\n\n- `references/` — Chart type decision tree, code templates for plotly/matplotlib/chart.js\n\nFile v1.0.1:README.md\n\n# Csv To Chart\n\n[中文版](./README_zh.md)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Version](https://img.shields.io/badge/version-1.0-blue)](SKILL.md)\n\n> Converts tabular CSV data into visual charts and graphs — bar, line, scatter, pie, and more\n\n## What Problem This Solves\n\nUser has raw CSV data and needs a visual chart — not more numbers to stare at. This skill parses the CSV structure, selects the right chart type for the data shape, and generates runnable code to render it. No more exporting to Excel just to make a simple chart.\n\n**When triggered:** CSV data + chart/graph/visualization intent.\n\n## Features\n\n- **Intelligent chart selection** — picks the optimal chart type based on data shape (bar for categories, line for time-series, scatter for correlation, etc.)\n- **Auto column type detection** — identifies numeric, date, and category columns and maps them to axes correctly\n- **Multi-format output** — generates code in Python (matplotlib/plotly), JavaScript (chart.js/plotly.js), or Mermaid diagrams\n- **Handles edge cases** — warns about >7 pie slices, truncates >500 rows, skips missing values gracefully\n\n## Quick Start\n\n### Installation\n\n```bash\n# Via ClawHub\nclawhub install csv-to-chart\n\n# Or manually\ncp -r csv-to-chart ~/.openclaw/skills/\n```\n\n### Usage\n\n```\n/csv-to-chart\n```\n\nPaste your CSV data and ask for a chart — e.g., \"make a bar chart from this\".\n\n```\n/csv-to-chart/suggest\n```\n\nAsk which chart type fits your data without generating it yet.\n\n## Modes\n\n| Mode | Description |\n|------|-------------|\n| `/csv-to-chart` | Default — reads CSV, outputs chart specification + runnable code |\n| `/csv-to-chart/suggest` | Recommends the best chart type based on your data shape |\n\n## Examples\n\n| Input | Output |\n|-------|--------|\n| Monthly sales CSV (month + revenue) | Line chart with month on X, revenue on Y |\n| Product categories + counts | Horizontal bar chart, top 10 + \"Other\" if >7 categories |\n| Two numeric columns | Scatter plot with axis labels |\n| CSV with 50 rows, missing Q3 | Chart rendered, note added: \"3 rows omitted due to missing Q3 sales\" |\n\n## Directory Structure\n\n```\ncsv-to-chart/\n├── SKILL.md          # Entry point\n├── LICENSE           # MIT\n├── README.md         # This file\n├── README_zh.md      # Chinese version\n├── CONTRIBUTING.md    # Contribution guide\n├── .gitignore\n├── references/       # Chart type decision tree, code templates\n└── tests/            # Test framework\n```\n\n## License\n\nThis project is licensed under the MIT License — see [LICENSE](LICENSE) for details.\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn70zthc74p61mvctddrancx0s832g4r\",\n  \"slug\": \"csv-to-chart\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1779170120528\n}\n\nFile v1.0.1:references/index.md\n\n# csv-to-chart — References\n\nDetailed documents for `csv-to-chart` skill.\n\nTODO: Add reference files here as needed.\n\nFile v1.0.1:CHANGELOG.md\n\n# Changelog\n\n## [1.0] - 2026-05-18\n\n### Added\n\n- Initial release\n\nFile v1.0.1:CONTRIBUTING.md\n\n# Contributing to `Csv To Chart`\n\nThank you for your interest in contributing! Please follow these steps to set up your development environment and submit changes.\n\n## Development Setup\n\n```bash\n# 1. Fork the repository on GitHub\n\n# 2. Clone your fork\ngit clone https://github.com/<your-username>/Csv To Chart.git\ncd Csv To Chart\n\n# 3. Install dependencies (if any)\npip install -r scripts/requirements.txt\n\n# 4. Run the self-audit to verify quality\npython scripts/audit_skill.py .\n```\n\n## Workflow\n\nWe use a standard feature branch workflow:\n\n```bash\n# 1. Create a new branch from main\ngit checkout -b feat/<your-feature-name>\n\n# 2. Make your changes\n#    - Follow the SKILL.md structure standards\n#    - Keep SKILL.md body in English\n#    - Do not hardcode API keys or secrets\n\n# 3. Run the audit to check for issues\npython scripts/audit_skill.py .\n\n# 4. Commit your changes\ngit add .\ngit commit -m \"feat(csv-to-chart): add <brief description>\"\n\n# 5. Push to your fork\ngit push origin feat/<your-feature-name>\n\n# 6. Open a Pull Request on GitHub\n#    - Title: feat(csv-to-chart): add <brief description>\n#    - Description: What + Why + Testing\n```\n\n## Code Standards\n\n- **SKILL.md**: Follow the YAML frontmatter standard (name, description, license, metadata)\n- **Scripts**: Must include shebang, requirements.txt, and graceful error handling\n- **Language**: SKILL.md body must be in English; reference docs in English\n- **No secrets**: Never commit API keys, tokens, or credentials\n\n## Quality Checklist\n\nBefore opening a PR, verify:\n\n- [ ] `audit_skill.py` exits with code 0 or 2\n- [ ] `validate_skills.py` exits with code 0\n- [ ] README.md and README_zh.md are both present\n- [ ] CONTRIBUTING.md is present\n- [ ] .gitignore is present\n- [ ] No hardcoded secrets anywhere in the codebase\n\n## Reporting Issues\n\nPlease report issues via GitHub Issues with:\n\n1. **What you expected to happen**\n2. **What actually happened**\n3. **Steps to reproduce**\n4. **Environment** (OS, Python version, etc.)\n\n## License\n\nBy contributing, you agree that your contributions will be licensed under the MIT License.\n\nFile v1.0.1:README_zh.md\n\n# Csv To Chart\n\n[English](./README.md)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n![版本](https://img.shields.io/badge/version-1.0-blue)\n\n> 将表格 CSV 数据转换为可视化图表 — 支持柱状图、折线图、散点图、饼图等\n\n## 解决什么问题\n\n用户有原始 CSV 数据，但需要的是可视化图表而不是更多数字。这个技能解析 CSV 结构，根据数据形状选择合适的图表类型，并生成可运行的代码来渲染它。无需再导出到 Excel 才能画一个简单图表。\n\n**触发条件：** CSV 数据 + 图表/可视化意图。\n\n## 功能特性\n\n- **智能图表选择** — 根据数据形状自动选择最优图表类型（分类数据→柱状图，时序数据→折线图，相关性→散点图等）\n- **自动检测列类型** — 识别数值、日期、分类列并正确映射到坐标轴\n- **多格式输出** — 生成 Python (matplotlib/plotly)、JavaScript (chart.js/plotly.js) 或 Mermaid 图表代码\n- **处理边界情况** — 对 >7 个饼图切片发出警告，截断 >500 行数据，优雅处理缺失值\n\n## 快速开始\n\n### 安装\n\n```bash\n# 通过 ClawHub 安装\nclawhub install csv-to-chart\n\n# 或手动复制\ncp -r csv-to-chart ~/.openclaw/skills/\n```\n\n### 使用方法\n\n```\n/csv-to-chart\n```\n\n粘贴 CSV 数据并要求生成图表——比如\"用这个数据画个柱状图\"。\n\n```\n/csv-to-chart/suggest\n```\n\n询问哪种图表类型适合你的数据（不生成图表）。\n\n## 工作模式\n\n| 模式 | 说明 |\n|------|------|\n| `/csv-to-chart` | 默认——读取 CSV，输出图表规格说明 + 可运行代码 |\n| `/csv-to-chart/suggest` | 根据数据形状推荐最佳图表类型 |\n\n## 示例\n\n| 输入 | 输出 |\n|------|------|\n| 月度销售 CSV（月份 + 销售额） | 折线图，X 轴为月份，Y 轴为销售额 |\n| 产品分类 + 数量 | 水平柱状图，>7 个分类时显示前 10 名 + \"其他\" |\n| 两个数值列 | 带坐标轴标签的散点图 |\n| 50 行数据，Q3 缺失 | 图表正常渲染，备注：\"3 行因 Q3 销售数据缺失已省略\" |\n\n## 目录结构\n\n```\ncsv-to-chart/\n├── SKILL.md          # 技能入口\n├── LICENSE           # MIT 许可证\n├── README.md         # 英文说明\n├── README_zh.md      # 本文件\n├── CONTRIBUTING.md    # 贡献指南\n├── .gitignore\n├── references/       # 图表类型决策树、代码模板\n└── tests/            # 测试框架\n```\n\n## 许可证\n\n本项目采用 MIT 许可证 — 详见 [LICENSE](LICENSE)。\n\nFile v1.0.1:skill-card.md\n\n## Description:\n\nConverts tabular CSV data into visual charts and graphs by selecting appropriate chart types and generating runnable rendering code.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[wangjipeng977](https://clawhub.ai/user/wangjipeng977)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and users with CSV data use this skill to choose a suitable chart type and generate code for visual charts. It is intended for requests where the user provides CSV data and explicitly asks to plot, graph, or visualize it.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: CSV inputs may contain sensitive data that the agent reads to build the chart.\n\nMitigation: Provide only CSV files or pasted rows that are intended for the agent to process.\n\nRisk: Generated chart code may be incorrect, omit data, or rely on external plotting libraries.\n\nMitigation: Review the generated code, chart mappings, dependencies, and rendered output before running or sharing it.\n\n## Reference(s):\n\n- [ClawHub Csv To Chart skill page](https://clawhub.ai/wangjipeng977/skills/csv-to-chart)\n- [Metadata source: MiniMax-AI skills](https://github.com/MiniMax-AI/skills)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Code]\n\n**Output Format:** [Markdown with runnable Python, JavaScript, or Mermaid code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include chart type rationale, axis labels, legends, and notes for missing values or large category counts.]\n\n## Skill Version(s):\n\n1.0.1 (source: server release metadata; artifact metadata and changelog report 1.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 8 files, 9241 bytes\n\nFiles: CHANGELOG.md (65b), CONTRIBUTING.md (2100b), README_zh.md (1392b), README.md (1458b), references/index.md (119b), SKILL.md (4680b), tests/test_skill.py (12112b), _meta.json (131b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: csv-to-chart\ndescription: >\n  Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. \n  (2) user wants to \"plot\" or \"visualize\" tabular data. (3) user provides data and says \"make a chart\", \n  \"show this as a graph\", or \"visualize this\". \nlicense: MIT\nmetadata:\n  version: \"1.0\"\n  category: productivity\n  author: wangjipeng\n  sources:\n    - https://github.com/MiniMax-AI/skills\n---\n\n# CSV to Chart\n\nUse when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3) user provides data and says \"make a chart\", \"show this as a graph\", or \"visualize this\".\n\n## Core Position\n\nThis skill solves the specific problem of: *user has tabular CSV data and needs a visual chart — not the raw numbers.*\n\nThis skill IS NOT:\n- A data transformation tool (use csv-to-task for row-level operations)\n- A reporting tool — it produces visual output, not written reports\n- Activated by \"analyze this data\" alone — must involve chart/visualization intent\n\nThis skill IS activated ONLY when: chart/graph/visualization intent + CSV data are both present.\n\n## Modes\n\n### `/csv-to-chart`\n\n**Default mode.** Reads CSV data and outputs a chart specification or renders the chart directly.\n\nWhen to use: User provides CSV and explicitly asks for a chart, plot, graph, or visualization.\n\n### `/csv-to-chart/suggest`\n\nSuggests the most appropriate chart type based on data structure without generating the chart.\n\nWhen to use: User is unsure which chart type fits their data.\n\n## Execution Steps\n\n### Step 1 — Parse the CSV\n\n1. Receive CSV input (pasted text, file attachment, or path)\n2. Detect header row — first row becomes column names\n3. Detect column types:\n   - Numeric → candidate for Y-axis / values\n   - Date/datetime → candidate for X-axis / time series\n   - Text/category → candidate for labels / categories\n4. If CSV is malformed (uneven columns, no header), respond with specific fix request\n\n### Step 2 — Select Chart Type\n\nChoose the most appropriate chart based on data shape:\n\n| Data Shape | Recommended Chart |\n|---|---|\n| 1 numeric col + 1 category col | Bar chart (vertical or horizontal) |\n| 2+ numeric cols, 1 category col | Grouped/stacked bar, line |\n| 1 time-series numeric col | Line chart |\n| 2 numeric cols (correlation) | Scatter plot |\n| Proportions summing to 100% | Pie / donut chart |\n| Single numeric column | Histogram |\n| 3+ numeric cols, many rows | Heatmap or radar |\n\nIf user specified a chart type, validate it makes sense for the data; warn if mismatched.\n\n### Step 3 — Generate Chart\n\nProduce chart using a library appropriate to context:\n- Python: `matplotlib` or `plotly`\n- JavaScript: `chart.js` or `plotly.js`\n- Markdown/mermaid: `mermaid` flowchart for simple data\n\nOutput the complete, runnable code block with the chart. Include axis labels, title, and legend.\n\n### Step 4 — Validate Output\n\n- Verify chart renders without error\n- Confirm X and Y axes match the data columns\n- Ensure no data truncation or misordering\n\n## Mandatory Rules\n\n### Do not\n\n- Do not assume column meaning from position — always use headers\n- Do not强行 apply a pie chart to data with >7 categories\n- Do not truncate data rows silently — warn if >500 rows\n- Do not embed API keys in chart rendering code\n\n### Do\n\n- State the chart type being generated and why it fits the data\n- Preserve original column names and data types\n- Handle missing values explicitly (skip, zero-fill, or annotate)\n- Add a clear title and axis labels\n\n## Quality Bar\n\n**A good output:**\n- Chart type matches data shape and user intent\n- All columns are correctly mapped to axes\n- Code runs without modification and renders a visible chart\n- Handles missing values and edge cases explicitly\n\n**A bad output:**\n- Renders a chart type unrelated to data (e.g., pie chart for 50 categories)\n- Misplaces data on wrong axis (category on Y, numeric on X)\n- Drops or reorders rows silently\n- Code block missing dependencies or imports\n\n## Good vs. Bad Examples\n\n| Scenario | Bad Output | Good Output |\n|---|---|---|\n| Monthly sales data | Line chart with year as Y-axis | Line chart with month on X, sales on Y, labeled axes |\n| Product categories | Pie chart with 20 slices | Horizontal bar chart, top 10 + \"Other\" |\n| Two numeric columns | Static image without context | Scatter plot with axis labels and trend line |\n| CSV with missing values | Drops rows silently | \"Note: 3 rows omitted due to missing Q3 sales; treated as 0\" |\n\n## References\n\n- `references/` — Chart type decision tree, code templates for plotly/matplotlib/chart.js\n\nFile v1.0.0:README.md\n\n# Csv To Chart\n\n[中文版](./README_zh.md)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Version](https://img.shields.io/badge/version-1.0-blue)](SKILL.md)\n\n> user provides CSV data and wants to generate a chart or visualization\n\n## What Problem This Solves\n\nBrief paragraph explaining the specific engineering problem this skill solves.\nWhen triggered: [trigger condition].\n\n## Features\n\n- Feature 1\n- Feature 2\n- Feature 3\n\n## Quick Start\n\n### Installation\n\n```bash\n# Via ClawHub\nclawhub install Csv To Chart\n\n# Or manually\ncp -r Csv To Chart ~/.openclaw/skills/\n```\n\n### Usage\n\n```bash\n# Mode 1\nclawhub run Csv To Chart --mode read\n\n# Mode 2\nclawhub run Csv To Chart --mode write --input ./data.json\n```\n\n## Directory Structure\n\n```\nCsv To Chart/\n├── SKILL.md          # Entry point\n├── LICENSE           # MIT\n├── README.md         # This file\n├── README_zh.md      # Chinese version\n├── CONTRIBUTING.md    # Contribution guide\n├── .gitignore\n├── references/       # Templates and schemas\n│   └── ...\n└── scripts/          # Helper scripts (if any)\n    └── ...\n```\n\n## Configuration\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `API_KEY` | Yes | API key for the service |\n\n## License\n\nThis project is licensed under the MIT License — see [LICENSE](LICENSE) for details.\n\n---\n\nPowered by [MiniMax](https://minimax.io).\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn70zthc74p61mvctddrancx0s832g4r\",\n  \"slug\": \"csv-to-chart\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779164214095\n}\n\nFile v1.0.0:references/index.md\n\n# csv-to-chart — References\n\nDetailed documents for `csv-to-chart` skill.\n\nTODO: Add reference files here as needed.\n\nFile v1.0.0:CHANGELOG.md\n\n# Changelog\n\n## [1.0] - 2026-05-18\n\n### Added\n\n- Initial release\n\nFile v1.0.0:CONTRIBUTING.md\n\n# Contributing to `Csv To Chart`\n\nThank you for your interest in contributing! Please follow these steps to set up your development environment and submit changes.\n\n## Development Setup\n\n```bash\n# 1. Fork the repository on GitHub\n\n# 2. Clone your fork\ngit clone https://github.com/<your-username>/Csv To Chart.git\ncd Csv To Chart\n\n# 3. Install dependencies (if any)\npip install -r scripts/requirements.txt\n\n# 4. Run the self-audit to verify quality\npython scripts/audit_skill.py .\n```\n\n## Workflow\n\nWe use a standard feature branch workflow:\n\n```bash\n# 1. Create a new branch from main\ngit checkout -b feat/<your-feature-name>\n\n# 2. Make your changes\n#    - Follow the SKILL.md structure standards\n#    - Keep SKILL.md body in English\n#    - Do not hardcode API keys or secrets\n\n# 3. Run the audit to check for issues\npython scripts/audit_skill.py .\n\n# 4. Commit your changes\ngit add .\ngit commit -m \"feat(csv-to-chart): add <brief description>\"\n\n# 5. Push to your fork\ngit push origin feat/<your-feature-name>\n\n# 6. Open a Pull Request on GitHub\n#    - Title: feat(csv-to-chart): add <brief description>\n#    - Description: What + Why + Testing\n```\n\n## Code Standards\n\n- **SKILL.md**: Follow the YAML frontmatter standard (name, description, license, metadata)\n- **Scripts**: Must include shebang, requirements.txt, and graceful error handling\n- **Language**: SKILL.md body must be in English; reference docs in English\n- **No secrets**: Never commit API keys, tokens, or credentials\n\n## Quality Checklist\n\nBefore opening a PR, verify:\n\n- [ ] `audit_skill.py` exits with code 0 or 2\n- [ ] `validate_skills.py` exits with code 0\n- [ ] README.md and README_zh.md are both present\n- [ ] CONTRIBUTING.md is present\n- [ ] .gitignore is present\n- [ ] No hardcoded secrets anywhere in the codebase\n\n## Reporting Issues\n\nPlease report issues via GitHub Issues with:\n\n1. **What you expected to happen**\n2. **What actually happened**\n3. **Steps to reproduce**\n4. **Environment** (OS, Python version, etc.)\n\n## License\n\nBy contributing, you agree that your contributions will be licensed under the MIT License.\n\nFile v1.0.0:README_zh.md\n\n# Csv To Chart\n\n[English](./README.md)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n![版本](https://img.shields.io/badge/version-1.0-blue)\n\n> user provides CSV data and wants to generate a chart or visualization\n\n## 解决什么问题\n\n简要说明这个技能解决的具体工程问题。\n触发条件：[trigger condition]。\n\n## 功能特性\n\n- 特性 1\n- 特性 2\n- 特性 3\n\n## 快速开始\n\n### 安装\n\n```bash\n# 通过 ClawHub 安装\nclawhub install Csv To Chart\n\n# 或手动复制\ncp -r Csv To Chart ~/.openclaw/skills/\n```\n\n### 使用方法\n\n```bash\n# 模式 1：读取\nclawhub run Csv To Chart --mode read\n\n# 模式 2：写入\nclawhub run Csv To Chart --mode write --input ./data.json\n```\n\n## 目录结构\n\n```\nCsv To Chart/\n├── SKILL.md          # 技能入口\n├── LICENSE           # MIT 许可证\n├── README.md         # 英文说明\n├── README_zh.md      # 本文件\n├── CONTRIBUTING.md    # 贡献指南\n├── .gitignore\n├── references/       # 模板和 schema\n│   └── ...\n└── scripts/          # 辅助脚本（如有）\n    └── ...\n```\n\n## 配置\n\n| 变量名 | 必填 | 说明 |\n|--------|------|------|\n| `API_KEY` | 是 | 服务 API Key |\n\n## 许可证\n\n本项目采用 MIT 许可证 — 详见 [LICENSE](LICENSE)。\n\n---\n\n由 [MiniMax](https://minimax.io) 提供支持。","readmeExcerpt":"Skill: Csv To Chart Owner: wangjipeng977 Summary: Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3)... Tags: latest:1.0.1 Version history: v1.0.1 | 2026-05-19T05:55:20.528Z | user Update README with real Features and 功能特性 content v1.0.0 | 2026-05-19T04:16:54.095Z | user Initial release Archive index: Archive v1","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Via ClawHub\nclawhub install csv-to-chart\n\n# Or manually\ncp -r csv-to-chart ~/.openclaw/skills/"},{"language":"text","snippet":"/csv-to-chart"},{"language":"text","snippet":"/csv-to-chart/suggest"},{"language":"text","snippet":"csv-to-chart/\n├── SKILL.md          # Entry point\n├── LICENSE           # MIT\n├── README.md         # This file\n├── README_zh.md      # Chinese version\n├── CONTRIBUTING.md    # Contribution guide\n├── .gitignore\n├── references/       # Chart type decision tree, code templates\n└── tests/            # Test framework"},{"language":"bash","snippet":"# 1. Fork the repository on GitHub\n\n# 2. Clone your fork\ngit clone https://github.com/<your-username>/Csv To Chart.git\ncd Csv To Chart\n\n# 3. Install dependencies (if any)\npip install -r scripts/requirements.txt\n\n# 4. Run the self-audit to verify quality\npython scripts/audit_skill.py ."},{"language":"bash","snippet":"# 1. Create a new branch from main\ngit checkout -b feat/<your-feature-name>\n\n# 2. Make your changes\n#    - Follow the SKILL.md structure standards\n#    - Keep SKILL.md body in English\n#    - Do not hardcode API keys or secrets\n\n# 3. Run the audit to check for issues\npython scripts/audit_skill.py .\n\n# 4. Commit your changes\ngit add .\ngit commit -m \"feat(csv-to-chart): add <brief description>\"\n\n# 5. Push to your fork\ngit push origin feat/<your-feature-name>\n\n# 6. Open a Pull Request on GitHub\n#    - Title: feat(csv-to-chart): add <brief description>\n#    - Description: What + Why + Testing"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: csv-to-chart\ndescription: >\n  Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. \n  (2) user wants to \"plot\" or \"visualize\" tabular data. (3) user provides data and says \"make a chart\", \n  \"show this as a graph\", or \"visualize this\". \nlicense: MIT\nmetadata:\n  version: \"1.0\"\n  category: productivity\n  author: wangjipeng\n  sources:\n    - https://github.com/MiniMax-AI/skills\n---\n\n# CSV to Chart\n\nUse when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3) user provides data and says \"make a chart\", \"show this as a graph\", or \"visualize this\".\n\n## Core Position\n\nThis skill solves the specific problem of: *user has tabular CSV data and needs a visual chart — not the raw numbers.*\n\nThis skill IS NOT:\n- A data transformation tool (use csv-to-task for row-level operations)\n- A reporting tool — it produces visual output, not written reports\n- Activated by \"analyze this data\" alone — must involve chart/visualization intent\n\nThis skill IS activated ONLY when: chart/graph/visualization intent + CSV data are both present.\n\n## Modes\n\n### `/csv-to-chart`\n\n**Default mode.** Reads CSV data and outputs a chart specification or renders the chart directly.\n\nWhen to use: User provides CSV and explicitly asks for a chart, plot, graph, or visualization.\n\n### `/csv-to-chart/suggest`\n\nSuggests the most appropriate chart type based on data structure without generating the chart.\n\nWhen to use: User is unsure which chart type fits their data.\n\n## Execution Steps\n\n### Step 1 — Parse the CSV\n\n1. Receive CSV input (pasted text, file attachment, or path)\n2. Detect header row — first row becomes column names\n3. Detect column types:\n   - Numeric → candidate for Y-axis / values\n   - Date/datetime → candidate for X-axis / time series\n   - Text/category → candidate for labels / categories\n4. If CSV is malformed (uneven columns, no header), respond with specific fix request\n\n### Step 2 — Select Chart Type\n\nChoose the most appropriate chart based on data shape:\n\n| Data Shape | Recommended Chart |\n|---|---|\n| 1 numeric col + 1 category col | Bar chart (vertical or horizontal) |\n| 2+ numeric cols, 1 category col | Grouped/stacked bar, line |\n| 1 time-series numeric col | Line chart |\n| 2 numeric cols (correlation) | Scatter plot |\n| Proportions summing to 100% | Pie / donut chart |\n| Single numeric column | Histogram |\n| 3+ numeric cols, many rows | Heatmap or radar |\n\nIf user specified a chart type, validate it makes sense for the data; warn if mismatched.\n\n### Step 3 — Generate Chart\n\nProduce chart using a library appropriate to context:\n- Python: `matplotlib` or `plotly`\n- JavaScript: `chart.js` or `plotly.js`\n- Markdown/mermaid: `mermaid` flowchart for simple data\n\nOutput the complete, runnable code block with the chart. Include axis labels, title, and legend.\n\n### Step 4 — Validate Output\n\n- Verify chart renders without error\n- "},{"path":"README.md","content":"# Csv To Chart\n\n[中文版](./README_zh.md)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Version](https://img.shields.io/badge/version-1.0-blue)](SKILL.md)\n\n> Converts tabular CSV data into visual charts and graphs — bar, line, scatter, pie, and more\n\n## What Problem This Solves\n\nUser has raw CSV data and needs a visual chart — not more numbers to stare at. This skill parses the CSV structure, selects the right chart type for the data shape, and generates runnable code to render it. No more exporting to Excel just to make a simple chart.\n\n**When triggered:** CSV data + chart/graph/visualization intent.\n\n## Features\n\n- **Intelligent chart selection** — picks the optimal chart type based on data shape (bar for categories, line for time-series, scatter for correlation, etc.)\n- **Auto column type detection** — identifies numeric, date, and category columns and maps them to axes correctly\n- **Multi-format output** — generates code in Python (matplotlib/plotly), JavaScript (chart.js/plotly.js), or Mermaid diagrams\n- **Handles edge cases** — warns about >7 pie slices, truncates >500 rows, skips missing values gracefully\n\n## Quick Start\n\n### Installation\n\n```bash\n# Via ClawHub\nclawhub install csv-to-chart\n\n# Or manually\ncp -r csv-to-chart ~/.openclaw/skills/\n```\n\n### Usage\n\n```\n/csv-to-chart\n```\n\nPaste your CSV data and ask for a chart — e.g., \"make a bar chart from this\".\n\n```\n/csv-to-chart/suggest\n```\n\nAsk which chart type fits your data without generating it yet.\n\n## Modes\n\n| Mode | Description |\n|------|-------------|\n| `/csv-to-chart` | Default — reads CSV, outputs chart specification + runnable code |\n| `/csv-to-chart/suggest` | Recommends the best chart type based on your data shape |\n\n## Examples\n\n| Input | Output |\n|-------|--------|\n| Monthly sales CSV (month + revenue) | Line chart with month on X, revenue on Y |\n| Product categories + counts | Horizontal bar chart, top 10 + \"Other\" if >7 categories |\n| Two numeric columns | Scatter plot with axis labels |\n| CSV with 50 rows, missing Q3 | Chart rendered, note added: \"3 rows omitted due to missing Q3 sales\" |\n\n## Directory Structure\n\n```\ncsv-to-chart/\n├── SKILL.md          # Entry point\n├── LICENSE           # MIT\n├── README.md         # This file\n├── README_zh.md      # Chinese version\n├── CONTRIBUTING.md    # Contribution guide\n├── .gitignore\n├── references/       # Chart type decision tree, code templates\n└── tests/            # Test framework\n```\n\n## License\n\nThis project is licensed under the MIT License — see [LICENSE](LICENSE) for details."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70zthc74p61mvctddrancx0s832g4r\",\n  \"slug\": \"csv-to-chart\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1779170120528\n}"},{"path":"references/index.md","content":"# csv-to-chart — References\n\nDetailed documents for `csv-to-chart` skill.\n\nTODO: Add reference files here as needed."},{"path":"CHANGELOG.md","content":"# Changelog\n\n## [1.0] - 2026-05-18\n\n### Added\n\n- Initial release"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3)... Skill: Csv To Chart Owner: wangjipeng977 Summary: Use when (1) user pastes or uploads CSV data and asks to generate a chart, graph, or visualization. (2) user wants to \"plot\" or \"visualize\" tabular data. (3)... Tags: latest:1.0.1 Version history: v1.0.1 | 2026-05-19T05:55:20.528Z | user Update README with real Features and 功能特性 content v1.0.0 | 2026-05-19T04:16:54.095Z | user Initial release Archive index: Archive v1","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1135,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T08:49:36.891Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T08:49:36.891Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:24:24.258Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"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!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"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","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}