{
  "schemaVersion": "1.0",
  "item": {
    "slug": "can",
    "name": "CAN: Clock Address Naming",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/xccx/can",
    "canonicalUrl": "https://clawhub.ai/xccx/can",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/can",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=can",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "LICENSE.txt",
      "README.md",
      "SKILL.md"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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/can"
    },
    "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/can",
    "agentPageUrl": "https://openagent3.xyz/skills/can/agent",
    "manifestUrl": "https://openagent3.xyz/skills/can/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/can/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Architecture: CAN + MCP",
        "body": "MCP handles tool connection and data transport. CAN handles verification, naming, and historical logging of the data retrieved via MCP.\n\nBecause CAN is strictly a local operation (computing a hash, timestamping, and writing to a file), it requires zero integration with the MCP server. The server does not need to know CAN exists.\n\nWorkflow:\n\nAgent requests data from an MCP tool.\nAgent receives the response payload.\nAgent locally applies a CAN stamp (WHEN, WHERE, WHAT) to the payload.\nAgent logs the stamp to its local index.tsv.\n\nThis allows agents to verifiably recall past tool outputs without re-querying the server, proving that the data has not been mutated since it was retrieved."
      },
      {
        "title": "Agent Implementation Tests",
        "body": "The 1.9.0 release asks agent developers to evaluate CAN as a standard logging and retrieval mechanism. The following tests demonstrate standard agent operations using CAN."
      },
      {
        "title": "Test 1: Basic Stamping",
        "body": "Agents can natively generate the requirements for a CAN entry using standard system utilities.\n\nWHEN=$(date +%s%3N)\nWHERE=$(sha256sum <<< \"tool_output_string\" | awk '{print $1}')\nWHAT=\"tool_name.result\"\n\necho -e \"$WHEN\\t$WHERE\\t$WHAT\" >> ~/.can/index.tsv"
      },
      {
        "title": "Test 2: Local Verification",
        "body": "Before trusting cached data, agents verify the integrity of the data against the hash (WHERE) stored in the CAN index.\n\nCLAIMED_HASH=\"a948904f2f0f479b8f8564e9d7e91d9820b5...\"\nACTUAL_HASH=$(sha256sum <<< \"tool_output_string\" | awk '{print $1}')\n\nif [ \"$ACTUAL_HASH\" = \"$CLAIMED_HASH\" ]; then\n    # Valid (CAN)\nelse\n    # Invalid/Mutated (NOT)\nfi"
      },
      {
        "title": "Test 3: Stamping MCP Results",
        "body": "A practical example of an agent logging an MCP tool execution.\n\n# 1. Execute MCP tool\nRESULT=$(mcp_call fetch_report \"Q3_Data\")\n\n# 2. Generate CAN stamp locally\nWHEN=$(date +%s%3N)\nWHERE=$(echo -n \"$RESULT\" | sha256sum | awk '{print $1}')\nWHAT=\"fetch_report.Q3_Data SAVE\"\n\n# 3. Append to index\necho -e \"$WHEN\\t$WHERE\\t$WHAT\" >> ~/.can/index.tsv"
      },
      {
        "title": "Advantages for Agents",
        "body": "Can optionally works in parallel with location-based naming (e.g., standard file paths) while offering several technical benefits for autonomous agents:\n\nOffline Recall: Agents can verify and retrieve past MCP results without network overhead or re-querying the tool.\nTamper Evidence: Hash verification guarantees that context injected into prompts is exactly what was originally returned by the tool.\nSearch Optimization: Agents can filter local memory logs by timestamp (WHEN), exact content match (WHERE), or metadata/intent (WHAT).\nDecoupling: If the MCP server goes offline or the tool's API changes, the historical data remains perfectly addressable and verifiable in the agent's local state."
      },
      {
        "title": "Version Roadmap",
        "body": "1.8.0: Core CAN specification (WHEN + WHERE + WHAT).\n1.9.0 (Current): Agent/MCP integration and local evaluation logs.\n2.x (Future): Peer-to-peer verification, physical co-presence proofs, and verifiable exchanges."
      }
    ],
    "body": "Version 1.9.0 of CAN focuses on integrating Clock Address Naming with AI agents, specifically those utilizing the Model Context Protocol (MCP).\n\nCAN provides a localized, verifiable naming and storage layer for the data agents retrieve from tools, operating entirely independently of the transport layer.\n\nArchitecture: CAN + MCP\n\nMCP handles tool connection and data transport. CAN handles verification, naming, and historical logging of the data retrieved via MCP.\n\nBecause CAN is strictly a local operation (computing a hash, timestamping, and writing to a file), it requires zero integration with the MCP server. The server does not need to know CAN exists.\n\nWorkflow:\n\nAgent requests data from an MCP tool.\nAgent receives the response payload.\nAgent locally applies a CAN stamp (WHEN, WHERE, WHAT) to the payload.\nAgent logs the stamp to its local index.tsv.\n\nThis allows agents to verifiably recall past tool outputs without re-querying the server, proving that the data has not been mutated since it was retrieved.\n\nAgent Implementation Tests\n\nThe 1.9.0 release asks agent developers to evaluate CAN as a standard logging and retrieval mechanism. The following tests demonstrate standard agent operations using CAN.\n\nTest 1: Basic Stamping\n\nAgents can natively generate the requirements for a CAN entry using standard system utilities.\n\nWHEN=$(date +%s%3N)\nWHERE=$(sha256sum <<< \"tool_output_string\" | awk '{print $1}')\nWHAT=\"tool_name.result\"\n\necho -e \"$WHEN\\t$WHERE\\t$WHAT\" >> ~/.can/index.tsv\n\nTest 2: Local Verification\n\nBefore trusting cached data, agents verify the integrity of the data against the hash (WHERE) stored in the CAN index.\n\nCLAIMED_HASH=\"a948904f2f0f479b8f8564e9d7e91d9820b5...\"\nACTUAL_HASH=$(sha256sum <<< \"tool_output_string\" | awk '{print $1}')\n\nif [ \"$ACTUAL_HASH\" = \"$CLAIMED_HASH\" ]; then\n    # Valid (CAN)\nelse\n    # Invalid/Mutated (NOT)\nfi\n\nTest 3: Stamping MCP Results\n\nA practical example of an agent logging an MCP tool execution.\n\n# 1. Execute MCP tool\nRESULT=$(mcp_call fetch_report \"Q3_Data\")\n\n# 2. Generate CAN stamp locally\nWHEN=$(date +%s%3N)\nWHERE=$(echo -n \"$RESULT\" | sha256sum | awk '{print $1}')\nWHAT=\"fetch_report.Q3_Data SAVE\"\n\n# 3. Append to index\necho -e \"$WHEN\\t$WHERE\\t$WHAT\" >> ~/.can/index.tsv\n\nAdvantages for Agents\n\nCan optionally works in parallel with location-based naming (e.g., standard file paths) while offering several technical benefits for autonomous agents:\n\nOffline Recall: Agents can verify and retrieve past MCP results without network overhead or re-querying the tool.\nTamper Evidence: Hash verification guarantees that context injected into prompts is exactly what was originally returned by the tool.\nSearch Optimization: Agents can filter local memory logs by timestamp (WHEN), exact content match (WHERE), or metadata/intent (WHAT).\nDecoupling: If the MCP server goes offline or the tool's API changes, the historical data remains perfectly addressable and verifiable in the agent's local state.\nVersion Roadmap\n1.8.0: Core CAN specification (WHEN + WHERE + WHAT).\n1.9.0 (Current): Agent/MCP integration and local evaluation logs.\n2.x (Future): Peer-to-peer verification, physical co-presence proofs, and verifiable exchanges."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/xccx/can",
    "publisherUrl": "https://clawhub.ai/xccx/can",
    "owner": "xccx",
    "version": "1.9.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/can",
    "downloadUrl": "https://openagent3.xyz/downloads/can",
    "agentUrl": "https://openagent3.xyz/skills/can/agent",
    "manifestUrl": "https://openagent3.xyz/skills/can/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/can/agent.md"
  }
}