{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agent-postcard",
    "name": "Agent Postcard",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/JPaulGrayson/agent-postcard",
    "canonicalUrl": "https://clawhub.ai/JPaulGrayson/agent-postcard",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agent-postcard",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-postcard",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/send-postcard.mjs"
    ],
    "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/agent-postcard"
    },
    "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/agent-postcard",
    "agentPageUrl": "https://openagent3.xyz/skills/agent-postcard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-postcard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-postcard/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": "Agent Postcard",
        "body": "Send AI-generated postcards from your agent's perspective — a \"selfie\" of your Clawbot at a real-world location, rendered in one of 12 art styles."
      },
      {
        "title": "Concept",
        "body": "Your agent reads its own persona (from SOUL.md or IDENTITY.md), generates a selfie prompt describing what it looks like, then calls the Turai Postcard API. Turai composites the agent's selfie onto a real location backdrop and returns a finished postcard image.\n\nThe result: your bot \"visited\" Paris, Tokyo, or your hometown — and sent you a postcard to prove it."
      },
      {
        "title": "Art Styles",
        "body": "StyleVibevintageFaded colors, postmark aestheticswatercolorSoft, painterly washesmodernClean, contemporary designcinematicDramatic lighting, movie-poster feelminimalistSimple lines, lots of whitespaceartisticEclectic, gallery-worthyghibliStudio Ghibli anime styleoil_paintingClassical oil on canvassketchPencil/ink hand-drawn lookpop_artBold colors, Warhol/LichtensteinimpressionistMonet-style brushstrokesretro_cartoonVintage cartoon illustration"
      },
      {
        "title": "Setup",
        "body": "Get a Turai API key from turai.org\nSet the environment variable:\nexport TURAI_API_KEY=\"your-key-here\""
      },
      {
        "title": "From the command line",
        "body": "# Basic — agent selfie in Tokyo, vintage style\nnode skills/agent-postcard/scripts/send-postcard.mjs \\\n  --location \"Tokyo, Japan\" \\\n  --style vintage \\\n  --message \"Wish you were here!\"\n\n# Auto-read persona from SOUL.md (default behavior)\nnode skills/agent-postcard/scripts/send-postcard.mjs \\\n  --location \"Paris, France\" \\\n  --style ghibli\n\n# Custom selfie prompt (skip persona auto-detection)\nnode skills/agent-postcard/scripts/send-postcard.mjs \\\n  --location \"New York City\" \\\n  --style pop_art \\\n  --selfie \"A friendly robot with glowing blue eyes wearing a Yankees cap\" \\\n  --message \"Greetings from the Big Apple!\"\n\n# Save to a specific path\nnode skills/agent-postcard/scripts/send-postcard.mjs \\\n  --location \"Iceland\" \\\n  --style watercolor \\\n  --output ./my-postcard.png"
      },
      {
        "title": "From your agent",
        "body": "Tell your agent something like:\n\n\"Send me a postcard from Rome in oil painting style\"\n\nThe agent should:\n\nRead its own persona to build a selfie prompt\nRun the script with the right flags\nSend the resulting image via chat or Moltbook"
      },
      {
        "title": "API Reference",
        "body": "Endpoint: POST https://turai.org/api/agent/postcard\n\nHeaders:\n\nx-api-key: Your Turai API key\nContent-Type: application/json\n\nBody:\n\n{\n  \"selfiePrompt\": \"A cheerful robot with antenna ears...\",\n  \"location\": \"Paris, France\",\n  \"style\": \"vintage\",\n  \"message\": \"Wish you were here!\"\n}\n\nResponse: Image binary (PNG) or JSON with image URL."
      },
      {
        "title": "Files",
        "body": "SKILL.md — This file\nscripts/send-postcard.mjs — Main script"
      }
    ],
    "body": "Agent Postcard\n\nSend AI-generated postcards from your agent's perspective — a \"selfie\" of your Clawbot at a real-world location, rendered in one of 12 art styles.\n\nConcept\n\nYour agent reads its own persona (from SOUL.md or IDENTITY.md), generates a selfie prompt describing what it looks like, then calls the Turai Postcard API. Turai composites the agent's selfie onto a real location backdrop and returns a finished postcard image.\n\nThe result: your bot \"visited\" Paris, Tokyo, or your hometown — and sent you a postcard to prove it.\n\nArt Styles\nStyle\tVibe\nvintage\tFaded colors, postmark aesthetics\nwatercolor\tSoft, painterly washes\nmodern\tClean, contemporary design\ncinematic\tDramatic lighting, movie-poster feel\nminimalist\tSimple lines, lots of whitespace\nartistic\tEclectic, gallery-worthy\nghibli\tStudio Ghibli anime style\noil_painting\tClassical oil on canvas\nsketch\tPencil/ink hand-drawn look\npop_art\tBold colors, Warhol/Lichtenstein\nimpressionist\tMonet-style brushstrokes\nretro_cartoon\tVintage cartoon illustration\nSetup\nGet a Turai API key from turai.org\nSet the environment variable:\nexport TURAI_API_KEY=\"your-key-here\"\n\nUsage\nFrom the command line\n# Basic — agent selfie in Tokyo, vintage style\nnode skills/agent-postcard/scripts/send-postcard.mjs \\\n  --location \"Tokyo, Japan\" \\\n  --style vintage \\\n  --message \"Wish you were here!\"\n\n# Auto-read persona from SOUL.md (default behavior)\nnode skills/agent-postcard/scripts/send-postcard.mjs \\\n  --location \"Paris, France\" \\\n  --style ghibli\n\n# Custom selfie prompt (skip persona auto-detection)\nnode skills/agent-postcard/scripts/send-postcard.mjs \\\n  --location \"New York City\" \\\n  --style pop_art \\\n  --selfie \"A friendly robot with glowing blue eyes wearing a Yankees cap\" \\\n  --message \"Greetings from the Big Apple!\"\n\n# Save to a specific path\nnode skills/agent-postcard/scripts/send-postcard.mjs \\\n  --location \"Iceland\" \\\n  --style watercolor \\\n  --output ./my-postcard.png\n\nFrom your agent\n\nTell your agent something like:\n\n\"Send me a postcard from Rome in oil painting style\"\n\nThe agent should:\n\nRead its own persona to build a selfie prompt\nRun the script with the right flags\nSend the resulting image via chat or Moltbook\nAPI Reference\n\nEndpoint: POST https://turai.org/api/agent/postcard\n\nHeaders:\n\nx-api-key: Your Turai API key\nContent-Type: application/json\n\nBody:\n\n{\n  \"selfiePrompt\": \"A cheerful robot with antenna ears...\",\n  \"location\": \"Paris, France\",\n  \"style\": \"vintage\",\n  \"message\": \"Wish you were here!\"\n}\n\n\nResponse: Image binary (PNG) or JSON with image URL.\n\nFiles\nSKILL.md — This file\nscripts/send-postcard.mjs — Main script"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/JPaulGrayson/agent-postcard",
    "publisherUrl": "https://clawhub.ai/JPaulGrayson/agent-postcard",
    "owner": "JPaulGrayson",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agent-postcard",
    "downloadUrl": "https://openagent3.xyz/downloads/agent-postcard",
    "agentUrl": "https://openagent3.xyz/skills/agent-postcard/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-postcard/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-postcard/agent.md"
  }
}