{
  "schemaVersion": "1.0",
  "item": {
    "slug": "bitskins",
    "name": "BitSkins",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/bluesyparty-src/bitskins",
    "canonicalUrl": "https://clawhub.ai/bluesyparty-src/bitskins",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/bitskins",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bitskins",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/bitskins-api.sh",
      "references/websocket.md",
      "references/api-endpoints.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. 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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/bitskins"
    },
    "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/bitskins",
    "agentPageUrl": "https://openagent3.xyz/skills/bitskins/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bitskins/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bitskins/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": "Authentication",
        "body": "All requests to the BitSkins API require authentication via the x-apikey header.\n\nThe API key must be set in the environment variable BITSKINS_API_KEY.\nThe user can obtain their API key from BitSkins account settings after enabling API access.\n\nImportant: Some endpoints (wallet withdrawals, 2FA operations) also require a twofa_code parameter. Always ask the user for their 2FA code when calling these endpoints rather than storing it."
      },
      {
        "title": "Base URL",
        "body": "https://api.bitskins.com"
      },
      {
        "title": "Making Requests",
        "body": "Use the helper script to make API calls:\n\nbash bitskins-api/scripts/bitskins-api.sh <METHOD> <PATH> [JSON_BODY]\n\nExamples:\n\n# GET request (no body)\nbash bitskins-api/scripts/bitskins-api.sh GET /account/profile/me\n\n# POST request with JSON body\nbash bitskins-api/scripts/bitskins-api.sh POST /account/profile/balance\n\n# POST with parameters\nbash bitskins-api/scripts/bitskins-api.sh POST /market/search/730 '{\"limit\":10,\"offset\":0,\"where\":{}}'"
      },
      {
        "title": "Rate Limits",
        "body": "Global: 50 requests per 10 seconds\nMarket search (/market/search/*): 1 request per second\nThese limits are dynamic and may be reduced under heavy server load."
      },
      {
        "title": "Request Format",
        "body": "The API accepts JSON format\nGET requests: no body required\nPOST requests: JSON body with required parameters"
      },
      {
        "title": "Response Format",
        "body": "All responses are JSON. Successful responses contain the data directly. Error responses include error codes documented in references/api-endpoints.md."
      },
      {
        "title": "API Sections Overview",
        "body": "The API is organized into the following sections. See references/api-endpoints.md for the full endpoint reference."
      },
      {
        "title": "Account",
        "body": "Profile: Get session info, balance, update account settings, update trade link, block account\nAffiliate: Get affiliate info, claim money, view reward history, set affiliate code\n2FA: Create, verify, disable, lock/unlock two-factor authentication\nAPI Access: Create or disable API keys"
      },
      {
        "title": "Config",
        "body": "Currency rates: Get current exchange rates\nFee plans: Get available fee plans\nPlatform status: Check if platform is operational"
      },
      {
        "title": "Market (CS2 app_id=730, Dota 2 app_id=570)",
        "body": "Pricing: Get sales history, pricing summaries\nSearch: Browse CS2/Dota 2 markets, search own items, get item details, search by skin name, get filters\nBuy: Buy single item, multiple items, or bulk buy\nWithdraw: Withdraw single or multiple purchased items to Steam\nDelist: Remove single or multiple items from sale\nRelist: Relist single or multiple delisted items\nUpdate price: Change price on single or multiple listed items\nHistory: View item transaction history\nReceipt: Get purchase receipt\nBump: Bump items for visibility, manage bump settings, buy bump packages\nSkins catalog: Get all available skin names for a game\nIn-sell items: Get all currently listed items for a game"
      },
      {
        "title": "Steam",
        "body": "Inventory: List Steam inventory items\nDeposit: Deposit items from Steam to BitSkins\nTrades: View Steam trade offers and their status"
      },
      {
        "title": "Wallet",
        "body": "Stats: Get wallet statistics, KYC limits\nTransactions: List completed and pending transactions\nReports: Generate and download wallet reports"
      },
      {
        "title": "Wallet Deposit",
        "body": "Binance Pay: Create Binance Pay deposit\nCryptocurrency: Get deposit addresses for BTC, LTC, ETH\nGift codes: Redeem gift codes, view used codes\nZen: Create Zen deposit\nCard (Unlimint): Add cards, list cards, deposit via card"
      },
      {
        "title": "Wallet Withdraw",
        "body": "Cryptocurrency: Withdraw to BTC, LTC, ETH addresses\nBinance Pay: Withdraw via Binance Pay\nCard (Unlimint): Withdraw to Visa card"
      },
      {
        "title": "WebSocket",
        "body": "Real-time updates via wss://ws.bitskins.com. See references/websocket.md for details."
      },
      {
        "title": "Searching the Market",
        "body": "The market search endpoints accept where objects for filtering and support limit/offset pagination:\n\n{\n  \"limit\": 20,\n  \"offset\": 0,\n  \"order\": [{\"field\": \"price\", \"order\": \"ASC\"}],\n  \"where\": {\n    \"skin_name\": [\"AK-47 | Redline\"],\n    \"price_from\": 1000,\n    \"price_to\": 5000\n  }\n}\n\nNote: Prices are in cents (e.g., 1000 = $10.00)."
      },
      {
        "title": "Buying Items",
        "body": "To buy an item, you need its id and app_id. Use market search to find items, then:\n\n{\"app_id\": 730, \"id\": \"ITEM_ID\", \"max_price\": 1500}\n\nThe max_price parameter protects against price changes between search and purchase."
      },
      {
        "title": "Listing/Depositing Items",
        "body": "Get Steam inventory: POST /steam/inventory/list\nDeposit items: POST /steam/deposit/many with item IDs and prices\nMonitor trade status: POST /steam/trade/active"
      },
      {
        "title": "Withdrawing Purchased Items",
        "body": "After buying, withdraw to Steam:\n\n{\"app_id\": 730, \"id\": \"ITEM_ID\"}"
      },
      {
        "title": "Important Notes",
        "body": "Always confirm with the user before executing buy, sell, withdraw, or any financial operation\nPrices are in cents (integer values)\nGame IDs: CS2 = 730, Dota 2 = 570\nThe where_mine filter on \"mine\" endpoints accepts: listed, pending_withdrawal, in_queue, given, need_to_withdraw\n2FA codes are time-sensitive; always request fresh codes from the user"
      }
    ],
    "body": "BitSkins API Skill\nAuthentication\n\nAll requests to the BitSkins API require authentication via the x-apikey header.\n\nThe API key must be set in the environment variable BITSKINS_API_KEY. The user can obtain their API key from BitSkins account settings after enabling API access.\n\nImportant: Some endpoints (wallet withdrawals, 2FA operations) also require a twofa_code parameter. Always ask the user for their 2FA code when calling these endpoints rather than storing it.\n\nBase URL\nhttps://api.bitskins.com\n\nMaking Requests\n\nUse the helper script to make API calls:\n\nbash bitskins-api/scripts/bitskins-api.sh <METHOD> <PATH> [JSON_BODY]\n\n\nExamples:\n\n# GET request (no body)\nbash bitskins-api/scripts/bitskins-api.sh GET /account/profile/me\n\n# POST request with JSON body\nbash bitskins-api/scripts/bitskins-api.sh POST /account/profile/balance\n\n# POST with parameters\nbash bitskins-api/scripts/bitskins-api.sh POST /market/search/730 '{\"limit\":10,\"offset\":0,\"where\":{}}'\n\nRate Limits\nGlobal: 50 requests per 10 seconds\nMarket search (/market/search/*): 1 request per second\nThese limits are dynamic and may be reduced under heavy server load.\nRequest Format\nThe API accepts JSON format\nGET requests: no body required\nPOST requests: JSON body with required parameters\nResponse Format\n\nAll responses are JSON. Successful responses contain the data directly. Error responses include error codes documented in references/api-endpoints.md.\n\nAPI Sections Overview\n\nThe API is organized into the following sections. See references/api-endpoints.md for the full endpoint reference.\n\nAccount\nProfile: Get session info, balance, update account settings, update trade link, block account\nAffiliate: Get affiliate info, claim money, view reward history, set affiliate code\n2FA: Create, verify, disable, lock/unlock two-factor authentication\nAPI Access: Create or disable API keys\nConfig\nCurrency rates: Get current exchange rates\nFee plans: Get available fee plans\nPlatform status: Check if platform is operational\nMarket (CS2 app_id=730, Dota 2 app_id=570)\nPricing: Get sales history, pricing summaries\nSearch: Browse CS2/Dota 2 markets, search own items, get item details, search by skin name, get filters\nBuy: Buy single item, multiple items, or bulk buy\nWithdraw: Withdraw single or multiple purchased items to Steam\nDelist: Remove single or multiple items from sale\nRelist: Relist single or multiple delisted items\nUpdate price: Change price on single or multiple listed items\nHistory: View item transaction history\nReceipt: Get purchase receipt\nBump: Bump items for visibility, manage bump settings, buy bump packages\nSkins catalog: Get all available skin names for a game\nIn-sell items: Get all currently listed items for a game\nSteam\nInventory: List Steam inventory items\nDeposit: Deposit items from Steam to BitSkins\nTrades: View Steam trade offers and their status\nWallet\nStats: Get wallet statistics, KYC limits\nTransactions: List completed and pending transactions\nReports: Generate and download wallet reports\nWallet Deposit\nBinance Pay: Create Binance Pay deposit\nCryptocurrency: Get deposit addresses for BTC, LTC, ETH\nGift codes: Redeem gift codes, view used codes\nZen: Create Zen deposit\nCard (Unlimint): Add cards, list cards, deposit via card\nWallet Withdraw\nCryptocurrency: Withdraw to BTC, LTC, ETH addresses\nBinance Pay: Withdraw via Binance Pay\nCard (Unlimint): Withdraw to Visa card\nWebSocket\n\nReal-time updates via wss://ws.bitskins.com. See references/websocket.md for details.\n\nCommon Patterns\nSearching the Market\n\nThe market search endpoints accept where objects for filtering and support limit/offset pagination:\n\n{\n  \"limit\": 20,\n  \"offset\": 0,\n  \"order\": [{\"field\": \"price\", \"order\": \"ASC\"}],\n  \"where\": {\n    \"skin_name\": [\"AK-47 | Redline\"],\n    \"price_from\": 1000,\n    \"price_to\": 5000\n  }\n}\n\n\nNote: Prices are in cents (e.g., 1000 = $10.00).\n\nBuying Items\n\nTo buy an item, you need its id and app_id. Use market search to find items, then:\n\n{\"app_id\": 730, \"id\": \"ITEM_ID\", \"max_price\": 1500}\n\n\nThe max_price parameter protects against price changes between search and purchase.\n\nListing/Depositing Items\nGet Steam inventory: POST /steam/inventory/list\nDeposit items: POST /steam/deposit/many with item IDs and prices\nMonitor trade status: POST /steam/trade/active\nWithdrawing Purchased Items\n\nAfter buying, withdraw to Steam:\n\n{\"app_id\": 730, \"id\": \"ITEM_ID\"}\n\nImportant Notes\nAlways confirm with the user before executing buy, sell, withdraw, or any financial operation\nPrices are in cents (integer values)\nGame IDs: CS2 = 730, Dota 2 = 570\nThe where_mine filter on \"mine\" endpoints accepts: listed, pending_withdrawal, in_queue, given, need_to_withdraw\n2FA codes are time-sensitive; always request fresh codes from the user"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/bluesyparty-src/bitskins",
    "publisherUrl": "https://clawhub.ai/bluesyparty-src/bitskins",
    "owner": "bluesyparty-src",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/bitskins",
    "downloadUrl": "https://openagent3.xyz/downloads/bitskins",
    "agentUrl": "https://openagent3.xyz/skills/bitskins/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bitskins/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bitskins/agent.md"
  }
}