{
  "schemaVersion": "1.0",
  "item": {
    "slug": "us3",
    "name": "us3-skill",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/qianjunye/us3",
    "canonicalUrl": "https://clawhub.ai/qianjunye/us3",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/us3",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=us3",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "upload.mjs",
      "package-lock.json",
      "package.json",
      "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/us3"
    },
    "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/us3",
    "agentPageUrl": "https://openagent3.xyz/skills/us3/agent",
    "manifestUrl": "https://openagent3.xyz/skills/us3/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/us3/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": "UCloud US3 Storage Skill",
        "body": "Upload files to UCloud US3 object storage and generate public URLs."
      },
      {
        "title": "When to use this skill",
        "body": "Use this skill when:\n\nThe user wants to upload files to cloud storage\nYou need to share files via public URLs\nYou need to store images, videos, or documents in the cloud\nYou need to generate shareable links for files"
      },
      {
        "title": "Prerequisites",
        "body": "UCloud US3 account and bucket from https://www.ucloud.cn/\nSet environment variables:\n\nUS3_PUBLIC_KEY - UCloud Public Key (Token)\nUS3_PRIVATE_KEY - UCloud Private Key\nUS3_BUCKET - Bucket domain (e.g., xqm.cn-sh2.ufileos.com)\nUS3_ENDPOINT - API endpoint (e.g., https://api.ucloud.cn/)"
      },
      {
        "title": "Usage",
        "body": "Upload files and get public URLs:\n\n# Upload a file\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/path/to/file.jpg\"\n\n# Upload with custom key name\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/path/to/file.jpg\" --key \"custom/path/file.jpg\"\n\n# Upload and get URL only\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/path/to/file.jpg\" --url-only"
      },
      {
        "title": "Parameters",
        "body": "--file (required): Local file path to upload\n--key (optional): Custom object key (path) in bucket. If not provided, uses filename\n--url-only (optional): Output only the public URL (default: false)"
      },
      {
        "title": "Examples",
        "body": "# Upload an image\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/screenshot.png\"\n\n# Upload to specific path\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/video.mp4\" --key \"videos/2026/video.mp4\"\n\n# Upload Feishu downloaded image\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/feishu_image_123.png\" --key \"feishu/$(date +%Y%m%d_%H%M%S).png\"\n\n# Get just the URL\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/report.pdf\" --url-only"
      },
      {
        "title": "Output",
        "body": "Returns JSON with upload results:\n\n{\n  \"success\": true,\n  \"url\": \"https://xqm.cn-sh2.ufileos.com/path/to/file.jpg\",\n  \"key\": \"path/to/file.jpg\",\n  \"bucket\": \"xqm.cn-sh2.ufileos.com\",\n  \"size\": 123456\n}\n\nWith --url-only flag, outputs only the URL string:\n\nhttps://xqm.cn-sh2.ufileos.com/path/to/file.jpg"
      },
      {
        "title": "Supported File Types",
        "body": "Images: JPG, PNG, GIF, WEBP, BMP, SVG\nVideos: MP4, MOV, AVI, MKV, WEBM\nDocuments: PDF, DOC, DOCX, TXT, MD\nAudio: MP3, WAV, OGG, M4A\nArchives: ZIP, TAR, GZ\nAny other file type"
      },
      {
        "title": "Upload Feishu Images",
        "body": "When user sends an image via Feishu and wants to share:\n\nImage is auto-downloaded to /tmp/feishu_*.png\nUpload to US3: node upload.mjs --file \"/tmp/feishu_image_123.png\"\nShare the returned public URL"
      },
      {
        "title": "Upload Processed Files",
        "body": "After converting/processing files:\n\n# Convert and upload\nconvert input.jpg -resize 800x600 /tmp/resized.jpg\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/resized.jpg\" --key \"images/resized_$(date +%s).jpg\""
      },
      {
        "title": "Batch Upload",
        "body": "Upload multiple files:\n\nfor file in /tmp/*.png; do\n  node /root/clawdbot/skills/us3/upload.mjs --file \"$file\" --key \"batch/$(basename $file)\"\ndone"
      },
      {
        "title": "Notes",
        "body": "Files are uploaded to a public bucket - URLs are directly accessible\nFile size limit: Check your UCloud US3 plan limits\nThe bucket domain format: bucket-name.region.ufileos.com\nUse meaningful key names for better organization\nAutomatic content-type detection based on file extension"
      },
      {
        "title": "Error Handling",
        "body": "Common errors and solutions:\n\nmissing_credentials: Set all required environment variables\nfile_not_found: Check file path exists\nupload_failed: Check network connection and credentials\ninvalid_bucket: Verify bucket name and region"
      },
      {
        "title": "Integration Tips",
        "body": "Works well with:\n\nfeishu-media: Upload images from Feishu messages\nffmpeg: Upload processed videos\nbaidu-ocr: Upload images before/after OCR processing"
      }
    ],
    "body": "UCloud US3 Storage Skill\n\nUpload files to UCloud US3 object storage and generate public URLs.\n\nWhen to use this skill\n\nUse this skill when:\n\nThe user wants to upload files to cloud storage\nYou need to share files via public URLs\nYou need to store images, videos, or documents in the cloud\nYou need to generate shareable links for files\nPrerequisites\nUCloud US3 account and bucket from https://www.ucloud.cn/\nSet environment variables:\nUS3_PUBLIC_KEY - UCloud Public Key (Token)\nUS3_PRIVATE_KEY - UCloud Private Key\nUS3_BUCKET - Bucket domain (e.g., xqm.cn-sh2.ufileos.com)\nUS3_ENDPOINT - API endpoint (e.g., https://api.ucloud.cn/)\nUsage\n\nUpload files and get public URLs:\n\n# Upload a file\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/path/to/file.jpg\"\n\n# Upload with custom key name\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/path/to/file.jpg\" --key \"custom/path/file.jpg\"\n\n# Upload and get URL only\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/path/to/file.jpg\" --url-only\n\nParameters\n--file (required): Local file path to upload\n--key (optional): Custom object key (path) in bucket. If not provided, uses filename\n--url-only (optional): Output only the public URL (default: false)\nExamples\n# Upload an image\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/screenshot.png\"\n\n# Upload to specific path\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/video.mp4\" --key \"videos/2026/video.mp4\"\n\n# Upload Feishu downloaded image\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/feishu_image_123.png\" --key \"feishu/$(date +%Y%m%d_%H%M%S).png\"\n\n# Get just the URL\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/report.pdf\" --url-only\n\nOutput\n\nReturns JSON with upload results:\n\n{\n  \"success\": true,\n  \"url\": \"https://xqm.cn-sh2.ufileos.com/path/to/file.jpg\",\n  \"key\": \"path/to/file.jpg\",\n  \"bucket\": \"xqm.cn-sh2.ufileos.com\",\n  \"size\": 123456\n}\n\n\nWith --url-only flag, outputs only the URL string:\n\nhttps://xqm.cn-sh2.ufileos.com/path/to/file.jpg\n\nSupported File Types\nImages: JPG, PNG, GIF, WEBP, BMP, SVG\nVideos: MP4, MOV, AVI, MKV, WEBM\nDocuments: PDF, DOC, DOCX, TXT, MD\nAudio: MP3, WAV, OGG, M4A\nArchives: ZIP, TAR, GZ\nAny other file type\nCommon Use Cases\nUpload Feishu Images\n\nWhen user sends an image via Feishu and wants to share:\n\nImage is auto-downloaded to /tmp/feishu_*.png\nUpload to US3: node upload.mjs --file \"/tmp/feishu_image_123.png\"\nShare the returned public URL\nUpload Processed Files\n\nAfter converting/processing files:\n\n# Convert and upload\nconvert input.jpg -resize 800x600 /tmp/resized.jpg\nnode /root/clawdbot/skills/us3/upload.mjs --file \"/tmp/resized.jpg\" --key \"images/resized_$(date +%s).jpg\"\n\nBatch Upload\n\nUpload multiple files:\n\nfor file in /tmp/*.png; do\n  node /root/clawdbot/skills/us3/upload.mjs --file \"$file\" --key \"batch/$(basename $file)\"\ndone\n\nNotes\nFiles are uploaded to a public bucket - URLs are directly accessible\nFile size limit: Check your UCloud US3 plan limits\nThe bucket domain format: bucket-name.region.ufileos.com\nUse meaningful key names for better organization\nAutomatic content-type detection based on file extension\nError Handling\n\nCommon errors and solutions:\n\nmissing_credentials: Set all required environment variables\nfile_not_found: Check file path exists\nupload_failed: Check network connection and credentials\ninvalid_bucket: Verify bucket name and region\nIntegration Tips\n\nWorks well with:\n\nfeishu-media: Upload images from Feishu messages\nffmpeg: Upload processed videos\nbaidu-ocr: Upload images before/after OCR processing"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/qianjunye/us3",
    "publisherUrl": "https://clawhub.ai/qianjunye/us3",
    "owner": "qianjunye",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/us3",
    "downloadUrl": "https://openagent3.xyz/downloads/us3",
    "agentUrl": "https://openagent3.xyz/skills/us3/agent",
    "manifestUrl": "https://openagent3.xyz/skills/us3/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/us3/agent.md"
  }
}