{
  "schemaVersion": "1.0",
  "item": {
    "slug": "safe-multisig-skill",
    "name": "Safe Multisig Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/openclaw-consensus-bot/safe-multisig-skill",
    "canonicalUrl": "https://clawhub.ai/openclaw-consensus-bot/safe-multisig-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/safe-multisig-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=safe-multisig-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "package-lock.json",
      "package.json",
      "references/example.tx.json",
      "references/examples.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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/safe-multisig-skill"
    },
    "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/safe-multisig-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/safe-multisig-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/safe-multisig-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/safe-multisig-skill/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": "Safe Multisig Skill",
        "body": "TypeScript-strict scripts for interacting with Safe multisig accounts via:\n\nSafe Transaction Service (read state, propose txs, submit confirmations)\nSafe{Core} SDK (create Safes, create txs, compute hashes, sign, execute)\n\nAll scripts use ethers v6, validate inputs (addresses, tx hashes), and output JSON."
      },
      {
        "title": "Quick start",
        "body": "cd <this-skill>\n./scripts/bootstrap.sh\n\n# sanity check network + service\n./scripts/safe_about.sh --chain base"
      },
      {
        "title": "Core scripts",
        "body": "ScriptDescriptioncreate-safe.tsPredict address + optionally deploy a new Safesafe-info.tsFetch Safe info (owners/threshold/nonce)list-pending.tsList pending (queued) multisig transactionssafe_txs_list.tsList all multisig transactions (queued + executed)propose-tx.tsCreate + propose a multisig txapprove-tx.tsAdd an off-chain confirmation for a tx hashexecute-tx.tsExecute a fully-confirmed tx onchain\n\nAll scripts: npx tsx scripts/<name>.ts --help"
      },
      {
        "title": "1) Create a new Safe",
        "body": "npx tsx scripts/create-safe.ts \\\n  --chain base \\\n  --owners 0xOwner1,0xOwner2,0xOwner3 \\\n  --threshold 2\n\nAdd --deploy + SAFE_SIGNER_PRIVATE_KEY to send the deployment tx."
      },
      {
        "title": "2) Get Safe info",
        "body": "npx tsx scripts/safe-info.ts --chain base --safe 0xYourSafe"
      },
      {
        "title": "3) List pending transactions",
        "body": "npx tsx scripts/list-pending.ts --chain base --safe 0xYourSafe"
      },
      {
        "title": "4) Propose a new transaction",
        "body": "Create a tx request JSON (see references/tx_request.schema.json and references/examples.md).\n\nexport SAFE_SIGNER_PRIVATE_KEY=\"...\"\n\nnpx tsx scripts/propose-tx.ts \\\n  --chain base \\\n  --rpc-url \"$BASE_RPC_URL\" \\\n  --tx-file ./references/example.tx.json"
      },
      {
        "title": "5) Confirm (approve) a proposed transaction",
        "body": "export SAFE_SIGNER_PRIVATE_KEY=\"...\"\n\nnpx tsx scripts/approve-tx.ts \\\n  --chain base \\\n  --safe 0xYourSafe \\\n  --safe-tx-hash 0x..."
      },
      {
        "title": "6) Execute a confirmed transaction (onchain)",
        "body": "export SAFE_SIGNER_PRIVATE_KEY=\"...\"\n\nnpx tsx scripts/execute-tx.ts \\\n  --chain base \\\n  --rpc-url \"$BASE_RPC_URL\" \\\n  --safe 0xYourSafe \\\n  --safe-tx-hash 0x..."
      },
      {
        "title": "Configuration",
        "body": "All scripts accept:\n\n--chain <slug> (recommended): e.g. base, base-sepolia, mainnet, arbitrum, optimism\n--tx-service-url <url>: Override the transaction service URL\n--rpc-url <url>: RPC endpoint (or RPC_URL env var)\n--api-key <key>: Safe Transaction Service API key (or SAFE_TX_SERVICE_API_KEY env var)"
      },
      {
        "title": "Security rules",
        "body": "Never paste private keys into chat. Use env vars or files.\nPrefer low-privilege signers and spending limits.\nAlways verify Safe address, chainId / RPC, and nonce before signing."
      },
      {
        "title": "References",
        "body": "references/examples.md — example requests + workflows\nreferences/tx_request.schema.json — tx request JSON shape\nreferences/tx_service_slugs.md — chain slugs + notes"
      }
    ],
    "body": "Safe Multisig Skill\n\nTypeScript-strict scripts for interacting with Safe multisig accounts via:\n\nSafe Transaction Service (read state, propose txs, submit confirmations)\nSafe{Core} SDK (create Safes, create txs, compute hashes, sign, execute)\n\nAll scripts use ethers v6, validate inputs (addresses, tx hashes), and output JSON.\n\nQuick start\ncd <this-skill>\n./scripts/bootstrap.sh\n\n# sanity check network + service\n./scripts/safe_about.sh --chain base\n\nCore scripts\nScript\tDescription\ncreate-safe.ts\tPredict address + optionally deploy a new Safe\nsafe-info.ts\tFetch Safe info (owners/threshold/nonce)\nlist-pending.ts\tList pending (queued) multisig transactions\nsafe_txs_list.ts\tList all multisig transactions (queued + executed)\npropose-tx.ts\tCreate + propose a multisig tx\napprove-tx.ts\tAdd an off-chain confirmation for a tx hash\nexecute-tx.ts\tExecute a fully-confirmed tx onchain\n\nAll scripts: npx tsx scripts/<name>.ts --help\n\nCommon tasks\n1) Create a new Safe\nnpx tsx scripts/create-safe.ts \\\n  --chain base \\\n  --owners 0xOwner1,0xOwner2,0xOwner3 \\\n  --threshold 2\n\n\nAdd --deploy + SAFE_SIGNER_PRIVATE_KEY to send the deployment tx.\n\n2) Get Safe info\nnpx tsx scripts/safe-info.ts --chain base --safe 0xYourSafe\n\n3) List pending transactions\nnpx tsx scripts/list-pending.ts --chain base --safe 0xYourSafe\n\n4) Propose a new transaction\n\nCreate a tx request JSON (see references/tx_request.schema.json and references/examples.md).\n\nexport SAFE_SIGNER_PRIVATE_KEY=\"...\"\n\nnpx tsx scripts/propose-tx.ts \\\n  --chain base \\\n  --rpc-url \"$BASE_RPC_URL\" \\\n  --tx-file ./references/example.tx.json\n\n5) Confirm (approve) a proposed transaction\nexport SAFE_SIGNER_PRIVATE_KEY=\"...\"\n\nnpx tsx scripts/approve-tx.ts \\\n  --chain base \\\n  --safe 0xYourSafe \\\n  --safe-tx-hash 0x...\n\n6) Execute a confirmed transaction (onchain)\nexport SAFE_SIGNER_PRIVATE_KEY=\"...\"\n\nnpx tsx scripts/execute-tx.ts \\\n  --chain base \\\n  --rpc-url \"$BASE_RPC_URL\" \\\n  --safe 0xYourSafe \\\n  --safe-tx-hash 0x...\n\nConfiguration\n\nAll scripts accept:\n\n--chain <slug> (recommended): e.g. base, base-sepolia, mainnet, arbitrum, optimism\n--tx-service-url <url>: Override the transaction service URL\n--rpc-url <url>: RPC endpoint (or RPC_URL env var)\n--api-key <key>: Safe Transaction Service API key (or SAFE_TX_SERVICE_API_KEY env var)\nSecurity rules\nNever paste private keys into chat. Use env vars or files.\nPrefer low-privilege signers and spending limits.\nAlways verify Safe address, chainId / RPC, and nonce before signing.\nReferences\nreferences/examples.md — example requests + workflows\nreferences/tx_request.schema.json — tx request JSON shape\nreferences/tx_service_slugs.md — chain slugs + notes"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/openclaw-consensus-bot/safe-multisig-skill",
    "publisherUrl": "https://clawhub.ai/openclaw-consensus-bot/safe-multisig-skill",
    "owner": "openclaw-consensus-bot",
    "version": "2.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/safe-multisig-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/safe-multisig-skill",
    "agentUrl": "https://openagent3.xyz/skills/safe-multisig-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/safe-multisig-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/safe-multisig-skill/agent.md"
  }
}