{
  "schemaVersion": "1.0",
  "item": {
    "slug": "kasia",
    "name": "Kasia",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/renkasiyas/kasia",
    "canonicalUrl": "https://clawhub.ai/renkasiyas/kasia",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/kasia",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kasia",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/protocol.md",
      "scripts/setup.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/kasia"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/kasia",
    "agentPageUrl": "https://openagent3.xyz/skills/kasia/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kasia/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kasia/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Kasia — Encrypted Messaging on Kaspa",
        "body": "Send and receive encrypted messages on the Kaspa blockchain via the Kasia protocol. Uses mcporter to call kasia-mcp tools."
      },
      {
        "title": "Prerequisites",
        "body": "mcporter installed (npm install -g mcporter)\nkasia-mcp built and configured in config/mcporter.json\nkaspa-mcp configured (same wallet) — needed to broadcast transactions\nWallet mnemonic or private key set in mcporter config\n\nRun scripts/setup.sh to configure automatically:\n\nscripts/setup.sh /path/to/kasia-mcp --mnemonic \"your twelve word phrase\" --network mainnet\n\nVerify: mcporter list kasia (should show 8 tools)"
      },
      {
        "title": "Tools",
        "body": "Call via mcporter call kasia.<tool> from the workspace directory."
      },
      {
        "title": "Read Operations (no transaction needed)",
        "body": "ToolPurposeExamplekasia_get_conversationsList all conversations + statusmcporter call kasia.kasia_get_conversationskasia_get_requestsPending incoming handshakesmcporter call kasia.kasia_get_requestskasia_get_messagesRead decrypted messagesmcporter call kasia.kasia_get_messages address=\"kaspa:q...\"kasia_read_self_stashRead encrypted private datamcporter call kasia.kasia_read_self_stash scope=\"notes\""
      },
      {
        "title": "Write Operations (two-step: generate payload → broadcast)",
        "body": "Write tools return a payload and instructions. Broadcast with kaspa.send_kaspa:\n\n# Step 1: Generate payload\nmcporter call kasia.kasia_send_handshake address=\"kaspa:q...\"\n# Returns: { action, to, amount, payload, instructions }\n\n# Step 2: Broadcast (use the returned values)\nmcporter call 'kaspa.send_kaspa(to: \"kaspa:q...\", amount: \"0.2\", payload: \"<hex>\")'\n\nToolPurposekasia_send_handshakeStart a conversation with someonekasia_accept_handshakeAccept an incoming handshake requestkasia_send_messageSend an encrypted message in an active conversationkasia_write_self_stashStore encrypted private data on-chain"
      },
      {
        "title": "Conversation Flow",
        "body": "Check requests: kasia_get_requests — see pending incoming handshakes\nStart or accept: kasia_send_handshake or kasia_accept_handshake → broadcast with kaspa.send_kaspa\nChat: kasia_send_message → broadcast. Read replies with kasia_get_messages\nPay: Use kaspa.send_kaspa directly for payments (no Kasia-specific tool needed)"
      },
      {
        "title": "Conversation Status",
        "body": "pending_outgoing — You sent a handshake, waiting for acceptance\npending_incoming — Someone sent you a handshake, needs acceptance\nactive — Both sides completed handshake, can exchange messages"
      },
      {
        "title": "Background Polling",
        "body": "For real-time message relay, set up a background poller:\n\nCreate a polling script that calls kasia_get_messages every N seconds\nTrack seen transaction IDs to avoid duplicates\nWrite new messages to a file (e.g., memory/kasia-new-messages.jsonl)\nUse a cron job or heartbeat check to relay new messages to the user\n\nSee references/protocol.md for the full protocol specification and indexer API details."
      },
      {
        "title": "Important",
        "body": "Mainnet only — kasia-mcp enforces mainnet (messaging isn't available on testnet)\nTwo-step writes — Write tools generate payloads; you must broadcast with kaspa.send_kaspa\nSame wallet — kasia-mcp and kaspa-mcp must use the same mnemonic/key\nCosts KAS — Every message is a transaction (~0.2 KAS minimum per tx)"
      }
    ],
    "body": "Kasia — Encrypted Messaging on Kaspa\n\nSend and receive encrypted messages on the Kaspa blockchain via the Kasia protocol. Uses mcporter to call kasia-mcp tools.\n\nPrerequisites\nmcporter installed (npm install -g mcporter)\nkasia-mcp built and configured in config/mcporter.json\nkaspa-mcp configured (same wallet) — needed to broadcast transactions\nWallet mnemonic or private key set in mcporter config\n\nRun scripts/setup.sh to configure automatically:\n\nscripts/setup.sh /path/to/kasia-mcp --mnemonic \"your twelve word phrase\" --network mainnet\n\n\nVerify: mcporter list kasia (should show 8 tools)\n\nTools\n\nCall via mcporter call kasia.<tool> from the workspace directory.\n\nRead Operations (no transaction needed)\nTool\tPurpose\tExample\nkasia_get_conversations\tList all conversations + status\tmcporter call kasia.kasia_get_conversations\nkasia_get_requests\tPending incoming handshakes\tmcporter call kasia.kasia_get_requests\nkasia_get_messages\tRead decrypted messages\tmcporter call kasia.kasia_get_messages address=\"kaspa:q...\"\nkasia_read_self_stash\tRead encrypted private data\tmcporter call kasia.kasia_read_self_stash scope=\"notes\"\nWrite Operations (two-step: generate payload → broadcast)\n\nWrite tools return a payload and instructions. Broadcast with kaspa.send_kaspa:\n\n# Step 1: Generate payload\nmcporter call kasia.kasia_send_handshake address=\"kaspa:q...\"\n# Returns: { action, to, amount, payload, instructions }\n\n# Step 2: Broadcast (use the returned values)\nmcporter call 'kaspa.send_kaspa(to: \"kaspa:q...\", amount: \"0.2\", payload: \"<hex>\")'\n\nTool\tPurpose\nkasia_send_handshake\tStart a conversation with someone\nkasia_accept_handshake\tAccept an incoming handshake request\nkasia_send_message\tSend an encrypted message in an active conversation\nkasia_write_self_stash\tStore encrypted private data on-chain\nConversation Flow\nCheck requests: kasia_get_requests — see pending incoming handshakes\nStart or accept: kasia_send_handshake or kasia_accept_handshake → broadcast with kaspa.send_kaspa\nChat: kasia_send_message → broadcast. Read replies with kasia_get_messages\nPay: Use kaspa.send_kaspa directly for payments (no Kasia-specific tool needed)\nConversation Status\npending_outgoing — You sent a handshake, waiting for acceptance\npending_incoming — Someone sent you a handshake, needs acceptance\nactive — Both sides completed handshake, can exchange messages\nBackground Polling\n\nFor real-time message relay, set up a background poller:\n\nCreate a polling script that calls kasia_get_messages every N seconds\nTrack seen transaction IDs to avoid duplicates\nWrite new messages to a file (e.g., memory/kasia-new-messages.jsonl)\nUse a cron job or heartbeat check to relay new messages to the user\n\nSee references/protocol.md for the full protocol specification and indexer API details.\n\nImportant\nMainnet only — kasia-mcp enforces mainnet (messaging isn't available on testnet)\nTwo-step writes — Write tools generate payloads; you must broadcast with kaspa.send_kaspa\nSame wallet — kasia-mcp and kaspa-mcp must use the same mnemonic/key\nCosts KAS — Every message is a transaction (~0.2 KAS minimum per tx)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/renkasiyas/kasia",
    "publisherUrl": "https://clawhub.ai/renkasiyas/kasia",
    "owner": "renkasiyas",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/kasia",
    "downloadUrl": "https://openagent3.xyz/downloads/kasia",
    "agentUrl": "https://openagent3.xyz/skills/kasia/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kasia/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kasia/agent.md"
  }
}