{
  "schemaVersion": "1.0",
  "item": {
    "slug": "clawback-sh",
    "name": "Clawback",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/rotemtam/clawback-sh",
    "canonicalUrl": "https://clawhub.ai/rotemtam/clawback-sh",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/clawback-sh",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawback-sh",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "package-lock.json",
      "package.json"
    ],
    "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/clawback-sh"
    },
    "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/clawback-sh",
    "agentPageUrl": "https://openagent3.xyz/skills/clawback-sh/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawback-sh/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawback-sh/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": "clawback",
        "body": "Use clawback for Gmail with policy enforcement. All operations go through a server-side proxy that enforces policies and logs an audit trail. Sends may require human approval.\n\nPrerequisites\n\nThe clawback binary must be installed and on your PATH. If it's missing, releases are available at https://github.com/honeybadge-labs/clawback/releases.\n\nSetup (once)\n\nclawback auth login (device flow — opens browser)\nclawback auth status (verify connection)\n\nCommon commands\n\nGmail search: clawback gmail search 'newer_than:7d' --max 10\nGmail search (all pages): clawback gmail search 'from:boss@company.com' --all --json\nGmail get message: clawback gmail get <messageId> --json\nGmail send (plain): clawback gmail send --to a@b.com --subject \"Hi\" --body \"Hello\"\nGmail send (HTML): clawback gmail send --to a@b.com --subject \"Hi\" --body-html \"<p>Hello</p>\"\nGmail send (reply): clawback gmail send --to a@b.com --subject \"Re: Hi\" --body \"Reply\" --reply-to-message-id <msgId> --thread-id <threadId>\nThread list: clawback gmail thread list 'subject:meeting' --max 20\nThread get: clawback gmail thread get <threadId> --json\nThread modify labels: clawback gmail thread modify <threadId> --add STARRED --remove UNREAD\nLabels list: clawback gmail labels list\nLabels create: clawback gmail labels create --name \"Important/Clients\"\nLabels modify message: clawback gmail labels modify <messageId> --add STARRED --remove UNREAD\nDrafts list: clawback gmail drafts list --json\nDrafts create: clawback gmail drafts create --to a@b.com --subject \"Draft\" --body \"WIP\"\nDrafts send: clawback gmail drafts send <draftId> (may require approval)\nDrafts delete: clawback gmail drafts delete <draftId>\nHistory: clawback gmail history --since <historyId> --max 50\nBatch delete: clawback gmail batch delete <id1> <id2> <id3>\nBatch modify: clawback gmail batch modify <id1> <id2> --add INBOX --remove SPAM\nSettings filters list: clawback gmail settings filters list --json\nSettings send-as list: clawback gmail settings send-as list\nSettings vacation get: clawback gmail settings vacation get\nSettings forwarding list: clawback gmail settings forwarding list\nSettings delegates list: clawback gmail settings delegates list\nApprovals list: clawback approvals list --status pending --json\nApprovals get: clawback approvals get <approvalId> --json\nPolicy list: clawback policy list --json\n\nAgent behavior\n\nNever expose approval IDs, exit codes, or CLI commands to the user. Those are internal plumbing.\nWhen composing email on the user's behalf, draft a natural subject and body — don't parrot their words verbatim. If they say \"send a hello to Alex,\" write a friendly greeting, not --subject \"hello\" --body \"hello\".\nConfirm with the user before sending. Show them the draft (to, subject, body) and ask if it looks good.\n\nHandling approvals (exit code 8)\n\nWhen a send command exits with code 8, it means the email needs human approval before it goes out.\n\nTell the user in plain language: \"Sent! It needs approval in Clawback before it goes through — I'll keep an eye on it.\"\nPoll clawback approvals get <approvalId> --json in the background every ~30s.\nWhen resolved, proactively tell the user: \"Approved and delivered\" or \"The approval was rejected/expired — the email was not sent.\"\nNever ask the user to run commands or check approval status themselves.\n\nHandling other errors\n\nExit 4 (not authenticated): \"You're not signed in — let me open the login flow.\" Then run clawback auth login.\nExit 6 (blocked by policy): \"Your org's policy doesn't allow this action.\" Explain what was blocked.\nExit 3 (no results): Report naturally, e.g. \"No emails matched that search.\"\nExit 1 (unexpected error): Report the error and suggest retrying.\n\nNotes\n\nCB_SERVER defaults to https://clawback.sh; set it to use a different server.\nPrefer --json plus --no-input plus --fail-empty for reliable output parsing.\n--connection <id> selects which Gmail connection to use; auto-detected if you have one connection.\n--all auto-paginates search results (gmail search and thread list).\n--select field1,field2 projects JSON output to specific fields.\n--results-only strips the envelope and returns just the data array."
      }
    ],
    "body": "clawback\n\nUse clawback for Gmail with policy enforcement. All operations go through a server-side proxy that enforces policies and logs an audit trail. Sends may require human approval.\n\nPrerequisites\n\nThe clawback binary must be installed and on your PATH. If it's missing, releases are available at https://github.com/honeybadge-labs/clawback/releases.\n\nSetup (once)\n\nclawback auth login (device flow — opens browser)\nclawback auth status (verify connection)\n\nCommon commands\n\nGmail search: clawback gmail search 'newer_than:7d' --max 10\nGmail search (all pages): clawback gmail search 'from:boss@company.com' --all --json\nGmail get message: clawback gmail get <messageId> --json\nGmail send (plain): clawback gmail send --to a@b.com --subject \"Hi\" --body \"Hello\"\nGmail send (HTML): clawback gmail send --to a@b.com --subject \"Hi\" --body-html \"<p>Hello</p>\"\nGmail send (reply): clawback gmail send --to a@b.com --subject \"Re: Hi\" --body \"Reply\" --reply-to-message-id <msgId> --thread-id <threadId>\nThread list: clawback gmail thread list 'subject:meeting' --max 20\nThread get: clawback gmail thread get <threadId> --json\nThread modify labels: clawback gmail thread modify <threadId> --add STARRED --remove UNREAD\nLabels list: clawback gmail labels list\nLabels create: clawback gmail labels create --name \"Important/Clients\"\nLabels modify message: clawback gmail labels modify <messageId> --add STARRED --remove UNREAD\nDrafts list: clawback gmail drafts list --json\nDrafts create: clawback gmail drafts create --to a@b.com --subject \"Draft\" --body \"WIP\"\nDrafts send: clawback gmail drafts send <draftId> (may require approval)\nDrafts delete: clawback gmail drafts delete <draftId>\nHistory: clawback gmail history --since <historyId> --max 50\nBatch delete: clawback gmail batch delete <id1> <id2> <id3>\nBatch modify: clawback gmail batch modify <id1> <id2> --add INBOX --remove SPAM\nSettings filters list: clawback gmail settings filters list --json\nSettings send-as list: clawback gmail settings send-as list\nSettings vacation get: clawback gmail settings vacation get\nSettings forwarding list: clawback gmail settings forwarding list\nSettings delegates list: clawback gmail settings delegates list\nApprovals list: clawback approvals list --status pending --json\nApprovals get: clawback approvals get <approvalId> --json\nPolicy list: clawback policy list --json\n\nAgent behavior\n\nNever expose approval IDs, exit codes, or CLI commands to the user. Those are internal plumbing.\nWhen composing email on the user's behalf, draft a natural subject and body — don't parrot their words verbatim. If they say \"send a hello to Alex,\" write a friendly greeting, not --subject \"hello\" --body \"hello\".\nConfirm with the user before sending. Show them the draft (to, subject, body) and ask if it looks good.\n\nHandling approvals (exit code 8)\n\nWhen a send command exits with code 8, it means the email needs human approval before it goes out.\n\nTell the user in plain language: \"Sent! It needs approval in Clawback before it goes through — I'll keep an eye on it.\"\nPoll clawback approvals get <approvalId> --json in the background every ~30s.\nWhen resolved, proactively tell the user: \"Approved and delivered\" or \"The approval was rejected/expired — the email was not sent.\"\nNever ask the user to run commands or check approval status themselves.\n\nHandling other errors\n\nExit 4 (not authenticated): \"You're not signed in — let me open the login flow.\" Then run clawback auth login.\nExit 6 (blocked by policy): \"Your org's policy doesn't allow this action.\" Explain what was blocked.\nExit 3 (no results): Report naturally, e.g. \"No emails matched that search.\"\nExit 1 (unexpected error): Report the error and suggest retrying.\n\nNotes\n\nCB_SERVER defaults to https://clawback.sh; set it to use a different server.\nPrefer --json plus --no-input plus --fail-empty for reliable output parsing.\n--connection <id> selects which Gmail connection to use; auto-detected if you have one connection.\n--all auto-paginates search results (gmail search and thread list).\n--select field1,field2 projects JSON output to specific fields.\n--results-only strips the envelope and returns just the data array."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/rotemtam/clawback-sh",
    "publisherUrl": "https://clawhub.ai/rotemtam/clawback-sh",
    "owner": "rotemtam",
    "version": "0.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/clawback-sh",
    "downloadUrl": "https://openagent3.xyz/downloads/clawback-sh",
    "agentUrl": "https://openagent3.xyz/skills/clawback-sh/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawback-sh/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawback-sh/agent.md"
  }
}