{
  "schemaVersion": "1.0",
  "item": {
    "slug": "xiaohongshu-publisher",
    "name": "小红书自动发布助手",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/yuf1011/xiaohongshu-publisher",
    "canonicalUrl": "https://clawhub.ai/yuf1011/xiaohongshu-publisher",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/xiaohongshu-publisher",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=xiaohongshu-publisher",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/gen_cover.py",
      "references/browser-publish.md",
      "references/content-guide.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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/xiaohongshu-publisher"
    },
    "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/xiaohongshu-publisher",
    "agentPageUrl": "https://openagent3.xyz/skills/xiaohongshu-publisher/agent",
    "manifestUrl": "https://openagent3.xyz/skills/xiaohongshu-publisher/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/xiaohongshu-publisher/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": "小红书 Publisher",
        "body": "Create, format, and publish posts to 小红书 (Xiaohongshu/RED) through browser automation."
      },
      {
        "title": "Requirements",
        "body": "Python 3 with Pillow (pip install Pillow or apt install python3-pil)\nCJK fonts — fonts-noto-cjk on Linux (apt install fonts-noto-cjk), or Noto Sans CJK via Homebrew on macOS\nOpenClaw browser tool — access to a browser with the user logged into 小红书 creator portal\nA connected OpenClaw node (or sandbox browser) with Chrome/Chromium for browser automation"
      },
      {
        "title": "Overview",
        "body": "This skill handles the complete 小红书 publishing pipeline:\n\nDraft — Write post content in 小红书 style\nCover — Generate a cover image (1080×1440)\nReview — Send draft to user for approval via messaging channel\nPublish — Use browser automation to post (or deliver for manual posting)"
      },
      {
        "title": "Step 1: Draft Content",
        "body": "Create post content following 小红书 style. See references/content-guide.md for formatting rules, structure, and examples.\n\nKey rules:\n\nTitle ≤20 chars, with emoji hook\nUse --- section breaks, emoji bullets, short paragraphs\nEnd with question CTA + hashtags (8-12 tags)\nSave draft to memory/xiaohongshu-draft.md"
      },
      {
        "title": "Step 2: Generate Cover Image",
        "body": "Run the cover generation script:\n\npython3 <skill-dir>/scripts/gen_cover.py --title \"主标题\" --subtitle \"副标题\" --tags \"标签1,标签2,标签3\" --output /path/to/cover.png\n\nOptions:\n\n--title — Main title (large text, required)\n--subtitle — Subtitle line (medium text, optional)\n--tags — Comma-separated feature tags shown as pills (optional)\n--badge — Top-right badge text (default: \"OpenClaw\")\n--output — Output path (default: cover.png)\n--gradient — Color scheme: purple (default), blue, green, orange, dark\n\nOutput: 1080×1440 PNG with gradient background, decorative elements, CJK text."
      },
      {
        "title": "Step 3: Send for Review",
        "body": "Send the draft content + cover image to the user's messaging channel for review. Format:\n\n📝 小红书草稿 — [主题]\n\n标题：[标题]\n\n[正文内容]\n\n封面图已生成：[path]\n\n请确认：\n✅ 可以发布\n✏️ 需要修改\n❌ 不发\n\nNever auto-publish. Always wait for explicit user approval."
      },
      {
        "title": "Step 4: Publish via Browser",
        "body": "After user approval, publish using browser automation on the configured node.\n\nSee references/browser-publish.md for the complete browser automation steps.\n\nSummary:\n\nNavigate to https://creator.xiaohongshu.com/publish/publish\nEnter title and body text\nUpload cover image via browser upload action\nClick publish"
      },
      {
        "title": "Fallback: Manual Publishing",
        "body": "If browser automation is unavailable (CDP issues, node offline, etc.), send the complete post to the user's channel with all content formatted for easy copy-paste:\n\n📋 小红书发帖内容（请手动发布）\n\n【标题】[标题]\n\n【正文】\n[正文内容]\n\n【标签】[hashtags]\n\n封面图：[path to cover image]"
      },
      {
        "title": "Known Limitations",
        "body": "Mac Chrome CDP: Chrome launched via SSH/node may fail to bind --remote-debugging-port on macOS (GUI session required). If browser start fails, fall back to manual publishing.\nLogin state: 小红书 creator portal requires login. If the session has expired, ask the user to re-login in their browser before proceeding.\nPillow emoji: Pillow cannot render color emoji (NotoColorEmoji.ttf) — use text/icon alternatives in cover images."
      },
      {
        "title": "Cron Integration",
        "body": "This skill works with cron jobs for scheduled daily posting. Typical cron setup:\n\nSchedule: 0 8 * * * (Asia/Shanghai)\nSession: isolated agentTurn\nDelivery: announce to user's channel\n\nThe cron job message should reference this skill and include the content plan/topic for the day."
      }
    ],
    "body": "小红书 Publisher\n\nCreate, format, and publish posts to 小红书 (Xiaohongshu/RED) through browser automation.\n\nRequirements\nPython 3 with Pillow (pip install Pillow or apt install python3-pil)\nCJK fonts — fonts-noto-cjk on Linux (apt install fonts-noto-cjk), or Noto Sans CJK via Homebrew on macOS\nOpenClaw browser tool — access to a browser with the user logged into 小红书 creator portal\nA connected OpenClaw node (or sandbox browser) with Chrome/Chromium for browser automation\nOverview\n\nThis skill handles the complete 小红书 publishing pipeline:\n\nDraft — Write post content in 小红书 style\nCover — Generate a cover image (1080×1440)\nReview — Send draft to user for approval via messaging channel\nPublish — Use browser automation to post (or deliver for manual posting)\nWorkflow\nStep 1: Draft Content\n\nCreate post content following 小红书 style. See references/content-guide.md for formatting rules, structure, and examples.\n\nKey rules:\n\nTitle ≤20 chars, with emoji hook\nUse --- section breaks, emoji bullets, short paragraphs\nEnd with question CTA + hashtags (8-12 tags)\nSave draft to memory/xiaohongshu-draft.md\nStep 2: Generate Cover Image\n\nRun the cover generation script:\n\npython3 <skill-dir>/scripts/gen_cover.py --title \"主标题\" --subtitle \"副标题\" --tags \"标签1,标签2,标签3\" --output /path/to/cover.png\n\n\nOptions:\n\n--title — Main title (large text, required)\n--subtitle — Subtitle line (medium text, optional)\n--tags — Comma-separated feature tags shown as pills (optional)\n--badge — Top-right badge text (default: \"OpenClaw\")\n--output — Output path (default: cover.png)\n--gradient — Color scheme: purple (default), blue, green, orange, dark\n\nOutput: 1080×1440 PNG with gradient background, decorative elements, CJK text.\n\nStep 3: Send for Review\n\nSend the draft content + cover image to the user's messaging channel for review. Format:\n\n📝 小红书草稿 — [主题]\n\n标题：[标题]\n\n[正文内容]\n\n封面图已生成：[path]\n\n请确认：\n✅ 可以发布\n✏️ 需要修改\n❌ 不发\n\n\nNever auto-publish. Always wait for explicit user approval.\n\nStep 4: Publish via Browser\n\nAfter user approval, publish using browser automation on the configured node.\n\nSee references/browser-publish.md for the complete browser automation steps.\n\nSummary:\n\nNavigate to https://creator.xiaohongshu.com/publish/publish\nEnter title and body text\nUpload cover image via browser upload action\nClick publish\nFallback: Manual Publishing\n\nIf browser automation is unavailable (CDP issues, node offline, etc.), send the complete post to the user's channel with all content formatted for easy copy-paste:\n\n📋 小红书发帖内容（请手动发布）\n\n【标题】[标题]\n\n【正文】\n[正文内容]\n\n【标签】[hashtags]\n\n封面图：[path to cover image]\n\nKnown Limitations\nMac Chrome CDP: Chrome launched via SSH/node may fail to bind --remote-debugging-port on macOS (GUI session required). If browser start fails, fall back to manual publishing.\nLogin state: 小红书 creator portal requires login. If the session has expired, ask the user to re-login in their browser before proceeding.\nPillow emoji: Pillow cannot render color emoji (NotoColorEmoji.ttf) — use text/icon alternatives in cover images.\nCron Integration\n\nThis skill works with cron jobs for scheduled daily posting. Typical cron setup:\n\nSchedule: 0 8 * * * (Asia/Shanghai)\nSession: isolated agentTurn\nDelivery: announce to user's channel\n\n\nThe cron job message should reference this skill and include the content plan/topic for the day."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/yuf1011/xiaohongshu-publisher",
    "publisherUrl": "https://clawhub.ai/yuf1011/xiaohongshu-publisher",
    "owner": "yuf1011",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/xiaohongshu-publisher",
    "downloadUrl": "https://openagent3.xyz/downloads/xiaohongshu-publisher",
    "agentUrl": "https://openagent3.xyz/skills/xiaohongshu-publisher/agent",
    "manifestUrl": "https://openagent3.xyz/skills/xiaohongshu-publisher/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/xiaohongshu-publisher/agent.md"
  }
}