{
  "schemaVersion": "1.0",
  "item": {
    "slug": "shitty-email",
    "name": "Shitty Email",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/johanski/shitty-email",
    "canonicalUrl": "https://clawhub.ai/johanski/shitty-email",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/shitty-email",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=shitty-email",
    "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/shitty-email"
    },
    "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/shitty-email",
    "agentPageUrl": "https://openagent3.xyz/skills/shitty-email/agent",
    "manifestUrl": "https://openagent3.xyz/skills/shitty-email/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/shitty-email/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": "Shitty Email - Temporary Inbox Skill",
        "body": "Create disposable email addresses instantly. Perfect for signups, testing, and privacy."
      },
      {
        "title": "When to Use This Skill",
        "body": "Use this skill when the user needs to:\n\nCreate a temporary/disposable email address\nSign up for a service without using their real email\nTest email sending functionality\nWait for a verification or confirmation email\nExtract codes or links from emails"
      },
      {
        "title": "Important: Token Management",
        "body": "When you create an inbox, you receive a token. This token is required for ALL subsequent operations. Always store and reuse the token for the same inbox session."
      },
      {
        "title": "API Reference",
        "body": "Base URL: https://shitty.email"
      },
      {
        "title": "Create a New Inbox",
        "body": "curl -s -X POST https://shitty.email/api/inbox | jq\n\nResponse:\n\n{\n  \"email\": \"abc1234@shitty.email\",\n  \"token\": \"a1b2c3d4e5f6...\"\n}\n\nStore both the email and token - you need the token for all other operations."
      },
      {
        "title": "Check Inbox for Emails",
        "body": "curl -s -H \"X-Session-Token: {token}\" https://shitty.email/api/inbox | jq\n\nResponse:\n\n{\n  \"emails\": [\n    {\n      \"id\": \"msg_a1b2c3d4e5\",\n      \"from\": \"sender@example.com\",\n      \"subject\": \"Welcome!\",\n      \"date\": \"2026-02-03T12:00:00Z\"\n    }\n  ]\n}"
      },
      {
        "title": "Get Full Email Content",
        "body": "Use the id field from the inbox response (e.g. msg_a1b2c3d4e5). This is NOT the email address.\n\ncurl -s -H \"X-Session-Token: {token}\" https://shitty.email/api/email/{email_id} | jq\n\nResponse includes html and text fields with the email body."
      },
      {
        "title": "Extend Inbox Lifetime",
        "body": "Inboxes expire after 1 hour by default. Extend by 1 hour (max 24 hours total):\n\ncurl -s -X POST -H \"X-Session-Token: {token}\" https://shitty.email/api/inbox/extend | jq"
      },
      {
        "title": "Delete Inbox",
        "body": "Clean up when done:\n\ncurl -s -X DELETE -H \"X-Session-Token: {token}\" https://shitty.email/api/inbox"
      },
      {
        "title": "Wait for a Verification Email",
        "body": "Poll the inbox until an email matching criteria arrives:\n\n# Create inbox\nRESPONSE=$(curl -s -X POST https://shitty.email/api/inbox)\nEMAIL=$(echo $RESPONSE | jq -r '.email')\n{token}=$(echo $RESPONSE | jq -r '.token')\n\n# Poll for emails (check every 5 seconds, max 60 seconds)\nfor i in {1..12}; do\n  EMAILS=$(curl -s -H \"X-Session-Token: ${token}\" https://shitty.email/api/inbox)\n  COUNT=$(echo $EMAILS | jq '.emails | length')\n  if [ \"$COUNT\" -gt \"0\" ]; then\n    echo \"Email received!\"\n    echo $EMAILS | jq '.emails[0]'\n    break\n  fi\n  sleep 5\ndone"
      },
      {
        "title": "Extract Verification Code",
        "body": "After receiving an email, extract common verification patterns:\n\n# Get email content\nCONTENT=$(curl -s -H \"X-Session-Token: ${token}\" https://shitty.email/api/email/${email_id} | jq -r '.text')\n\n# Common patterns to look for:\n# - 6-digit codes: grep -oE '[0-9]{6}'\n# - Verification links: grep -oE 'https?://[^ ]+verify[^ ]*'"
      },
      {
        "title": "Best Practices",
        "body": "Reuse tokens - Don't create new inboxes unnecessarily\nPoll responsibly - Wait 5 seconds between checks\nClean up - Delete inbox when done to free resources\nExtend if needed - If waiting for slow emails, extend the inbox"
      },
      {
        "title": "Limitations",
        "body": "Inboxes expire after 1 hour (extendable to 24 hours max)\nEmail size limit: 1MB\nRate limited: Don't spam inbox creation\nNo outbound email - receive only"
      },
      {
        "title": "Example Conversation",
        "body": "User: \"Create a temp email for me\"\n→ Call POST /api/inbox, return the email address, store the token\n\nUser: \"Sign me up for newsletter.example.com\"\n→ Use the temp email to fill the signup form, then poll for confirmation\n\nUser: \"Did I get the confirmation?\"\n→ Check inbox using stored token, report results\n\nUser: \"What's the verification code?\"\n→ Fetch email content, extract the code pattern, return it\n\nUser: \"I'm done, delete the inbox\"\n→ Call DELETE /api/inbox with the token"
      }
    ],
    "body": "Shitty Email - Temporary Inbox Skill\n\nCreate disposable email addresses instantly. Perfect for signups, testing, and privacy.\n\nWhen to Use This Skill\n\nUse this skill when the user needs to:\n\nCreate a temporary/disposable email address\nSign up for a service without using their real email\nTest email sending functionality\nWait for a verification or confirmation email\nExtract codes or links from emails\nImportant: Token Management\n\nWhen you create an inbox, you receive a token. This token is required for ALL subsequent operations. Always store and reuse the token for the same inbox session.\n\nAPI Reference\n\nBase URL: https://shitty.email\n\nCreate a New Inbox\ncurl -s -X POST https://shitty.email/api/inbox | jq\n\n\nResponse:\n\n{\n  \"email\": \"abc1234@shitty.email\",\n  \"token\": \"a1b2c3d4e5f6...\"\n}\n\n\nStore both the email and token - you need the token for all other operations.\n\nCheck Inbox for Emails\ncurl -s -H \"X-Session-Token: {token}\" https://shitty.email/api/inbox | jq\n\n\nResponse:\n\n{\n  \"emails\": [\n    {\n      \"id\": \"msg_a1b2c3d4e5\",\n      \"from\": \"sender@example.com\",\n      \"subject\": \"Welcome!\",\n      \"date\": \"2026-02-03T12:00:00Z\"\n    }\n  ]\n}\n\nGet Full Email Content\n\nUse the id field from the inbox response (e.g. msg_a1b2c3d4e5). This is NOT the email address.\n\ncurl -s -H \"X-Session-Token: {token}\" https://shitty.email/api/email/{email_id} | jq\n\n\nResponse includes html and text fields with the email body.\n\nExtend Inbox Lifetime\n\nInboxes expire after 1 hour by default. Extend by 1 hour (max 24 hours total):\n\ncurl -s -X POST -H \"X-Session-Token: {token}\" https://shitty.email/api/inbox/extend | jq\n\nDelete Inbox\n\nClean up when done:\n\ncurl -s -X DELETE -H \"X-Session-Token: {token}\" https://shitty.email/api/inbox\n\nCommon Workflows\nWait for a Verification Email\n\nPoll the inbox until an email matching criteria arrives:\n\n# Create inbox\nRESPONSE=$(curl -s -X POST https://shitty.email/api/inbox)\nEMAIL=$(echo $RESPONSE | jq -r '.email')\n{token}=$(echo $RESPONSE | jq -r '.token')\n\n# Poll for emails (check every 5 seconds, max 60 seconds)\nfor i in {1..12}; do\n  EMAILS=$(curl -s -H \"X-Session-Token: ${token}\" https://shitty.email/api/inbox)\n  COUNT=$(echo $EMAILS | jq '.emails | length')\n  if [ \"$COUNT\" -gt \"0\" ]; then\n    echo \"Email received!\"\n    echo $EMAILS | jq '.emails[0]'\n    break\n  fi\n  sleep 5\ndone\n\nExtract Verification Code\n\nAfter receiving an email, extract common verification patterns:\n\n# Get email content\nCONTENT=$(curl -s -H \"X-Session-Token: ${token}\" https://shitty.email/api/email/${email_id} | jq -r '.text')\n\n# Common patterns to look for:\n# - 6-digit codes: grep -oE '[0-9]{6}'\n# - Verification links: grep -oE 'https?://[^ ]+verify[^ ]*'\n\nBest Practices\nReuse tokens - Don't create new inboxes unnecessarily\nPoll responsibly - Wait 5 seconds between checks\nClean up - Delete inbox when done to free resources\nExtend if needed - If waiting for slow emails, extend the inbox\nLimitations\nInboxes expire after 1 hour (extendable to 24 hours max)\nEmail size limit: 1MB\nRate limited: Don't spam inbox creation\nNo outbound email - receive only\nExample Conversation\n\nUser: \"Create a temp email for me\" → Call POST /api/inbox, return the email address, store the token\n\nUser: \"Sign me up for newsletter.example.com\" → Use the temp email to fill the signup form, then poll for confirmation\n\nUser: \"Did I get the confirmation?\" → Check inbox using stored token, report results\n\nUser: \"What's the verification code?\" → Fetch email content, extract the code pattern, return it\n\nUser: \"I'm done, delete the inbox\" → Call DELETE /api/inbox with the token"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/johanski/shitty-email",
    "publisherUrl": "https://clawhub.ai/johanski/shitty-email",
    "owner": "johanski",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/shitty-email",
    "downloadUrl": "https://openagent3.xyz/downloads/shitty-email",
    "agentUrl": "https://openagent3.xyz/skills/shitty-email/agent",
    "manifestUrl": "https://openagent3.xyz/skills/shitty-email/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/shitty-email/agent.md"
  }
}