{
  "schemaVersion": "1.0",
  "item": {
    "slug": "clawaifu-selfie",
    "name": "clawaifu - OpenClaw Waifu",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/swancho/clawaifu-selfie",
    "canonicalUrl": "https://clawhub.ai/swancho/clawaifu-selfie",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/clawaifu-selfie",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=clawaifu-selfie",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "grok-selfie.sh"
    ],
    "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/clawaifu-selfie"
    },
    "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/clawaifu-selfie",
    "agentPageUrl": "https://openagent3.xyz/skills/clawaifu-selfie/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawaifu-selfie/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawaifu-selfie/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": "clawaifu - OpenClaw Waifu",
        "body": "GitHub: https://github.com/swancho/clawaifu\n\nEdit a fixed reference image using xAI's Grok Imagine model and send to Telegram."
      },
      {
        "title": "Reference Image",
        "body": "The skill uses a fixed reference image:\n\nhttps://i.redd.it/g4uf70te81uf1.jpeg"
      },
      {
        "title": "When to Use",
        "body": "User says \"send a pic\", \"send me a pic\", \"send a photo\", \"send a selfie\"\nUser asks \"what are you doing?\", \"how are you doing?\", \"where are you?\"\nUser describes a context: \"send a pic wearing...\", \"send a pic at...\""
      },
      {
        "title": "Required Environment Variables",
        "body": "All credentials must be provided via environment variables. Never hardcode credentials.\n\nFAL_KEY=your_fal_api_key          # Required - Get from https://fal.ai/dashboard/keys\nBOT_TOKEN=your_telegram_bot_token  # Required - Get from @BotFather\nTELEGRAM_CHAT_ID=your_chat_id      # Required - Your Telegram chat ID"
      },
      {
        "title": "Usage",
        "body": "./grok-selfie.sh \"<context>\" [mirror|direct] \"<caption>\""
      },
      {
        "title": "Arguments",
        "body": "<context> (required): Scene/situation description\n[mode] (optional): mirror (default) or direct\n<caption> (optional): Message to send with the image"
      },
      {
        "title": "Mode Selection",
        "body": "ModeBest ForKeywordsmirrorOutfit showcases, full-body shotswearing, outfit, fashion, dressdirectLocation shots, close-upscafe, beach, restaurant, portrait"
      },
      {
        "title": "Examples",
        "body": "# Mirror selfie (outfit focus)\n./grok-selfie.sh \"wearing a designer dress\" mirror \"Just got this new dress!\"\n\n# Direct selfie (location focus)\n./grok-selfie.sh \"a fancy rooftop restaurant\" direct \"Date night vibes\"\n\n# Default mode (mirror)\n./grok-selfie.sh \"casual outfit at home\""
      },
      {
        "title": "Character Style",
        "body": "The script generates images of Reze from Chainsaw Man with:\n\nAnime style, 2D animation, cel shading\nGreen eyes, thin line mouth, subtle smile\nBlack choker always visible\nOutfit appropriate for the situation"
      },
      {
        "title": "Security Notes",
        "body": "All credentials are passed via environment variables\nThe script uses jq for safe JSON construction (prevents injection)\nThe script uses curl -F for safe form data transmission\nNever commit credentials to version control"
      },
      {
        "title": "Dependencies",
        "body": "curl - HTTP requests\njq - JSON processing\nEnvironment variables: FAL_KEY, BOT_TOKEN, TELEGRAM_CHAT_ID"
      },
      {
        "title": "Grok Imagine Edit (fal.ai)",
        "body": "POST https://fal.run/xai/grok-imagine-image/edit\nAuthorization: Key $FAL_KEY\nContent-Type: application/json\n\n{\n  \"image_url\": \"reference_image_url\",\n  \"prompt\": \"edit instruction\",\n  \"num_images\": 1,\n  \"output_format\": \"jpeg\"\n}"
      },
      {
        "title": "Telegram Bot API",
        "body": "POST https://api.telegram.org/bot$BOT_TOKEN/sendPhoto\nForm data: chat_id, photo (URL), caption"
      }
    ],
    "body": "clawaifu - OpenClaw Waifu\n\nGitHub: https://github.com/swancho/clawaifu\n\nEdit a fixed reference image using xAI's Grok Imagine model and send to Telegram.\n\nReference Image\n\nThe skill uses a fixed reference image:\n\nhttps://i.redd.it/g4uf70te81uf1.jpeg\n\nWhen to Use\nUser says \"send a pic\", \"send me a pic\", \"send a photo\", \"send a selfie\"\nUser asks \"what are you doing?\", \"how are you doing?\", \"where are you?\"\nUser describes a context: \"send a pic wearing...\", \"send a pic at...\"\nRequired Environment Variables\n\nAll credentials must be provided via environment variables. Never hardcode credentials.\n\nFAL_KEY=your_fal_api_key          # Required - Get from https://fal.ai/dashboard/keys\nBOT_TOKEN=your_telegram_bot_token  # Required - Get from @BotFather\nTELEGRAM_CHAT_ID=your_chat_id      # Required - Your Telegram chat ID\n\nUsage\n./grok-selfie.sh \"<context>\" [mirror|direct] \"<caption>\"\n\nArguments\n<context> (required): Scene/situation description\n[mode] (optional): mirror (default) or direct\n<caption> (optional): Message to send with the image\nMode Selection\nMode\tBest For\tKeywords\nmirror\tOutfit showcases, full-body shots\twearing, outfit, fashion, dress\ndirect\tLocation shots, close-ups\tcafe, beach, restaurant, portrait\nExamples\n# Mirror selfie (outfit focus)\n./grok-selfie.sh \"wearing a designer dress\" mirror \"Just got this new dress!\"\n\n# Direct selfie (location focus)\n./grok-selfie.sh \"a fancy rooftop restaurant\" direct \"Date night vibes\"\n\n# Default mode (mirror)\n./grok-selfie.sh \"casual outfit at home\"\n\nCharacter Style\n\nThe script generates images of Reze from Chainsaw Man with:\n\nAnime style, 2D animation, cel shading\nGreen eyes, thin line mouth, subtle smile\nBlack choker always visible\nOutfit appropriate for the situation\nSecurity Notes\nAll credentials are passed via environment variables\nThe script uses jq for safe JSON construction (prevents injection)\nThe script uses curl -F for safe form data transmission\nNever commit credentials to version control\nDependencies\ncurl - HTTP requests\njq - JSON processing\nEnvironment variables: FAL_KEY, BOT_TOKEN, TELEGRAM_CHAT_ID\nAPI Reference\nGrok Imagine Edit (fal.ai)\nPOST https://fal.run/xai/grok-imagine-image/edit\nAuthorization: Key $FAL_KEY\nContent-Type: application/json\n\n{\n  \"image_url\": \"reference_image_url\",\n  \"prompt\": \"edit instruction\",\n  \"num_images\": 1,\n  \"output_format\": \"jpeg\"\n}\n\nTelegram Bot API\nPOST https://api.telegram.org/bot$BOT_TOKEN/sendPhoto\nForm data: chat_id, photo (URL), caption"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/swancho/clawaifu-selfie",
    "publisherUrl": "https://clawhub.ai/swancho/clawaifu-selfie",
    "owner": "swancho",
    "version": "1.0.14",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/clawaifu-selfie",
    "downloadUrl": "https://openagent3.xyz/downloads/clawaifu-selfie",
    "agentUrl": "https://openagent3.xyz/skills/clawaifu-selfie/agent",
    "manifestUrl": "https://openagent3.xyz/skills/clawaifu-selfie/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/clawaifu-selfie/agent.md"
  }
}