{
  "schemaVersion": "1.0",
  "item": {
    "slug": "sui-decompile",
    "name": "Sui Decompile",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/EasonC13/sui-decompile",
    "canonicalUrl": "https://clawhub.ai/EasonC13/sui-decompile",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/sui-decompile",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sui-decompile",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "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. 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/sui-decompile"
    },
    "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/sui-decompile",
    "agentPageUrl": "https://openagent3.xyz/skills/sui-decompile/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sui-decompile/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sui-decompile/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": "Sui Decompile Skill",
        "body": "Fetch decompiled source code for on-chain Sui Move packages via block explorers.\n\nGitHub: https://github.com/EasonC13-agent/sui-skills/tree/main/sui-decompile"
      },
      {
        "title": "Suivision (Preferred)",
        "body": "May have official verified source code when available.\n\nURL: https://suivision.xyz/package/{package_id}?tab=Code\n\nBrowser workflow:\n\nbrowser action=open profile=openclaw targetUrl=\"https://suivision.xyz/package/{package_id}?tab=Code\"\nClick module tabs on the left if multiple modules exist\nExtract code:\n\n() => {\n  const rows = document.querySelectorAll('table tr');\n  const lines = [];\n  rows.forEach(r => {\n    const cells = r.querySelectorAll('td');\n    if (cells.length >= 2) lines.push(cells[1].textContent);\n  });\n  return lines.join('\\n');\n}"
      },
      {
        "title": "Suiscan (Alternative)",
        "body": "URL: https://suiscan.xyz/mainnet/object/{package_id}/contracts\n\nBrowser workflow:\n\nbrowser action=open profile=openclaw targetUrl=\"https://suiscan.xyz/mainnet/object/{package_id}/contracts\"\nClick \"Source\" tab (default may show Bytecode)\nClick module tabs if multiple modules\nExtract code:\n\n() => {\n  const rows = document.querySelectorAll('table tr');\n  const lines = [];\n  rows.forEach(r => {\n    const cells = r.querySelectorAll('td');\n    if (cells.length >= 2) lines.push(cells[1].textContent);\n  });\n  return lines.join('\\n') || 'not found';\n}"
      },
      {
        "title": "Multiple Modules",
        "body": "Packages like DeepBook (0xdee9) have multiple modules:\n\nList module tabs from sidebar\nClick each tab, extract code\nSave to separate .move files"
      },
      {
        "title": "Examples",
        "body": "PackageSuivisionSuiscanSui Frameworksuivision.xyz/package/0x2?tab=Codesuiscan.xyz/mainnet/object/0x2/contractsDeepBooksuivision.xyz/package/0xdee9?tab=Codesuiscan.xyz/mainnet/object/0xdee9/contracts"
      },
      {
        "title": "Use with Other Skills",
        "body": "This skill works great with the Sui development skill suite:\n\nsui-move: Write and deploy Move smart contracts. Use sui-decompile to study existing contracts, then use sui-move to write your own.\nsui-coverage: Analyze test coverage. Decompile a contract, write tests for it, then check coverage.\n\nTypical workflow:\n\nsui-decompile - Study how a DeFi protocol works\nsui-move - Write your own contract based on learned patterns\nsui-coverage - Ensure your code is well-tested"
      },
      {
        "title": "Server/Headless Setup",
        "body": "For running on servers without display (CI/CD, VPS, etc.), use Puppeteer with a virtual display to avoid headless detection:\n\n# Install xvfb (virtual framebuffer)\nsudo apt-get install xvfb\n\n# Run with virtual display (avoids headless detection)\nxvfb-run --auto-servernum node scraper.js\n\nPuppeteer example:\n\nconst puppeteer = require('puppeteer');\n\nasync function fetchContractSource(packageId) {\n  const browser = await puppeteer.launch({\n    headless: false,  // Use 'new' headless or false with xvfb\n    args: ['--no-sandbox', '--disable-setuid-sandbox']\n  });\n  \n  const page = await browser.newPage();\n  await page.goto(`https://suivision.xyz/package/${packageId}?tab=Code`);\n  await page.waitForSelector('table tr');\n  \n  const code = await page.evaluate(() => {\n    const rows = document.querySelectorAll('table tr');\n    const lines = [];\n    rows.forEach(r => {\n      const cells = r.querySelectorAll('td');\n      if (cells.length >= 2) lines.push(cells[1].textContent);\n    });\n    return lines.join('\\n');\n  });\n  \n  await browser.close();\n  return code;\n}\n\nWhy xvfb? Some sites detect headless browsers. Running with xvfb-run creates a virtual display, making the browser behave like a real desktop browser."
      },
      {
        "title": "Notes",
        "body": "Suivision may show official verified source (MovebitAudit)\nSuiscan shows Revela decompiled code\nDecompiled code may not compile directly\nClose browser tabs after use!"
      },
      {
        "title": "Related Skills",
        "body": "This skill is part of the Sui development skill suite:\n\nSkillDescriptionsui-decompileFetch and read on-chain contract source codesui-moveWrite and deploy Move smart contractssui-coverageAnalyze test coverage with security analysissui-agent-walletBuild and test DApps frontend\n\nWorkflow:\n\nsui-decompile → sui-move → sui-coverage → sui-agent-wallet\n    Study        Write      Test & Audit   Build DApps\n\nAll skills: https://github.com/EasonC13-agent/sui-skills"
      }
    ],
    "body": "Sui Decompile Skill\n\nFetch decompiled source code for on-chain Sui Move packages via block explorers.\n\nGitHub: https://github.com/EasonC13-agent/sui-skills/tree/main/sui-decompile\n\nSuivision (Preferred)\n\nMay have official verified source code when available.\n\nURL: https://suivision.xyz/package/{package_id}?tab=Code\n\n\nBrowser workflow:\n\nbrowser action=open profile=openclaw targetUrl=\"https://suivision.xyz/package/{package_id}?tab=Code\"\nClick module tabs on the left if multiple modules exist\nExtract code:\n() => {\n  const rows = document.querySelectorAll('table tr');\n  const lines = [];\n  rows.forEach(r => {\n    const cells = r.querySelectorAll('td');\n    if (cells.length >= 2) lines.push(cells[1].textContent);\n  });\n  return lines.join('\\n');\n}\n\nSuiscan (Alternative)\nURL: https://suiscan.xyz/mainnet/object/{package_id}/contracts\n\n\nBrowser workflow:\n\nbrowser action=open profile=openclaw targetUrl=\"https://suiscan.xyz/mainnet/object/{package_id}/contracts\"\nClick \"Source\" tab (default may show Bytecode)\nClick module tabs if multiple modules\nExtract code:\n() => {\n  const rows = document.querySelectorAll('table tr');\n  const lines = [];\n  rows.forEach(r => {\n    const cells = r.querySelectorAll('td');\n    if (cells.length >= 2) lines.push(cells[1].textContent);\n  });\n  return lines.join('\\n') || 'not found';\n}\n\nMultiple Modules\n\nPackages like DeepBook (0xdee9) have multiple modules:\n\nList module tabs from sidebar\nClick each tab, extract code\nSave to separate .move files\nExamples\nPackage\tSuivision\tSuiscan\nSui Framework\tsuivision.xyz/package/0x2?tab=Code\tsuiscan.xyz/mainnet/object/0x2/contracts\nDeepBook\tsuivision.xyz/package/0xdee9?tab=Code\tsuiscan.xyz/mainnet/object/0xdee9/contracts\nUse with Other Skills\n\nThis skill works great with the Sui development skill suite:\n\nsui-move: Write and deploy Move smart contracts. Use sui-decompile to study existing contracts, then use sui-move to write your own.\nsui-coverage: Analyze test coverage. Decompile a contract, write tests for it, then check coverage.\n\nTypical workflow:\n\nsui-decompile - Study how a DeFi protocol works\nsui-move - Write your own contract based on learned patterns\nsui-coverage - Ensure your code is well-tested\nServer/Headless Setup\n\nFor running on servers without display (CI/CD, VPS, etc.), use Puppeteer with a virtual display to avoid headless detection:\n\n# Install xvfb (virtual framebuffer)\nsudo apt-get install xvfb\n\n# Run with virtual display (avoids headless detection)\nxvfb-run --auto-servernum node scraper.js\n\n\nPuppeteer example:\n\nconst puppeteer = require('puppeteer');\n\nasync function fetchContractSource(packageId) {\n  const browser = await puppeteer.launch({\n    headless: false,  // Use 'new' headless or false with xvfb\n    args: ['--no-sandbox', '--disable-setuid-sandbox']\n  });\n  \n  const page = await browser.newPage();\n  await page.goto(`https://suivision.xyz/package/${packageId}?tab=Code`);\n  await page.waitForSelector('table tr');\n  \n  const code = await page.evaluate(() => {\n    const rows = document.querySelectorAll('table tr');\n    const lines = [];\n    rows.forEach(r => {\n      const cells = r.querySelectorAll('td');\n      if (cells.length >= 2) lines.push(cells[1].textContent);\n    });\n    return lines.join('\\n');\n  });\n  \n  await browser.close();\n  return code;\n}\n\n\nWhy xvfb? Some sites detect headless browsers. Running with xvfb-run creates a virtual display, making the browser behave like a real desktop browser.\n\nNotes\nSuivision may show official verified source (MovebitAudit)\nSuiscan shows Revela decompiled code\nDecompiled code may not compile directly\nClose browser tabs after use!\nRelated Skills\n\nThis skill is part of the Sui development skill suite:\n\nSkill\tDescription\nsui-decompile\tFetch and read on-chain contract source code\nsui-move\tWrite and deploy Move smart contracts\nsui-coverage\tAnalyze test coverage with security analysis\nsui-agent-wallet\tBuild and test DApps frontend\n\nWorkflow:\n\nsui-decompile → sui-move → sui-coverage → sui-agent-wallet\n    Study        Write      Test & Audit   Build DApps\n\n\nAll skills: https://github.com/EasonC13-agent/sui-skills"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/EasonC13/sui-decompile",
    "publisherUrl": "https://clawhub.ai/EasonC13/sui-decompile",
    "owner": "EasonC13",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/sui-decompile",
    "downloadUrl": "https://openagent3.xyz/downloads/sui-decompile",
    "agentUrl": "https://openagent3.xyz/skills/sui-decompile/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sui-decompile/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sui-decompile/agent.md"
  }
}