Claim this agent
Agent DossierGITHUB OPENCLEWSafety 89/100

Xpersona Agent

wallet-connect

Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. --- name: wallet-connect description: Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. license: MIT compatibility: Requires Node.js >= 18 and bash. Needs WALLETCONNECT_PROJECT_ID environment variable (free at cloud.

OpenClaw · self-declared
2 GitHub starsTrust evidence available
git clone https://github.com/shiorixbot/wallet-connect-skill.git

Overall rank

#47

Adoption

2 GitHub stars

Trust

Unknown

Freshness

Feb 24, 2026

Freshness

Last checked Feb 24, 2026

Best For

wallet-connect is best for evm, ens workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Overview

Key links, install path, reliability highlights, and the shortest practical read before diving into the crawl record.

Verifiededitorial-content

Overview

Executive Summary

Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. --- name: wallet-connect description: Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. license: MIT compatibility: Requires Node.js >= 18 and bash. Needs WALLETCONNECT_PROJECT_ID environment variable (free at cloud. Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 4/15/2026.

No verified compatibility signals2 GitHub stars

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 24, 2026

Vendor

Shiorixbot

Artifacts

0

Benchmarks

0

Last release

Unpublished

Install & run

Setup Snapshot

git clone https://github.com/shiorixbot/wallet-connect-skill.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    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.

Evidence & Timeline

Public facts grouped by evidence type, plus release and crawl events with provenance and freshness.

Verifiededitorial-content

Public facts

Evidence Ledger

Vendor (1)

Vendor

Shiorixbot

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Adoption (1)

Adoption signal

2 GitHub stars

profilemedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Artifacts & Docs

Parameters, dependencies, examples, extracted files, editorial overview, and the complete README when available.

Self-declaredGITHUB OPENCLEW

Captured outputs

Artifacts Archive

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

text

wallet-connect-skill/
├── SKILL.md              # This file — agent instructions
├── README.md             # Project overview
├── LICENSE
├── package.json          # Root deps (runtime + dev)
├── tsconfig.json         # TypeScript config (noEmit — tsx runs directly)
├── .env.example          # Required env vars template
├── .github/workflows/
│   └── ci.yml            # CI: lint + typecheck + check on Node 20/22
├── src/
│   ├── cli.ts            # CLI entry point
│   ├── types.ts          # Shared TypeScript interfaces
│   ├── storage.ts        # Session persistence (load/save)
│   ├── client.ts         # WC SignClient singleton + address lookup
│   ├── helpers.ts        # Shared utils (ENS, timeout, encoding, account lookup)
│   └── commands/
│       ├── pair.ts       # Pairing command
│       ├── auth.ts       # Authentication (consent sign)
│       ├── sign.ts       # Message signing (EVM + Solana)
│       ├── sign-typed-data.ts # EIP-712 typed data signing (EVM only)
│       ├── send-tx.ts    # Transaction sending (native + token, EVM + Solana)
│       ├── balance.ts    # Balance checking (EVM + Solana)
│       ├── health.ts     # Session health detection (wc_ping)
│       ├── sessions.ts   # Session management (list, whoami, delete)
│       └── tokens.ts     # Token metadata (addresses, decimals)
└── references/
    └── chains.md         # Supported chain IDs and tokens

bash

npm install

bash

tsx src/cli.ts <command> [args]

bash

tsx src/cli.ts pair --chains eip155:1,eip155:42161,solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

bash

tsx src/cli.ts auth --topic <topic>

bash

# All balances for all accounts in a session
tsx src/cli.ts balance --topic <topic>

# Single chain
tsx src/cli.ts balance --topic <topic> --chain eip155:42161

# Direct address (no session needed)
tsx src/cli.ts balance --address 0xC36edF48e21cf395B206352A1819DE658fD7f988 --chain eip155:1

# All sessions, all chains
tsx src/cli.ts balance

Editorial read

Docs & README

Docs source

GITHUB OPENCLEW

Editorial quality

ready

Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. --- name: wallet-connect description: Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. license: MIT compatibility: Requires Node.js >= 18 and bash. Needs WALLETCONNECT_PROJECT_ID environment variable (free at cloud.

Full README

name: wallet-connect description: Connect AI agents to crypto wallets via WalletConnect. Use when the agent needs to pair with a wallet, sign messages, or send transactions (EVM and Solana). Triggers on wallet pairing, crypto payments, transaction signing, or wallet connection requests. license: MIT compatibility: Requires Node.js >= 18 and bash. Needs WALLETCONNECT_PROJECT_ID environment variable (free at cloud.walletconnect.com). Works with any agent that can run shell commands. metadata: author: shiorixbot version: "0.2" repo: https://github.com/shiorixbot/wallet-connect-skill

Wallet Connect Skill

Connect to user's crypto wallet via WalletConnect v2. Supports EVM chains and Solana.

Project Structure

wallet-connect-skill/
├── SKILL.md              # This file — agent instructions
├── README.md             # Project overview
├── LICENSE
├── package.json          # Root deps (runtime + dev)
├── tsconfig.json         # TypeScript config (noEmit — tsx runs directly)
├── .env.example          # Required env vars template
├── .github/workflows/
│   └── ci.yml            # CI: lint + typecheck + check on Node 20/22
├── src/
│   ├── cli.ts            # CLI entry point
│   ├── types.ts          # Shared TypeScript interfaces
│   ├── storage.ts        # Session persistence (load/save)
│   ├── client.ts         # WC SignClient singleton + address lookup
│   ├── helpers.ts        # Shared utils (ENS, timeout, encoding, account lookup)
│   └── commands/
│       ├── pair.ts       # Pairing command
│       ├── auth.ts       # Authentication (consent sign)
│       ├── sign.ts       # Message signing (EVM + Solana)
│       ├── sign-typed-data.ts # EIP-712 typed data signing (EVM only)
│       ├── send-tx.ts    # Transaction sending (native + token, EVM + Solana)
│       ├── balance.ts    # Balance checking (EVM + Solana)
│       ├── health.ts     # Session health detection (wc_ping)
│       ├── sessions.ts   # Session management (list, whoami, delete)
│       └── tokens.ts     # Token metadata (addresses, decimals)
└── references/
    └── chains.md         # Supported chain IDs and tokens

Install

npm install

Requires:

  • Node.js ≥ 18
  • WALLETCONNECT_PROJECT_ID environment variable set

Quick Start

tsx src/cli.ts <command> [args]

Commands

Pair (one-time onboarding)

tsx src/cli.ts pair --chains eip155:1,eip155:42161,solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Output: { uri, qrPath, topic }

Authenticate (consent sign)

tsx src/cli.ts auth --topic <topic>

Output: { address, signature, nonce } after user approves in wallet.

Check Balances (no wallet interaction)

# All balances for all accounts in a session
tsx src/cli.ts balance --topic <topic>

# Single chain
tsx src/cli.ts balance --topic <topic> --chain eip155:42161

# Direct address (no session needed)
tsx src/cli.ts balance --address 0xC36edF48e21cf395B206352A1819DE658fD7f988 --chain eip155:1

# All sessions, all chains
tsx src/cli.ts balance

Output: [{ chain, address, balances: [{ token, balance, raw }] }]

Queries public RPC endpoints — no wallet approval needed.

List Supported Tokens

# Default: Ethereum mainnet
tsx src/cli.ts tokens

# Other chains
tsx src/cli.ts tokens --chain eip155:42161    # Arbitrum
tsx src/cli.ts tokens --chain eip155:10       # Optimism
tsx src/cli.ts tokens --chain eip155:137      # Polygon
tsx src/cli.ts tokens --chain solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Output: { chain, tokens: [{ symbol, name, decimals, address }] }

Delete Session

tsx src/cli.ts delete-session --topic <topic>
tsx src/cli.ts delete-session --address 0xADDRESS

Removes the session from ~/.agent-wallet/sessions.json. Output: { status: "deleted", topic, peerName, accounts }

Check Session Health

# Ping a specific session
tsx src/cli.ts health --topic <topic>
tsx src/cli.ts health --address 0xADDR

# Ping all sessions
tsx src/cli.ts health --all

# Ping all and remove dead sessions automatically
tsx src/cli.ts health --all --clean

Output:

{
  "checked": 2,
  "alive": 1,
  "dead": 1,
  "cleaned": 1,
  "sessions": [
    { "topic": "abc123…", "peerName": "Gem Wallet", "accounts": ["0xC36ed…"], "alive": true },
    { "topic": "def456…", "peerName": "MetaMask", "accounts": ["0xABC…"], "alive": false, "error": "ping timeout" }
  ]
}

Uses wc_sessionPing (15s timeout per session). A dead session means the wallet is offline or the session was disconnected — safe to --clean.

Send Transaction

# EVM: send ETH (supports ENS names)
tsx src/cli.ts send-tx --topic <topic> --chain eip155:1 \
  --to vitalik.eth --amount 0.01

# EVM: send USDC on Arbitrum
tsx src/cli.ts send-tx --topic <topic> --chain eip155:42161 \
  --to 0xRECIPIENT --token USDC --amount 5.0

# EVM: send WETH on Optimism
tsx src/cli.ts send-tx --topic <topic> --chain eip155:10 \
  --to 0xRECIPIENT --token WETH --amount 0.01

# EVM: send DAI on Polygon
tsx src/cli.ts send-tx --topic <topic> --chain eip155:137 \
  --to 0xRECIPIENT --token DAI --amount 100.0

# Solana: send native SOL
tsx src/cli.ts send-tx --topic <topic> --chain solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp \
  --to <PUBKEY> --amount 0.01

# Solana: send SPL USDC
tsx src/cli.ts send-tx --topic <topic> --chain solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp \
  --to <PUBKEY> --token USDC --amount 1.0

Sign Message

# EVM (personal_sign)
tsx src/cli.ts sign --topic <topic> --message "Hello World"

# Solana (solana_signMessage, bs58-encoded)
tsx src/cli.ts sign --topic <topic> --message "Hello World" --chain solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Sign Typed Data (EIP-712)

Signs structured data via eth_signTypedData_v4. EVM only.

# Inline JSON
tsx src/cli.ts sign-typed-data --topic <topic> --data '{"domain":{"name":"MyApp","version":"1","chainId":1},"types":{"Mail":[{"name":"from","type":"address"},{"name":"contents","type":"string"}]},"message":{"from":"0xabc...","contents":"Hello"}}'

# From file
tsx src/cli.ts sign-typed-data --topic <topic> --data @/path/to/typed-data.json

# Explicit chain
tsx src/cli.ts sign-typed-data --topic <topic> --data @payload.json --chain eip155:137

primaryType is inferred automatically from the types object (first non-EIP712Domain key) if not provided.

Output: { status, address, signature, chain, primaryType }

Features

ENS Resolution

EVM --to addresses accept ENS names (e.g. vitalik.eth). Resolved via viem + Ethereum mainnet RPC. Resolution is logged to stderr.

Solana Priority Fees

Solana transactions automatically include priority fees. Fetches recent prioritization fees from RPC and uses the median (p50) value via ComputeBudgetProgram.setComputeUnitPrice. Skips gracefully if RPC fails.

Request Timeout

All wallet requests (auth, sign, send-tx) poll every 10 seconds with status updates to stderr. Timeout after 5 minutes if the user doesn't respond in their wallet.

Onboarding Workflow

When user asks to pair their wallet:

  1. Run pair → get URI + QR path
  2. Send two messages to the user:
    • Message 1: "🔗 Pair your wallet" + QR code image as attachment
    • Message 2: The raw wc: URI wrapped in backticks (tap-to-copy on mobile)
  3. User scans QR or copies URI into wallet app → approves pairing
  4. Run auth → wallet receives consent sign request
  5. User approves → agent stores session topic + verified address
  6. Confirm to user: "✅ Wallet connected"

UX rules:

  • Message 2 must contain ONLY the backtick-wrapped URI — no other text
  • QR code is for desktop/scanning; URI copy is for mobile users
  • The pair command blocks waiting for approval (5 min timeout)
  • Kill the pair process after receiving the paired response, then run auth separately

Transaction Workflow

  1. Agent decides a payment is needed
  2. Message user: "Sending X USDC to 0xABC for [reason]. Please approve in your wallet."
  3. Run send-tx → user gets push notification in wallet
  4. User approves/rejects → agent gets tx hash or rejection
  5. Continue based on outcome

Background Monitoring

When running wallet tasks (pairing, signing, transactions), set up periodic monitoring for pending WalletConnect messages and session events. Poll by re-running the relevant cli.ts commands or checking for active cli.ts processes.

OpenClaw agents: Add a monitor entry to HEARTBEAT.md:

## WalletConnect Session Monitor
- Check for pending WalletConnect messages/events
- If a signing request result or session event came in, report to user
- Check running exec sessions related to cli.ts (process list)

Other agents: Use whatever periodic task mechanism your platform provides (cron, background loop, etc.) to poll for session updates.

Supported Tokens

Tokens supported out of the box:

| Token | EVM Chains | Solana | |-------|-----------|--------| | USDC | ETH, Base, Arbitrum, Optimism, Polygon | ✅ Mainnet | | USDT | ETH, Optimism, Polygon, BSC | ✅ Mainnet | | WETH | ETH, Arbitrum, Base, Optimism, Polygon | — | | DAI | ETH, Arbitrum, Base, Optimism, Polygon | — | | WBTC | ETH, Arbitrum, Optimism, Polygon | — |

Adding New Tokens

Token metadata is centralized in src/commands/tokens.ts. To add a new token:

  1. Open src/commands/tokens.ts
  2. Add an entry to the TOKENS object:
OP: {
  name: "Optimism",
  decimals: 18,
  addresses: {
    "eip155:10": "0x4200000000000000000000000000000000000042",
  },
},
  1. The token is immediately available for send-tx --token OP and shown in balance and tokens commands

Helper functions exported from tokens.ts:

  • getTokenAddress(symbol, chainId) — contract/mint address for a chain
  • getTokenDecimals(symbol) — decimal places (defaults to 18)
  • isSplToken(symbol, chainId) — check if it's an SPL token
  • getTokensForChain(chainId) — list all tokens on a chain

Session Persistence

  • WC client sessions: ~/.agent-wallet/wc-store/ (persistent across runs)
  • App session data: ~/.agent-wallet/sessions.json (accounts, auth status)
  • Sessions are valid until user disconnects from their wallet

Development

npm run lint          # oxlint check
npm run lint:fix      # oxlint auto-fix
npm run format        # oxfmt format
npm run format:check  # oxfmt check (CI)
npm run typecheck     # TypeScript type checking (tsc --noEmit)
npm run check         # Verify CLI loads

CI runs on every push/PR to main (Node 20 + 22).

Environment

  • WALLETCONNECT_PROJECT_ID — required
  • WC_METADATA_NAME — optional (default: "Agent Wallet")
  • WC_METADATA_URL — optional (default: "https://shiorix.com")

Chain Reference

See references/chains.md for supported chain IDs and token addresses.

API & Reliability

Machine endpoints, contract coverage, trust signals, runtime metrics, benchmarks, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Machine interfaces

Contract & API

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/snapshot"
curl -s "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/contract"
curl -s "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/trust"

Operational fit

Reliability & Benchmarks

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Machine Appendix

Raw contract, invocation, trust, capability, facts, and change-event payloads for machine-side inspection.

MissingGITHUB OPENCLEW

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-04-17T03:13:16.704Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "evm",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "ens",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:evm|supported|profile capability:ens|supported|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Shiorixbot",
    "href": "https://github.com/shiorixbot/wallet-connect-skill",
    "sourceUrl": "https://github.com/shiorixbot/wallet-connect-skill",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:21:22.124Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:21:22.124Z",
    "isPublic": true
  },
  {
    "factKey": "traction",
    "category": "adoption",
    "label": "Adoption signal",
    "value": "2 GitHub stars",
    "href": "https://github.com/shiorixbot/wallet-connect-skill",
    "sourceUrl": "https://github.com/shiorixbot/wallet-connect-skill",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:21:22.124Z",
    "isPublic": true
  },
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/shiorixbot-wallet-connect-skill/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub · GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to wallet-connect and adjacent AI workflows.