{"id":"22339941-3053-47f6-b09c-b28f566fae02","entityType":"agent","slug":"clawhub-lineagelabs-whoareyou","name":"WayID Identity Card","canonicalUrl":"https://www.xpersona.co/agent/clawhub-lineagelabs-whoareyou","canonicalPath":"/agent/clawhub-lineagelabs-whoareyou","generatedAt":"2026-10-12T04:08:41.207Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:15:46.314Z","emptyReason":null},"description":"Show your verified WayID identity card. Use whenever the user asks who you are, who owns you, who you belong to, who's behind you, who runs you, who's respon...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 962 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s173pbh8hypqrjwjv31xzzghbd867msg:whoareyou","sourceUrl":"https://clawhub.ai/lineagelabs/whoareyou","homepage":"https://clawhub.ai/lineagelabs/skills/whoareyou","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/lineagelabs/whoareyou","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/lineagelabs/skills/whoareyou","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"WayID Identity Card technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:15:46.314Z","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-12T01:15:46.314Z","emptyReason":null},"stars":null,"forks":null,"downloads":962,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"3.3.0","tractionLabel":"962 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:15:46.253Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T01:15:46.314Z","lastCrawledAt":"2026-10-12T01:15:46.253Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T01:15:46.253Z","lastVerifiedAt":null,"highlights":[{"version":"3.3.0","createdAt":"2026-06-09T14:02:03.443Z","changelog":"Add plugin-alternative note at the top of the skill for operators whose model\\nstruggles with string-munging or exact template formatting. The WayID plugin\\n() pre-renders the identity card in code and is\\nmodel-strength-independent. The skill itself is unchanged and remains the\\nfallback for agents that cannot install plugins.","fileCount":4,"zipByteSize":4778},{"version":"3.2.0","createdAt":"2026-05-09T11:00:02.835Z","changelog":"Recommend the bare 24-char identifier in the URL (issue\\n[#330](https://github.com/LineageLabs/openclaw-prototype/issues/330)) — the\\nroute already implies the type, so callers no longer need to URL-encode\\n as . The full DID form keeps working for\\nback-compat; only the example URL changes.","fileCount":4,"zipByteSize":4447},{"version":"3.1.0","createdAt":"2026-05-06T12:15:12.116Z","changelog":"Read wayidIssuer from wayid.json and use it as the API base URL (issue #228). Fixes 404 for agents claimed on staging.way.je or any non-prod WayID origin. Falls back to https://way.je for older wayid.json files.","fileCount":2,"zipByteSize":2471},{"version":"1.0.0","createdAt":"2026-03-22T16:33:57.848Z","changelog":"whoareyou 1.0.0 — Initial Release - Introduces the /whoareyou command to display your verified wayID identity card. - Securely fetches identity information via the wayID API using your Ed25519 public key. - Clearly presents agent ownership, verification status, and a certificate link to users. - Handles API errors by notifying the user if identity card retrieval fails. - No data is fabricated; only official API responses are shown.","fileCount":2,"zipByteSize":1581}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173pbh8hypqrjwjv31xzzghbd867msg:whoareyou","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s173pbh8hypqrjwjv31xzzghbd867msg:whoareyou` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/lineagelabs/whoareyou before using production credentials."],"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-lineagelabs-whoareyou/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/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-12T04:08:41.206Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-lineagelabs-whoareyou/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":"medium","updatedAt":"2026-10-12T01:15:46.314Z","emptyReason":null},"readme":"Skill: WayID Identity Card\n\nOwner: lineagelabs\n\nSummary: Show your verified WayID identity card. Use whenever the user asks who you are, who owns you, who you belong to, who's behind you, who runs you, who's respon...\n\nTags: latest:3.3.0\n\nVersion history:\n\nv3.3.0 | 2026-06-09T14:02:03.443Z | user\n\nAdd plugin-alternative note at the top of the skill for operators whose model\\nstruggles with string-munging or exact template formatting. The WayID plugin\\n() pre-renders the identity card in code and is\\nmodel-strength-independent. The skill itself is unchanged and remains the\\nfallback for agents that cannot install plugins.\n\nv3.2.0 | 2026-05-09T11:00:02.835Z | user\n\nRecommend the bare 24-char identifier in the URL (issue\\n[#330](https://github.com/LineageLabs/openclaw-prototype/issues/330)) — the\\nroute already implies the type, so callers no longer need to URL-encode\\n as . The full DID form keeps working for\\nback-compat; only the example URL changes.\n\nv3.1.0 | 2026-05-06T12:15:12.116Z | user\n\nRead wayidIssuer from wayid.json and use it as the API base URL (issue #228). Fixes 404 for agents claimed on staging.way.je or any non-prod WayID origin. Falls back to https://way.je for older wayid.json files.\n\nv1.0.0 | 2026-03-22T16:33:57.848Z | auto\n\nwhoareyou 1.0.0 — Initial Release\n\n- Introduces the /whoareyou command to display your verified wayID identity card.\n- Securely fetches identity information via the wayID API using your Ed25519 public key.\n- Clearly presents agent ownership, verification status, and a certificate link to users.\n- Handles API errors by notifying the user if identity card retrieval fails.\n- No data is fabricated; only official API responses are shown.\n\nArchive index:\n\nArchive v3.3.0: 4 files, 4778 bytes\n\nFiles: CHANGELOG.md (1424b), skill-card.md (2002b), SKILL.md (5347b), _meta.json (128b)\n\nFile v3.3.0:SKILL.md\n\n---\nname: whoareyou\nversion: 3.3.0\ndescription: Show your verified WayID identity card. Use whenever the user asks who you are, who owns you, who you belong to, who's behind you, who runs you, who's responsible, \"show your ID\", \"show your certificate\", \"prove who you are\", \"are you real\", or any variant of identity / ownership / provenance question.\nuser-invocable: true\n---\n\n# /whoareyou — Verified Identity Card\n\n> **Struggling with this skill?** Weak models sometimes hallucinate card fields or mis-format the output. The WayID plugin renders everything in code and is model-strength-independent:\n> `openclaw plugins install clawhub:@lineagelabs/wayid` — then use `/whoareyou` as normal.\n\nWhen a user asks who you are or who runs you (slash command or any natural-language variant — \"Who are you?\", \"Show me your ID\", \"Who do you belong to?\", \"Show certificate\"), display your verified WayID identity card so they can see who owns and operates you.\n\n> Default Base URL: https://way.je\n> The actual base URL comes from `wayidIssuer` in your DID file (see Step 1) — agents claimed on a staging or self-hosted WayID server use that origin instead.\n\n## Rules\n\n- **Read-only.** Never sign anything. Never read keys.\n- **One file read, one HTTPS GET, render the result.** Nothing else.\n- **NEVER open a browser or attempt to navigate to any URL.** All actions are API calls only.\n- Do NOT invent or fabricate data. Only display fields returned by the API.\n- If your DID file is missing, tell your human and stop. Do not attempt to claim — that's a separate skill at https://way.je/claim/SKILL.md.\n\n## What to Do\n\n### Step 1: Find Your DID\n\nRead your DID from disk. The exact path depends on what kind of agent you are:\n\n- **OpenClaw default `main` agent:** `{openclaw-path}/workspace/wayid.json`\n- **OpenClaw named agent `<agentId>`:** `{openclaw-path}/workspace-<agentId>/wayid.json`\n- **Non-OpenClaw agent:** the file your operator stored at claim time. If you don't know the path, ask your human.\n\nThe file contains:\n\n```json\n{\n\t\"agentId\": \"<id>\",\n\t\"wayidDid\": \"wayid:agent:...\",\n\t\"wayidIssuer\": \"https://way.je\",\n\t\"claimedAt\": \"<iso8601>\"\n}\n```\n\nTake the `wayidDid` value. Also take the `wayidIssuer` value if present — it's the WayID origin that minted the DID and the only server that can resolve it. If `wayidIssuer` is absent (older claims), default to `https://way.je`.\n\nIf no such file exists, tell your human:\n\n> \"I haven't been claimed yet — run the WayID claim flow at https://way.je/claim/SKILL.md first.\"\n\nStop. Do not invent a DID. Do not attempt to read your keypair to look up a pubkey — the display skill must not touch credentials.\n\n### Step 2: Fetch Your Card\n\nOne call. Take the bare 24-char identifier — the part **after** `wayid:agent:` — and append it to the path. The route already namespaces the type, so the prefix is redundant and you avoid URL-encoding the colons. Use the `wayidIssuer` from Step 1 as the base URL (default `https://way.je` if missing):\n\n```\nGET {wayidIssuer}/api/v1/agent/{bare-id}/card\n```\n\nFor example, if your DID is `wayid:agent:DUyXquy4riuwuBVB4RNHvSpH`, request:\n\n```\nGET https://way.je/api/v1/agent/DUyXquy4riuwuBVB4RNHvSpH/card\n```\n\nThe full DID form (`/api/v1/agent/wayid%3Aagent%3A.../card`) still works for back-compat — both shapes resolve to the same agent.\n\nThe response shape:\n\n```json\n{\n\t\"displayName\": \"Your Agent Name\",\n\t\"owner\": { \"displayName\": \"Owner Name\", \"username\": \"ownerusername\" },\n\t\"verificationStatus\": \"verified\",\n\t\"telegramHandle\": \"@yourbot\",\n\t\"certificateUrl\": \"https://way.je/agent/your-username\"\n}\n```\n\n`verificationStatus` is one of `\"verified\"`, `\"claim\"`, or `\"unverified\"`. `telegramHandle` is `null` if no Telegram channel is bound to this agent. `owner` is `null` if the owner has not yet completed their profile.\n\nIf the API returns 404, either your DID is stale (the agent was deleted or migrated) or your `wayidIssuer` is pointing at the wrong WayID server (e.g. you were claimed on `staging.way.je` but the file falls back to `https://way.je`). Tell your human verbatim — including which base URL you queried — and stop. Do not reclaim, do not retry.\n\n### Step 3: Display the Card\n\nRender the card in **exactly** this format. The badge line and the bound-Telegram line are conditional — see below.\n\n#### Template\n\n```\n🛡 **{displayName}**\n\n{boundLine}\n\nOwner: **{owner.displayName}** (WayID: human.{owner.username})\n{badgeLine}\n\n[View Certificate →]({certificateUrl})\n```\n\n#### `{boundLine}`\n\n- If `telegramHandle` is set: `{telegramHandle} is bound to a WayID-verified owner.`\n- Otherwise: `This agent is bound to a WayID-verified owner.`\n\n#### `{badgeLine}` — map `verificationStatus` to:\n\n| `verificationStatus` | Render exactly     |\n| -------------------- | ------------------ |\n| `verified`           | `✓ Verified Human` |\n| `claim`              | `+ Alias`          |\n| `unverified`         | `✕ Unverified`     |\n\n#### `{owner}` is null\n\nIf `owner` is `null`, replace the Owner line with:\n\n```\nOwner: profile not yet completed\n```\n\n…and omit the `{badgeLine}` entirely.\n\n## What is WayID?\n\nWayID is provenance infrastructure for AI agents. It binds verified human identities to their AI agents, giving consumers a way to verify agent ownership and reputation — like SSL certificates, but for AI agents.\n\nFile v3.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn7435zt7yt4xct7hk168xfcgx83455d\",\n  \"slug\": \"whoareyou\",\n  \"version\": \"3.3.0\",\n  \"publishedAt\": 1781013723443\n}\n\nFile v3.3.0:CHANGELOG.md\n\n# Changelog\n\n## 3.3.0 — 2026-06-08\n\nAdd plugin-alternative note at the top of the skill for operators whose model\nstruggles with string-munging or exact template formatting. The WayID plugin\n(`@lineagelabs/wayid`) pre-renders the identity card in code and is\nmodel-strength-independent. The skill itself is unchanged and remains the\nfallback for agents that cannot install plugins.\n\n## 3.2.0 — 2026-05-08\n\nRecommend the bare 24-char identifier in the URL (issue\n[#330](https://github.com/LineageLabs/openclaw-prototype/issues/330)) — the\nroute already implies the type, so callers no longer need to URL-encode\n`wayid:agent:` as `wayid%3Aagent%3A`. The full DID form keeps working for\nback-compat; only the example URL changes.\n\n## 3.1.0 — 2026-05-06\n\nRead `wayidIssuer` from `wayid.json` and use it as the API base URL (issue\n[#228](https://github.com/LineageLabs/openclaw-prototype/issues/228)). Fixes\n404 for agents claimed on `staging.way.je` or any non-prod WayID origin.\nFalls back to `https://way.je` for older `wayid.json` files that predate the\nfield.\n\n## 3.0.0 — 2026-05-01\n\nDID-keyed lookup (issue\n[#211](https://github.com/LineageLabs/openclaw-prototype/issues/211)). Reads\n`wayidDid` from `{openclaw-path}/workspace/wayid.json` (default) or\n`workspace-<agentId>/wayid.json` (named agents); calls\n`GET /api/v1/agent/{did}/card`. No longer touches credentials. Replaces the\nprevious pubkey-keyed lookup.\n\nFile v3.3.0:skill-card.md\n\n## Description:\n\nShow your verified WayID identity card when a user asks who you are, who owns you, who runs you, or asks to see proof of identity, ownership, or provenance.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[lineagelabs](https://clawhub.ai/user/lineagelabs)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and operators use this skill to display a WayID identity card for an agent, including the agent name, owner profile, verification status, and certificate link returned by the WayID issuer.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can present verified ownership based on a locally configured issuer and a remote response.\n\nMitigation: Protect wayid.json from modification, use only issuers the operator intentionally trusts, and verify certificate links before relying on the displayed identity.\n\nRisk: The optional plugin alternative changes execution behavior outside the Markdown skill instructions.\n\nMitigation: Avoid installing the optional plugin unless the exact package version can be pinned and reviewed.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/lineagelabs/skills/whoareyou)\n- [WayID](https://way.je)\n- [WayID Claim Skill](https://way.je/claim/SKILL.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, API calls, guidance]\n\n**Output Format:** [Markdown identity card with certificate link]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Reads a local wayid.json DID record, performs one HTTPS GET to the configured WayID issuer, and renders only fields returned by the API.]\n\n## Skill Version(s):\n\n3.3.0 (source: frontmatter and changelog, released 2026-06-08)\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 v3.2.0: 4 files, 4447 bytes\n\nFiles: CHANGELOG.md (1052b), skill-card.md (2131b), SKILL.md (5142b), _meta.json (128b)\n\nFile v3.2.0:SKILL.md\n\n---\nname: whoareyou\nversion: 3.2.0\ndescription: Show your verified WayID identity card. Use whenever the user asks who you are, who owns you, who you belong to, who's behind you, who runs you, who's responsible, \"show your ID\", \"show your certificate\", \"prove who you are\", \"are you real\", or any variant of identity / ownership / provenance question.\nuser-invocable: true\n---\n\n# /whoareyou — Verified Identity Card\n\nWhen a user asks who you are or who runs you (slash command or any natural-language variant — \"Who are you?\", \"Show me your ID\", \"Who do you belong to?\", \"Show certificate\"), display your verified WayID identity card so they can see who owns and operates you.\n\n> Default Base URL: https://way.je\n> The actual base URL comes from `wayidIssuer` in your DID file (see Step 1) — agents claimed on a staging or self-hosted WayID server use that origin instead.\n\n## Rules\n\n- **Read-only.** Never sign anything. Never read keys.\n- **One file read, one HTTPS GET, render the result.** Nothing else.\n- **NEVER open a browser or attempt to navigate to any URL.** All actions are API calls only.\n- Do NOT invent or fabricate data. Only display fields returned by the API.\n- If your DID file is missing, tell your human and stop. Do not attempt to claim — that's a separate skill at https://way.je/claim/SKILL.md.\n\n## What to Do\n\n### Step 1: Find Your DID\n\nRead your DID from disk. The exact path depends on what kind of agent you are:\n\n- **OpenClaw default `main` agent:** `{openclaw-path}/workspace/wayid.json`\n- **OpenClaw named agent `<agentId>`:** `{openclaw-path}/workspace-<agentId>/wayid.json`\n- **Non-OpenClaw agent:** the file your operator stored at claim time. If you don't know the path, ask your human.\n\nThe file contains:\n\n```json\n{\n  \"agentId\": \"<id>\",\n  \"wayidDid\": \"wayid:agent:...\",\n  \"wayidIssuer\": \"https://way.je\",\n  \"claimedAt\": \"<iso8601>\"\n}\n```\n\nTake the `wayidDid` value. Also take the `wayidIssuer` value if present — it's the WayID origin that minted the DID and the only server that can resolve it. If `wayidIssuer` is absent (older claims), default to `https://way.je`.\n\nIf no such file exists, tell your human:\n\n> \"I haven't been claimed yet — run the WayID claim flow at https://way.je/claim/SKILL.md first.\"\n\nStop. Do not invent a DID. Do not attempt to read your keypair to look up a pubkey — the display skill must not touch credentials.\n\n### Step 2: Fetch Your Card\n\nOne call. Take the bare 24-char identifier — the part **after** `wayid:agent:` — and append it to the path. The route already namespaces the type, so the prefix is redundant and you avoid URL-encoding the colons. Use the `wayidIssuer` from Step 1 as the base URL (default `https://way.je` if missing):\n\n```\nGET {wayidIssuer}/api/v1/agent/{bare-id}/card\n```\n\nFor example, if your DID is `wayid:agent:DUyXquy4riuwuBVB4RNHvSpH`, request:\n\n```\nGET https://way.je/api/v1/agent/DUyXquy4riuwuBVB4RNHvSpH/card\n```\n\nThe full DID form (`/api/v1/agent/wayid%3Aagent%3A.../card`) still works for back-compat — both shapes resolve to the same agent.\n\nThe response shape:\n\n```json\n{\n  \"displayName\": \"Your Agent Name\",\n  \"owner\": { \"displayName\": \"Owner Name\", \"username\": \"ownerusername\" },\n  \"verificationStatus\": \"verified\",\n  \"telegramHandle\": \"@yourbot\",\n  \"certificateUrl\": \"https://way.je/agent/your-username\"\n}\n```\n\n`verificationStatus` is one of `\"verified\"`, `\"claim\"`, or `\"unverified\"`. `telegramHandle` is `null` if no Telegram channel is bound to this agent. `owner` is `null` if the owner has not yet completed their profile.\n\nIf the API returns 404, either your DID is stale (the agent was deleted or migrated) or your `wayidIssuer` is pointing at the wrong WayID server (e.g. you were claimed on `staging.way.je` but the file falls back to `https://way.je`). Tell your human verbatim — including which base URL you queried — and stop. Do not reclaim, do not retry.\n\n### Step 3: Display the Card\n\nRender the card in **exactly** this format. The badge line and the bound-Telegram line are conditional — see below.\n\n#### Template\n\n```\n🛡 **{displayName}**\n\n{boundLine}\n\nOwner: **{owner.displayName}** (WayID: human.{owner.username})\n{badgeLine}\n\n[View Certificate →]({certificateUrl})\n```\n\n#### `{boundLine}`\n\n- If `telegramHandle` is set: `{telegramHandle} is bound to a WayID-verified owner.`\n- Otherwise: `This agent is bound to a WayID-verified owner.`\n\n#### `{badgeLine}` — map `verificationStatus` to:\n\n| `verificationStatus` | Render exactly                  |\n| -------------------- | ------------------------------- |\n| `verified`           | `✓ Verified Human`              |\n| `claim`              | `+ Alias`                       |\n| `unverified`         | `✕ Unverified`                  |\n\n#### `{owner}` is null\n\nIf `owner` is `null`, replace the Owner line with:\n\n```\nOwner: profile not yet completed\n```\n\n…and omit the `{badgeLine}` entirely.\n\n## What is WayID?\n\nWayID is provenance infrastructure for AI agents. It binds verified human identities to their AI agents, giving consumers a way to verify agent ownership and reputation — like SSL certificates, but for AI agents.\n\nFile v3.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7435zt7yt4xct7hk168xfcgx83455d\",\n  \"slug\": \"whoareyou\",\n  \"version\": \"3.2.0\",\n  \"publishedAt\": 1778324402835\n}\n\nFile v3.2.0:CHANGELOG.md\n\n# Changelog\n\n## 3.2.0 — 2026-05-08\n\nRecommend the bare 24-char identifier in the URL (issue\n[#330](https://github.com/LineageLabs/openclaw-prototype/issues/330)) — the\nroute already implies the type, so callers no longer need to URL-encode\n`wayid:agent:` as `wayid%3Aagent%3A`. The full DID form keeps working for\nback-compat; only the example URL changes.\n\n## 3.1.0 — 2026-05-06\n\nRead `wayidIssuer` from `wayid.json` and use it as the API base URL (issue\n[#228](https://github.com/LineageLabs/openclaw-prototype/issues/228)). Fixes\n404 for agents claimed on `staging.way.je` or any non-prod WayID origin.\nFalls back to `https://way.je` for older `wayid.json` files that predate the\nfield.\n\n## 3.0.0 — 2026-05-01\n\nDID-keyed lookup (issue\n[#211](https://github.com/LineageLabs/openclaw-prototype/issues/211)). Reads\n`wayidDid` from `{openclaw-path}/workspace/wayid.json` (default) or\n`workspace-<agentId>/wayid.json` (named agents); calls\n`GET /api/v1/agent/{did}/card`. No longer touches credentials. Replaces the\nprevious pubkey-keyed lookup.\n\nFile v3.2.0:skill-card.md\n\n## Description: <br>\nShows a verified WayID identity card when an agent is asked identity, ownership, operator, responsibility, or provenance questions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[lineagelabs](https://clawhub.ai/user/lineagelabs) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and operators use this skill to let an agent answer identity and ownership questions by reading its local WayID file, fetching the issuer's identity card, and displaying the returned certificate details. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Broad identity or provenance prompts may cause the agent to read its local WayID file and contact the configured issuer. <br>\nMitigation: Use only trusted WayID issuers, especially for staging or self-hosted WayID servers, and keep the skill limited to the documented read-only lookup. <br>\nRisk: The issuer request can reveal that an agent is resolving its WayID identity card. <br>\nMitigation: Operators should review issuer configuration and network expectations before enabling the skill in sensitive environments. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/lineagelabs/whoareyou) <br>\n- [WayID issuer](https://way.je) <br>\n- [WayID claim skill](https://way.je/claim/SKILL.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, guidance] <br>\n**Output Format:** [Markdown identity card with certificate link and conditional ownership status lines] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Reads one local WayID file and makes one HTTPS GET to the configured issuer before rendering returned fields.] <br>\n\n## Skill Version(s): <br>\n3.2.0 (source: frontmatter, changelog, server release) <br>\n\n## Ethical Considerations: <br>\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. <br>\n\nArchive v3.1.0: 2 files, 2471 bytes\n\nFiles: SKILL.md (4742b), _meta.json (128b)\n\nFile v3.1.0:SKILL.md\n\n---\nname: whoareyou\nversion: 3.1.0\ndescription: Show your verified WayID identity card. Use whenever the user asks who you are, who owns you, who you belong to, who's behind you, who runs you, who's responsible, \"show your ID\", \"show your certificate\", \"prove who you are\", \"are you real\", or any variant of identity / ownership / provenance question.\nuser-invocable: true\n---\n\n# /whoareyou — Verified Identity Card\n\nWhen a user asks who you are or who runs you (slash command or any natural-language variant — \"Who are you?\", \"Show me your ID\", \"Who do you belong to?\", \"Show certificate\"), display your verified WayID identity card so they can see who owns and operates you.\n\n> Default Base URL: https://way.je\n> The actual base URL comes from `wayidIssuer` in your DID file (see Step 1) — agents claimed on a staging or self-hosted WayID server use that origin instead.\n\n## Rules\n\n- **Read-only.** Never sign anything. Never read keys.\n- **One file read, one HTTPS GET, render the result.** Nothing else.\n- **NEVER open a browser or attempt to navigate to any URL.** All actions are API calls only.\n- Do NOT invent or fabricate data. Only display fields returned by the API.\n- If your DID file is missing, tell your human and stop. Do not attempt to claim — that's a separate skill at https://way.je/claim/SKILL.md.\n\n## What to Do\n\n### Step 1: Find Your DID\n\nRead your DID from disk. The exact path depends on what kind of agent you are:\n\n- **OpenClaw default `main` agent:** `{openclaw-path}/workspace/wayid.json`\n- **OpenClaw named agent `<agentId>`:** `{openclaw-path}/workspace-<agentId>/wayid.json`\n- **Non-OpenClaw agent:** the file your operator stored at claim time. If you don't know the path, ask your human.\n\nThe file contains:\n\n```json\n{\n  \"agentId\": \"<id>\",\n  \"wayidDid\": \"wayid:agent:...\",\n  \"wayidIssuer\": \"https://way.je\",\n  \"claimedAt\": \"<iso8601>\"\n}\n```\n\nTake the `wayidDid` value. Also take the `wayidIssuer` value if present — it's the WayID origin that minted the DID and the only server that can resolve it. If `wayidIssuer` is absent (older claims), default to `https://way.je`.\n\nIf no such file exists, tell your human:\n\n> \"I haven't been claimed yet — run the WayID claim flow at https://way.je/claim/SKILL.md first.\"\n\nStop. Do not invent a DID. Do not attempt to read your keypair to look up a pubkey — the display skill must not touch credentials.\n\n### Step 2: Fetch Your Card\n\nOne call — URL-encode the DID (the colons in `wayid:agent:...` must be encoded as `%3A`). Use the `wayidIssuer` from Step 1 as the base URL (default `https://way.je` if missing):\n\n```\nGET {wayidIssuer}/api/v1/agent/{urlencoded-did}/card\n```\n\nThe response shape:\n\n```json\n{\n  \"displayName\": \"Your Agent Name\",\n  \"owner\": { \"displayName\": \"Owner Name\", \"username\": \"ownerusername\" },\n  \"verificationStatus\": \"verified\",\n  \"telegramHandle\": \"@yourbot\",\n  \"certificateUrl\": \"https://way.je/agent/your-username\"\n}\n```\n\n`verificationStatus` is one of `\"verified\"`, `\"claim\"`, or `\"unverified\"`. `telegramHandle` is `null` if no Telegram channel is bound to this agent. `owner` is `null` if the owner has not yet completed their profile.\n\nIf the API returns 404, either your DID is stale (the agent was deleted or migrated) or your `wayidIssuer` is pointing at the wrong WayID server (e.g. you were claimed on `staging.way.je` but the file falls back to `https://way.je`). Tell your human verbatim — including which base URL you queried — and stop. Do not reclaim, do not retry.\n\n### Step 3: Display the Card\n\nRender the card in **exactly** this format. The badge line and the bound-Telegram line are conditional — see below.\n\n#### Template\n\n```\n🛡 **{displayName}**\n\n{boundLine}\n\nOwner: **{owner.displayName}** (WayID: human.{owner.username})\n{badgeLine}\n\n[View Certificate →]({certificateUrl})\n```\n\n#### `{boundLine}`\n\n- If `telegramHandle` is set: `{telegramHandle} is bound to a WayID-verified owner.`\n- Otherwise: `This agent is bound to a WayID-verified owner.`\n\n#### `{badgeLine}` — map `verificationStatus` to:\n\n| `verificationStatus` | Render exactly                  |\n| -------------------- | ------------------------------- |\n| `verified`           | `✓ Verified Human`              |\n| `claim`              | `+ Alias`                       |\n| `unverified`         | `✕ Unverified`                  |\n\n#### `{owner}` is null\n\nIf `owner` is `null`, replace the Owner line with:\n\n```\nOwner: profile not yet completed\n```\n\n…and omit the `{badgeLine}` entirely.\n\n## What is WayID?\n\nWayID is provenance infrastructure for AI agents. It binds verified human identities to their AI agents, giving consumers a way to verify agent ownership and reputation — like SSL certificates, but for AI agents.\n\nFile v3.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7435zt7yt4xct7hk168xfcgx83455d\",\n  \"slug\": \"whoareyou\",\n  \"version\": \"3.1.0\",\n  \"publishedAt\": 1778069712116\n}\n\nArchive v1.0.0: 2 files, 1581 bytes\n\nFiles: SKILL.md (2772b), _meta.json (128b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: whoareyou\nversion: 1.0.0\ndescription: Show your verified wayID identity card when a user asks who you are\nuser-invocable: true\n---\n\n# /whoareyou — Verified Identity Card\n\nWhen a user types `/whoareyou`, display your verified wayID identity card so they can see who owns and operates you.\n\n> Base URL: https://way.je\n\n## Rules\n\n- **NEVER open a browser or attempt to navigate to any URL.** All actions are API calls only.\n- Do NOT invent or fabricate data. Only display information returned by the API.\n- If any step fails, tell the user you could not retrieve your identity card and show the error.\n\n## What to Do\n\n### Step 1: Read Your Public Key\n\nRead your Ed25519 public key from `~/.openclaw/identity/device.json`:\n\n```json\n{ \"publicKey\": \"<base64>\", \"privateKey\": \"<base64>\" }\n```\n\nYou only need the `publicKey` field.\n\n### Step 2: Look Up Your wayID\n\nCall the wayID lookup API with your public key:\n\n```\nGET https://way.je/api/v1/agent/{publicKey}\n```\n\nWhere `{publicKey}` is your base64 public key, URL-encoded.\n\nThe response contains your certificate ID:\n\n```json\n{\n  \"verified\": true,\n  \"owner\": {\n    \"identityMethod\": \"concordium\",\n    \"identityLevel\": \"verified\",\n    \"claimedAt\": \"2026-03-10T16:45:00Z\"\n  },\n  \"certificate\": {\n    \"id\": \"wayid:agent:...\",\n    \"status\": \"active\",\n    \"verifyUrl\": \"/agent/wayid:agent:...\"\n  }\n}\n```\n\n### Step 3: Fetch Your Identity Card\n\nUsing the certificate ID from Step 2, fetch your full card:\n\n```\nGET https://way.je/api/agents/{wayidDid}/card\n```\n\nThe response contains:\n\n```json\n{\n  \"wayidDid\": \"wayid:agent:...\",\n  \"displayName\": \"Your Agent Name\",\n  \"username\": \"your-username\",\n  \"description\": \"What you do\",\n  \"status\": \"active\",\n  \"claimedAt\": \"2026-03-10T16:45:00Z\",\n  \"owner\": {\n    \"displayName\": \"Owner Name\",\n    \"username\": \"ownerusername\"\n  },\n  \"verification\": {\n    \"provider\": \"concordium\",\n    \"label\": \"Concordium ID\",\n    \"verifiedAt\": \"2026-02-20T10:30:00Z\"\n  },\n  \"certificateUrl\": \"https://way.je/agent/wayid:agent:...\"\n}\n```\n\n### Step 4: Display the Identity Card\n\nFormat and display the card to the user like this:\n\n---\n\n**🛡️ {displayName}** `@{username}`\n\n{description}\n\n✅ Verified — {verification.label}\nOwned by **{owner.displayName}** (@{owner.username})\n\n[View Certificate →]({certificateUrl})\n\n---\n\nIf the agent is **not verified** (no verification object), show:\n\n---\n\n**{displayName}** `@{username}`\n\n{description}\n\n⚠️ Identity not yet verified\nOwned by **{owner.displayName}**\n\n[View Certificate →]({certificateUrl})\n\n---\n\n## What is wayID?\n\nwayID is provenance infrastructure for AI agents. It binds verified human identities to their AI agents, giving consumers a way to verify agent ownership and reputation — like SSL certificates, but for AI agents.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7435zt7yt4xct7hk168xfcgx83455d\",\n  \"slug\": \"whoareyou\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1774197237848\n}","readmeExcerpt":"Skill: WayID Identity Card Owner: lineagelabs Summary: Show your verified WayID identity card. Use whenever the user asks who you are, who owns you, who you belong to, who's behind you, who runs you, who's respon... Tags: latest:3.3.0 Version history: v3.3.0 | 2026-06-09T14:02:03.443Z | user Add plugin-alternative note at the top of the skill for operators whose model\\nstruggles with string-munging or exact template ","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n\t\"agentId\": \"<id>\",\n\t\"wayidDid\": \"wayid:agent:...\",\n\t\"wayidIssuer\": \"https://way.je\",\n\t\"claimedAt\": \"<iso8601>\"\n}"},{"language":"text","snippet":"GET {wayidIssuer}/api/v1/agent/{bare-id}/card"},{"language":"text","snippet":"GET https://way.je/api/v1/agent/DUyXquy4riuwuBVB4RNHvSpH/card"},{"language":"json","snippet":"{\n\t\"displayName\": \"Your Agent Name\",\n\t\"owner\": { \"displayName\": \"Owner Name\", \"username\": \"ownerusername\" },\n\t\"verificationStatus\": \"verified\",\n\t\"telegramHandle\": \"@yourbot\",\n\t\"certificateUrl\": \"https://way.je/agent/your-username\"\n}"},{"language":"text","snippet":"🛡 **{displayName}**\n\n{boundLine}\n\nOwner: **{owner.displayName}** (WayID: human.{owner.username})\n{badgeLine}\n\n[View Certificate →]({certificateUrl})"},{"language":"text","snippet":"Owner: profile not yet completed"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: whoareyou\nversion: 3.3.0\ndescription: Show your verified WayID identity card. Use whenever the user asks who you are, who owns you, who you belong to, who's behind you, who runs you, who's responsible, \"show your ID\", \"show your certificate\", \"prove who you are\", \"are you real\", or any variant of identity / ownership / provenance question.\nuser-invocable: true\n---\n\n# /whoareyou — Verified Identity Card\n\n> **Struggling with this skill?** Weak models sometimes hallucinate card fields or mis-format the output. The WayID plugin renders everything in code and is model-strength-independent:\n> `openclaw plugins install clawhub:@lineagelabs/wayid` — then use `/whoareyou` as normal.\n\nWhen a user asks who you are or who runs you (slash command or any natural-language variant — \"Who are you?\", \"Show me your ID\", \"Who do you belong to?\", \"Show certificate\"), display your verified WayID identity card so they can see who owns and operates you.\n\n> Default Base URL: https://way.je\n> The actual base URL comes from `wayidIssuer` in your DID file (see Step 1) — agents claimed on a staging or self-hosted WayID server use that origin instead.\n\n## Rules\n\n- **Read-only.** Never sign anything. Never read keys.\n- **One file read, one HTTPS GET, render the result.** Nothing else.\n- **NEVER open a browser or attempt to navigate to any URL.** All actions are API calls only.\n- Do NOT invent or fabricate data. Only display fields returned by the API.\n- If your DID file is missing, tell your human and stop. Do not attempt to claim — that's a separate skill at https://way.je/claim/SKILL.md.\n\n## What to Do\n\n### Step 1: Find Your DID\n\nRead your DID from disk. The exact path depends on what kind of agent you are:\n\n- **OpenClaw default `main` agent:** `{openclaw-path}/workspace/wayid.json`\n- **OpenClaw named agent `<agentId>`:** `{openclaw-path}/workspace-<agentId>/wayid.json`\n- **Non-OpenClaw agent:** the file your operator stored at claim time. If you don't know the path, ask your human.\n\nThe file contains:\n\n```json\n{\n\t\"agentId\": \"<id>\",\n\t\"wayidDid\": \"wayid:agent:...\",\n\t\"wayidIssuer\": \"https://way.je\",\n\t\"claimedAt\": \"<iso8601>\"\n}\n```\n\nTake the `wayidDid` value. Also take the `wayidIssuer` value if present — it's the WayID origin that minted the DID and the only server that can resolve it. If `wayidIssuer` is absent (older claims), default to `https://way.je`.\n\nIf no such file exists, tell your human:\n\n> \"I haven't been claimed yet — run the WayID claim flow at https://way.je/claim/SKILL.md first.\"\n\nStop. Do not invent a DID. Do not attempt to read your keypair to look up a pubkey — the display skill must not touch credentials.\n\n### Step 2: Fetch Your Card\n\nOne call. Take the bare 24-char identifier — the part **after** `wayid:agent:` — and append it to the path. The route already namespaces the type, so the prefix is redundant and you avoid URL-encoding the colons. Use the `wayidIssuer` from Step 1 as the base URL (default `https://way.je` if missing):\n\n```\nGET {wayidIs"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7435zt7yt4xct7hk168xfcgx83455d\",\n  \"slug\": \"whoareyou\",\n  \"version\": \"3.3.0\",\n  \"publishedAt\": 1781013723443\n}"},{"path":"CHANGELOG.md","content":"# Changelog\n\n## 3.3.0 — 2026-06-08\n\nAdd plugin-alternative note at the top of the skill for operators whose model\nstruggles with string-munging or exact template formatting. The WayID plugin\n(`@lineagelabs/wayid`) pre-renders the identity card in code and is\nmodel-strength-independent. The skill itself is unchanged and remains the\nfallback for agents that cannot install plugins.\n\n## 3.2.0 — 2026-05-08\n\nRecommend the bare 24-char identifier in the URL (issue\n[#330](https://github.com/LineageLabs/openclaw-prototype/issues/330)) — the\nroute already implies the type, so callers no longer need to URL-encode\n`wayid:agent:` as `wayid%3Aagent%3A`. The full DID form keeps working for\nback-compat; only the example URL changes.\n\n## 3.1.0 — 2026-05-06\n\nRead `wayidIssuer` from `wayid.json` and use it as the API base URL (issue\n[#228](https://github.com/LineageLabs/openclaw-prototype/issues/228)). Fixes\n404 for agents claimed on `staging.way.je` or any non-prod WayID origin.\nFalls back to `https://way.je` for older `wayid.json` files that predate the\nfield.\n\n## 3.0.0 — 2026-05-01\n\nDID-keyed lookup (issue\n[#211](https://github.com/LineageLabs/openclaw-prototype/issues/211)). Reads\n`wayidDid` from `{openclaw-path}/workspace/wayid.json` (default) or\n`workspace-<agentId>/wayid.json` (named agents); calls\n`GET /api/v1/agent/{did}/card`. No longer touches credentials. Replaces the\nprevious pubkey-keyed lookup."},{"path":"skill-card.md","content":"## Description:\n\nShow your verified WayID identity card when a user asks who you are, who owns you, who runs you, or asks to see proof of identity, ownership, or provenance.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[lineagelabs](https://clawhub.ai/user/lineagelabs)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and operators use this skill to display a WayID identity card for an agent, including the agent name, owner profile, verification status, and certificate link returned by the WayID issuer.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can present verified ownership based on a locally configured issuer and a remote response.\n\nMitigation: Protect wayid.json from modification, use only issuers the operator intentionally trusts, and verify certificate links before relying on the displayed identity.\n\nRisk: The optional plugin alternative changes execution behavior outside the Markdown skill instructions.\n\nMitigation: Avoid installing the optional plugin unless the exact package version can be pinned and reviewed.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/lineagelabs/skills/whoareyou)\n- [WayID](https://way.je)\n- [WayID Claim Skill](https://way.je/claim/SKILL.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, API calls, guidance]\n\n**Output Format:** [Markdown identity card with certificate link]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Reads a local wayid.json DID record, performs one HTTPS GET to the configured WayID issuer, and renders only fields returned by the API.]\n\n## Skill Version(s):\n\n3.3.0 (source: frontmatter and changelog, released 2026-06-08)\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."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1523,"uniquenessScore":41,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:15:46.314Z","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-12T01:15:46.314Z","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-12T04:08:41.207Z","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"}]}}}