{"id":"c40c2f46-d0ec-4c48-a7e9-90495cd6e7da","entityType":"agent","slug":"clawhub-barneyjm-extract","name":"Extract","canonicalUrl":"https://www.xpersona.co/agent/clawhub-barneyjm-extract","canonicalPath":"/agent/clawhub-barneyjm-extract","generatedAt":"2026-10-10T03:52:46.993Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T18:17:10.502Z","emptyReason":null},"description":"Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their content without writing code. Skill: Extract Owner: barneyjm Summary: Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their content without writing code. Tags: latest:0.1.0 Version history: v0.1.0 | 2026-02-03T15:26:48.236Z | auto - Initial release of the extract skill for obtaining clean content from web pages via Tavily's extraction API. - Sup","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.1K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s175g00ed7n2ej0r13jbm8m3k18842ww:extract","sourceUrl":"https://clawhub.ai/barneyjm/extract","homepage":"https://clawhub.ai/barneyjm/skills/extract","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/barneyjm/extract","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/barneyjm/skills/extract","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":67,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their con"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:17:10.502Z","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-09T18:17:10.502Z","emptyReason":null},"stars":null,"forks":null,"downloads":2146,"packageName":null,"latestVersion":"0.1.0","tractionLabel":"2.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:17:10.502Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T18:17:10.502Z","lastCrawledAt":"2026-10-09T18:17:10.502Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T18:17:10.502Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.0","createdAt":"2026-02-03T15:26:48.236Z","changelog":"- Initial release of the extract skill for obtaining clean content from web pages via Tavily's extraction API. - Supports extracting from up to 20 URLs per request, with options for focus queries, chunk sizing, extraction depth, and output format. - Provides examples and detailed instructions for command-line and API usage. - Includes support for advanced extraction on JavaScript-heavy or dynamic pages. - Guides on common pitfalls, batching, and troubleshooting with failed URL results.","fileCount":3,"zipByteSize":2793}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s175g00ed7n2ej0r13jbm8m3k18842ww:extract","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-barneyjm-extract/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/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-10T03:52:46.992Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-barneyjm-extract/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-09T18:17:10.502Z","emptyReason":null},"readme":"Skill: Extract\n\nOwner: barneyjm\n\nSummary: Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their content without writing code.\n\nTags: latest:0.1.0\n\nVersion history:\n\nv0.1.0 | 2026-02-03T15:26:48.236Z | auto\n\n- Initial release of the extract skill for obtaining clean content from web pages via Tavily's extraction API.\n- Supports extracting from up to 20 URLs per request, with options for focus queries, chunk sizing, extraction depth, and output format.\n- Provides examples and detailed instructions for command-line and API usage.\n- Includes support for advanced extraction on JavaScript-heavy or dynamic pages.\n- Guides on common pitfalls, batching, and troubleshooting with failed URL results.\n\nArchive index:\n\nArchive v0.1.0: 3 files, 2793 bytes\n\nFiles: scripts/extract.sh (1645b), SKILL.md (4757b), _meta.json (126b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: extract\ndescription: \"Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their content without writing code.\"\n---\n\n# Extract Skill\n\nExtract clean content from specific URLs. Ideal when you know which pages you want content from.\n\n## Prerequisites\n\n**Tavily API Key Required** - Get your key at https://tavily.com\n\nAdd to `~/.claude/settings.json`:\n```json\n{\n  \"env\": {\n    \"TAVILY_API_KEY\": \"tvly-your-api-key-here\"\n  }\n}\n```\n\n## Quick Start\n\n### Using the Script\n\n```bash\n./scripts/extract.sh '<json>'\n```\n\n**Examples:**\n```bash\n# Single URL\n./scripts/extract.sh '{\"urls\": [\"https://example.com/article\"]}'\n\n# Multiple URLs\n./scripts/extract.sh '{\"urls\": [\"https://example.com/page1\", \"https://example.com/page2\"]}'\n\n# With query focus and chunks\n./scripts/extract.sh '{\"urls\": [\"https://example.com/docs\"], \"query\": \"authentication API\", \"chunks_per_source\": 3}'\n\n# Advanced extraction for JS pages\n./scripts/extract.sh '{\"urls\": [\"https://app.example.com\"], \"extract_depth\": \"advanced\", \"timeout\": 60}'\n```\n\n### Basic Extraction\n\n```bash\ncurl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\"https://example.com/article\"]\n  }'\n```\n\n### Multiple URLs with Query Focus\n\n```bash\ncurl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\n      \"https://example.com/ml-healthcare\",\n      \"https://example.com/ai-diagnostics\"\n    ],\n    \"query\": \"AI diagnostic tools accuracy\",\n    \"chunks_per_source\": 3\n  }'\n```\n\n## API Reference\n\n### Endpoint\n\n```\nPOST https://api.tavily.com/extract\n```\n\n### Headers\n\n| Header | Value |\n|--------|-------|\n| `Authorization` | `Bearer <TAVILY_API_KEY>` |\n| `Content-Type` | `application/json` |\n\n### Request Body\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `urls` | array | Required | URLs to extract (max 20) |\n| `query` | string | null | Reranks chunks by relevance |\n| `chunks_per_source` | integer | 3 | Chunks per URL (1-5, requires query) |\n| `extract_depth` | string | `\"basic\"` | `basic` or `advanced` (for JS pages) |\n| `format` | string | `\"markdown\"` | `markdown` or `text` |\n| `include_images` | boolean | false | Include image URLs |\n| `timeout` | float | varies | Max wait (1-60 seconds) |\n\n### Response Format\n\n```json\n{\n  \"results\": [\n    {\n      \"url\": \"https://example.com/article\",\n      \"raw_content\": \"# Article Title\\n\\nContent...\"\n    }\n  ],\n  \"failed_results\": [],\n  \"response_time\": 2.3\n}\n```\n\n## Extract Depth\n\n| Depth | When to Use |\n|-------|-------------|\n| `basic` | Simple text extraction, faster |\n| `advanced` | Dynamic/JS-rendered pages, tables, structured data |\n\n## Examples\n\n### Single URL Extraction\n\n```bash\ncurl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\"https://docs.python.org/3/tutorial/classes.html\"],\n    \"extract_depth\": \"basic\"\n  }'\n```\n\n### Targeted Extraction with Query\n\n```bash\ncurl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\n      \"https://example.com/react-hooks\",\n      \"https://example.com/react-state\"\n    ],\n    \"query\": \"useState and useEffect patterns\",\n    \"chunks_per_source\": 2\n  }'\n```\n\n### JavaScript-Heavy Pages\n\n```bash\ncurl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\"https://app.example.com/dashboard\"],\n    \"extract_depth\": \"advanced\",\n    \"timeout\": 60\n  }'\n```\n\n### Batch Extraction\n\n```bash\ncurl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\n      \"https://example.com/page1\",\n      \"https://example.com/page2\",\n      \"https://example.com/page3\",\n      \"https://example.com/page4\",\n      \"https://example.com/page5\"\n    ],\n    \"extract_depth\": \"basic\"\n  }'\n```\n\n## Tips\n\n- **Max 20 URLs per request** - batch larger lists\n- **Use `query` + `chunks_per_source`** to get only relevant content\n- **Try `basic` first**, fall back to `advanced` if content is missing\n- **Set longer `timeout`** for slow pages (up to 60s)\n- **Check `failed_results`** for URLs that couldn't be extracted\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7e3j3w1x5et0yppacy4m90y18084ba\",\n  \"slug\": \"extract\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1770132408236\n}","readmeExcerpt":"Skill: Extract Owner: barneyjm Summary: Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their content without writing code. Tags: latest:0.1.0 Version history: v0.1.0 | 2026-02-03T15:26:48.236Z | auto - Initial release of the extract skill for obtaining clean content from web pages via Tavily's extraction API. - Sup","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"env\": {\n    \"TAVILY_API_KEY\": \"tvly-your-api-key-here\"\n  }\n}"},{"language":"bash","snippet":"./scripts/extract.sh '<json>'"},{"language":"bash","snippet":"# Single URL\n./scripts/extract.sh '{\"urls\": [\"https://example.com/article\"]}'\n\n# Multiple URLs\n./scripts/extract.sh '{\"urls\": [\"https://example.com/page1\", \"https://example.com/page2\"]}'\n\n# With query focus and chunks\n./scripts/extract.sh '{\"urls\": [\"https://example.com/docs\"], \"query\": \"authentication API\", \"chunks_per_source\": 3}'\n\n# Advanced extraction for JS pages\n./scripts/extract.sh '{\"urls\": [\"https://app.example.com\"], \"extract_depth\": \"advanced\", \"timeout\": 60}'"},{"language":"bash","snippet":"curl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{"},{"language":"bash","snippet":"curl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\"https://example.com/article\"]\n  }'"},{"language":"bash","snippet":"curl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: extract\ndescription: \"Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their content without writing code.\"\n---\n\n# Extract Skill\n\nExtract clean content from specific URLs. Ideal when you know which pages you want content from.\n\n## Prerequisites\n\n**Tavily API Key Required** - Get your key at https://tavily.com\n\nAdd to `~/.claude/settings.json`:\n```json\n{\n  \"env\": {\n    \"TAVILY_API_KEY\": \"tvly-your-api-key-here\"\n  }\n}\n```\n\n## Quick Start\n\n### Using the Script\n\n```bash\n./scripts/extract.sh '<json>'\n```\n\n**Examples:**\n```bash\n# Single URL\n./scripts/extract.sh '{\"urls\": [\"https://example.com/article\"]}'\n\n# Multiple URLs\n./scripts/extract.sh '{\"urls\": [\"https://example.com/page1\", \"https://example.com/page2\"]}'\n\n# With query focus and chunks\n./scripts/extract.sh '{\"urls\": [\"https://example.com/docs\"], \"query\": \"authentication API\", \"chunks_per_source\": 3}'\n\n# Advanced extraction for JS pages\n./scripts/extract.sh '{\"urls\": [\"https://app.example.com\"], \"extract_depth\": \"advanced\", \"timeout\": 60}'\n```\n\n### Basic Extraction\n\n```bash\ncurl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\"https://example.com/article\"]\n  }'\n```\n\n### Multiple URLs with Query Focus\n\n```bash\ncurl --request POST \\\n  --url https://api.tavily.com/extract \\\n  --header \"Authorization: Bearer $TAVILY_API_KEY\" \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n    \"urls\": [\n      \"https://example.com/ml-healthcare\",\n      \"https://example.com/ai-diagnostics\"\n    ],\n    \"query\": \"AI diagnostic tools accuracy\",\n    \"chunks_per_source\": 3\n  }'\n```\n\n## API Reference\n\n### Endpoint\n\n```\nPOST https://api.tavily.com/extract\n```\n\n### Headers\n\n| Header | Value |\n|--------|-------|\n| `Authorization` | `Bearer <TAVILY_API_KEY>` |\n| `Content-Type` | `application/json` |\n\n### Request Body\n\n| Field | Type | Default | Description |\n|-------|------|---------|-------------|\n| `urls` | array | Required | URLs to extract (max 20) |\n| `query` | string | null | Reranks chunks by relevance |\n| `chunks_per_source` | integer | 3 | Chunks per URL (1-5, requires query) |\n| `extract_depth` | string | `\"basic\"` | `basic` or `advanced` (for JS pages) |\n| `format` | string | `\"markdown\"` | `markdown` or `text` |\n| `include_images` | boolean | false | Include image URLs |\n| `timeout` | float | varies | Max wait (1-60 seconds) |\n\n### Response Format\n\n```json\n{\n  \"results\": [\n    {\n      \"url\": \"https://example.com/article\",\n      \"raw_content\": \"# Article Title\\n\\nContent...\"\n    }\n  ],\n  \"failed_results\": [],\n  \"response_time\": 2.3\n}\n```\n\n## Extract Depth\n\n| Depth | When to Use |\n|-------|-------------|\n| `basic` | Simple text extraction, faster |\n| `advanced` | Dynamic/JS-rendered pages, tables, structured data |\n\n## Examples\n\n### Single URL Extraction\n\n```bash\ncurl "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e3j3w1x5et0yppacy4m90y18084ba\",\n  \"slug\": \"extract\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1770132408236\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their content without writing code. Skill: Extract Owner: barneyjm Summary: Extract content from specific URLs using Tavily's extraction API. Returns clean markdown/text from web pages. Use when you have specific URLs and need their content without writing code. Tags: latest:0.1.0 Version history: v0.1.0 | 2026-02-03T15:26:48.236Z | auto - Initial release of the extract skill for obtaining clean content from web pages via Tavily's extraction API. - Sup","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":646,"uniquenessScore":58,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T18:17:10.502Z","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-09T18:17:10.502Z","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-10T03:52:46.993Z","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"}]}}}