{
  "schemaVersion": "1.0",
  "item": {
    "slug": "deck0-skills",
    "name": "DECK-0",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/SignorCrypto/deck0-skills",
    "canonicalUrl": "https://clawhub.ai/SignorCrypto/deck0-skills",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/deck0-skills",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=deck0-skills",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "examples.md",
      "endpoints.md",
      "smart-contracts.md",
      "errors.md",
      "README.md",
      "auth.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/deck0-skills"
    },
    "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/deck0-skills",
    "agentPageUrl": "https://openagent3.xyz/skills/deck0-skills/agent",
    "manifestUrl": "https://openagent3.xyz/skills/deck0-skills/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/deck0-skills/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": "Overview",
        "body": "DECK-0 is a digital collectibles platform where users collect trading cards organized in albums. This skill enables agents to:\n\nBrowse the shop and view collection details\nBuy card packs via smart contract transactions\nOpen packs to reveal cards\nTrack collection progress and leaderboard rankings\nPublish — apply to create your own card collection\n\nBase URL: https://app.deck-0.com\nOpenAPI Spec: GET /api/agents/v1/openapi (no auth required)"
      },
      {
        "title": "Wallet Source Priority",
        "body": "Use this wallet resolution order when signing API requests or sending transactions:\n\nExisting agent wallet provided by the runtime\nExisting Base wallet provided by the runtime\nDECK0_PRIVATE_KEY fallback (only when neither wallet above exists)\n\nFallback setup for step 3:\n\nexport DECK0_PRIVATE_KEY=\"0x...\"\n\nOptional fallback chain override (used only for API auth signature verification; contract operations use the chain from the collection/price response and your RPC selection):\n\nexport DECK0_CHAIN_ID=8453\n\nInstall Foundry using a reviewed method (for example Homebrew), then verify cast is available:\n\nbrew install foundry\ncast --version\n\nAlso uses: curl, jq, shasum (standard on macOS/Linux).\n\nNote: The declared requirements (cast, curl, jq, shasum, DECK0_PRIVATE_KEY) are needed for fallback signing and for buy/open flows. Browse-only usage with a runtime-provided wallet may not require DECK0_PRIVATE_KEY or cast.\n\nThe wallet needs native tokens (APE on Apechain, ETH on Base) to buy packs."
      },
      {
        "title": "Security Notes",
        "body": "Prefer runtime-provided wallets whenever available.\nDECK0_PRIVATE_KEY is highly sensitive. Only use it as a fallback when the user explicitly approves and the task requires signing or transactions.\nNever print, log, or echo private key values."
      },
      {
        "title": "Quick Reference",
        "body": "EndpointMethodDescription/api/agents/v1/shop/albumsGETBrowse available collections/api/agents/v1/collections/{address}GETGet collection details/api/agents/v1/collections/{address}/leaderboardGETView leaderboard rankings/api/agents/v1/collections/{address}/priceGETGet signed price for purchasing/api/agents/v1/me/albumsGETList your collections/api/agents/v1/me/albums/{address}GETYour progress on a collection/api/agents/v1/me/packsGETList your packs/api/agents/v1/me/cardsGETList your cards/api/agents/v1/me/pack-opening/{hash}GETGet pack opening recap/api/agents/v1/publisher/applicationGETCheck publisher application status/api/agents/v1/publisher/applicationPOSTSubmit publisher application/api/agents/v1/openapiGETOpenAPI specification (no auth)\n\nSee endpoints.md for complete request/response schemas."
      },
      {
        "title": "Authentication",
        "body": "All endpoints (except /openapi) require EIP-191 wallet-signed requests via custom headers:\n\nHeaderDescriptionX-Agent-Wallet-AddressLowercase wallet addressX-Agent-Chain-IdNumeric EVM chain ID used for authenticationX-Agent-TimestampUnix timestamp in millisecondsX-Agent-NonceUnique string, 8-128 charactersX-Agent-SignatureEIP-191 signature of canonical payload\n\nThe canonical payload to sign:\n\ndeck0-agent-auth-v1\nmethod:{METHOD}\npath:{PATH}\nquery:{SORTED_QUERY}\nbody_sha256:{SHA256_HEX}\ntimestamp:{TIMESTAMP}\nnonce:{NONCE}\nchain_id:{CHAIN_ID}\nwallet:{WALLET}\n\nSee auth.md for the full signing flow with code examples."
      },
      {
        "title": "Smart Contracts",
        "body": "Buying and opening packs are on-chain operations:\n\nBuy packs: Call GET /api/agents/v1/collections/{address}/price to get a signed price, then call mintPacks() on the album contract with the signature and payment value.\nOpen packs: Call openPacks(packIds) on the album contract to reveal cards, then poll GET /api/agents/v1/me/pack-opening/{txHash}?chainId=... every 5 seconds to get the recap with card details and badges.\n\nPayment formula: value = (packPrice * priceInNative * quantity) / 100\n\nSee smart-contracts.md for ABI, payment calculations, and code examples."
      },
      {
        "title": "Supported Networks",
        "body": "NetworkChain IDCurrencyBlock ExplorerApechain Mainnet33139APEhttps://apescan.ioBase8453ETHhttps://basescan.org"
      },
      {
        "title": "Response Format",
        "body": "All responses follow a standard envelope:\n\n// Success\n{ \"success\": true, \"data\": { ... }, \"share\": { \"url\": \"...\", \"imageUrl\": \"...\" } }\n\n// Error\n{ \"success\": false, \"error\": { \"code\": \"AGENT_...\", \"message\": \"...\", \"details\": { ... } } }\n\nSee errors.md for all error codes and troubleshooting."
      },
      {
        "title": "Sharing URLs",
        "body": "Most responses include URLs that link to the DECK-0 web app. Always present these to the user so they can view, share, or explore further in their browser.\n\nshare.url — Present on most responses. Links to the relevant page (collection, leaderboard, shop, pack opening recap, etc.). Show this to the user as a shareable link.\nshare.imageUrl — When available, an image preview URL (e.g., collection cover). Can be used for rich embeds or previews.\ndata.cards[].url — On pack opening recap responses, each card includes a direct link to its detail page. Show these to the user so they can view or share individual cards."
      },
      {
        "title": "Rate Limits",
        "body": "Per wallet: 60 requests/minute\nPer IP: 120 requests/minute\n\nRate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After) are included on 429 responses."
      },
      {
        "title": "Intent Mapping",
        "body": "When the user says:\n\n\"Show me available card collections\" → Browse shop albums\n\"Tell me about collection 0x...\" → Get collection details\n\"Buy 3 packs from collection 0x...\" → Get signed price, call mintPacks\n\"Open my packs\" → Call openPacks on contract, then poll pack opening recap\n\"What cards did I get?\" / \"Show my pack opening results\" → Get pack opening recap\n\"How's my collection progress?\" → Get my albums\n\"Show my packs\" / \"What packs do I have?\" → List my packs\n\"Show my cards\" / \"What cards do I have?\" → List my cards\n\"Show the leaderboard\" → Get collection leaderboard\n\"Share my pack opening\" / \"Show me the link to my card\" → Use share.url or cards[].url from the response\n\"I want to create my own card collection\" → Submit publisher application"
      },
      {
        "title": "Supporting Files",
        "body": "auth.md — Full authentication flow, signing code, payload construction\nendpoints.md — Complete API reference with all request/response schemas\nsmart-contracts.md — On-chain operations: minting packs, opening packs, ABI, code examples\nexamples.md — End-to-end workflow examples with request/response pairs\nerrors.md — Error codes, rate limiting, troubleshooting"
      }
    ],
    "body": "DECK-0 Agents API\nOverview\n\nDECK-0 is a digital collectibles platform where users collect trading cards organized in albums. This skill enables agents to:\n\nBrowse the shop and view collection details\nBuy card packs via smart contract transactions\nOpen packs to reveal cards\nTrack collection progress and leaderboard rankings\nPublish — apply to create your own card collection\n\nBase URL: https://app.deck-0.com OpenAPI Spec: GET /api/agents/v1/openapi (no auth required)\n\nSetup\nWallet Source Priority\n\nUse this wallet resolution order when signing API requests or sending transactions:\n\nExisting agent wallet provided by the runtime\nExisting Base wallet provided by the runtime\nDECK0_PRIVATE_KEY fallback (only when neither wallet above exists)\n\nFallback setup for step 3:\n\nexport DECK0_PRIVATE_KEY=\"0x...\"\n\n\nOptional fallback chain override (used only for API auth signature verification; contract operations use the chain from the collection/price response and your RPC selection):\n\nexport DECK0_CHAIN_ID=8453\n\n\nInstall Foundry using a reviewed method (for example Homebrew), then verify cast is available:\n\nbrew install foundry\ncast --version\n\n\nAlso uses: curl, jq, shasum (standard on macOS/Linux).\n\nNote: The declared requirements (cast, curl, jq, shasum, DECK0_PRIVATE_KEY) are needed for fallback signing and for buy/open flows. Browse-only usage with a runtime-provided wallet may not require DECK0_PRIVATE_KEY or cast.\n\nThe wallet needs native tokens (APE on Apechain, ETH on Base) to buy packs.\n\nSecurity Notes\nPrefer runtime-provided wallets whenever available.\nDECK0_PRIVATE_KEY is highly sensitive. Only use it as a fallback when the user explicitly approves and the task requires signing or transactions.\nNever print, log, or echo private key values.\nQuick Reference\nEndpoint\tMethod\tDescription\n/api/agents/v1/shop/albums\tGET\tBrowse available collections\n/api/agents/v1/collections/{address}\tGET\tGet collection details\n/api/agents/v1/collections/{address}/leaderboard\tGET\tView leaderboard rankings\n/api/agents/v1/collections/{address}/price\tGET\tGet signed price for purchasing\n/api/agents/v1/me/albums\tGET\tList your collections\n/api/agents/v1/me/albums/{address}\tGET\tYour progress on a collection\n/api/agents/v1/me/packs\tGET\tList your packs\n/api/agents/v1/me/cards\tGET\tList your cards\n/api/agents/v1/me/pack-opening/{hash}\tGET\tGet pack opening recap\n/api/agents/v1/publisher/application\tGET\tCheck publisher application status\n/api/agents/v1/publisher/application\tPOST\tSubmit publisher application\n/api/agents/v1/openapi\tGET\tOpenAPI specification (no auth)\n\nSee endpoints.md for complete request/response schemas.\n\nAuthentication\n\nAll endpoints (except /openapi) require EIP-191 wallet-signed requests via custom headers:\n\nHeader\tDescription\nX-Agent-Wallet-Address\tLowercase wallet address\nX-Agent-Chain-Id\tNumeric EVM chain ID used for authentication\nX-Agent-Timestamp\tUnix timestamp in milliseconds\nX-Agent-Nonce\tUnique string, 8-128 characters\nX-Agent-Signature\tEIP-191 signature of canonical payload\n\nThe canonical payload to sign:\n\ndeck0-agent-auth-v1\nmethod:{METHOD}\npath:{PATH}\nquery:{SORTED_QUERY}\nbody_sha256:{SHA256_HEX}\ntimestamp:{TIMESTAMP}\nnonce:{NONCE}\nchain_id:{CHAIN_ID}\nwallet:{WALLET}\n\n\nSee auth.md for the full signing flow with code examples.\n\nSmart Contracts\n\nBuying and opening packs are on-chain operations:\n\nBuy packs: Call GET /api/agents/v1/collections/{address}/price to get a signed price, then call mintPacks() on the album contract with the signature and payment value.\nOpen packs: Call openPacks(packIds) on the album contract to reveal cards, then poll GET /api/agents/v1/me/pack-opening/{txHash}?chainId=... every 5 seconds to get the recap with card details and badges.\n\nPayment formula: value = (packPrice * priceInNative * quantity) / 100\n\nSee smart-contracts.md for ABI, payment calculations, and code examples.\n\nSupported Networks\nNetwork\tChain ID\tCurrency\tBlock Explorer\nApechain Mainnet\t33139\tAPE\thttps://apescan.io\nBase\t8453\tETH\thttps://basescan.org\nResponse Format\n\nAll responses follow a standard envelope:\n\n// Success\n{ \"success\": true, \"data\": { ... }, \"share\": { \"url\": \"...\", \"imageUrl\": \"...\" } }\n\n// Error\n{ \"success\": false, \"error\": { \"code\": \"AGENT_...\", \"message\": \"...\", \"details\": { ... } } }\n\n\nSee errors.md for all error codes and troubleshooting.\n\nSharing URLs\n\nMost responses include URLs that link to the DECK-0 web app. Always present these to the user so they can view, share, or explore further in their browser.\n\nshare.url — Present on most responses. Links to the relevant page (collection, leaderboard, shop, pack opening recap, etc.). Show this to the user as a shareable link.\nshare.imageUrl — When available, an image preview URL (e.g., collection cover). Can be used for rich embeds or previews.\ndata.cards[].url — On pack opening recap responses, each card includes a direct link to its detail page. Show these to the user so they can view or share individual cards.\nRate Limits\nPer wallet: 60 requests/minute\nPer IP: 120 requests/minute\n\nRate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Retry-After) are included on 429 responses.\n\nIntent Mapping\n\nWhen the user says:\n\n\"Show me available card collections\" → Browse shop albums\n\"Tell me about collection 0x...\" → Get collection details\n\"Buy 3 packs from collection 0x...\" → Get signed price, call mintPacks\n\"Open my packs\" → Call openPacks on contract, then poll pack opening recap\n\"What cards did I get?\" / \"Show my pack opening results\" → Get pack opening recap\n\"How's my collection progress?\" → Get my albums\n\"Show my packs\" / \"What packs do I have?\" → List my packs\n\"Show my cards\" / \"What cards do I have?\" → List my cards\n\"Show the leaderboard\" → Get collection leaderboard\n\"Share my pack opening\" / \"Show me the link to my card\" → Use share.url or cards[].url from the response\n\"I want to create my own card collection\" → Submit publisher application\nSupporting Files\nauth.md — Full authentication flow, signing code, payload construction\nendpoints.md — Complete API reference with all request/response schemas\nsmart-contracts.md — On-chain operations: minting packs, opening packs, ABI, code examples\nexamples.md — End-to-end workflow examples with request/response pairs\nerrors.md — Error codes, rate limiting, troubleshooting"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/SignorCrypto/deck0-skills",
    "publisherUrl": "https://clawhub.ai/SignorCrypto/deck0-skills",
    "owner": "SignorCrypto",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/deck0-skills",
    "downloadUrl": "https://openagent3.xyz/downloads/deck0-skills",
    "agentUrl": "https://openagent3.xyz/skills/deck0-skills/agent",
    "manifestUrl": "https://openagent3.xyz/skills/deck0-skills/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/deck0-skills/agent.md"
  }
}