{
  "schemaVersion": "1.0",
  "item": {
    "slug": "jk-archivist-tiktok-packager",
    "name": "TikTok Packager",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/JK-Archivist/jk-archivist-tiktok-packager",
    "canonicalUrl": "https://clawhub.ai/JK-Archivist/jk-archivist-tiktok-packager",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/jk-archivist-tiktok-packager",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=jk-archivist-tiktok-packager",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "_meta.json",
      "requirements.txt",
      "CHANGELOG.md",
      "README.md",
      "package.json",
      "CONTRIBUTING.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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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/jk-archivist-tiktok-packager"
    },
    "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/jk-archivist-tiktok-packager",
    "agentPageUrl": "https://openagent3.xyz/skills/jk-archivist-tiktok-packager/agent",
    "manifestUrl": "https://openagent3.xyz/skills/jk-archivist-tiktok-packager/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/jk-archivist-tiktok-packager/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "JK Archivist TikTok Skill",
        "body": "Generate deterministic, text-driven 6-slide portrait slideshow assets for TikTok-style content."
      },
      {
        "title": "What This Skill Is For",
        "body": "Use this skill when you want:\n\nRepeatable 6-slide visual posts without external image generation\nConsistent dimensions and readable layout for short-form platforms\nA simple contract: input slide copy -> validated PNG outputs + caption text\nA base that can later plug into draft upload workflows (for example via Postiz)\n\nTypical use cases:\n\nBrand or creator intro slides\nEducational mini explainers\nProduct update snapshots\nStory-driven announcement sequences"
      },
      {
        "title": "Quick Start",
        "body": "Install dependencies:\n\npython3 -m pip install -r requirements.txt\n\n\nOptional font override:\n\nexport TIKTOK_FONT_PATH=/absolute/path/to/font.ttf\n\n\nRun:\n\nnode scripts/tiktok-intro-draft.mjs\n\nCustom input modes:\n\nUse your own 6-slide copy file:\n\nnode scripts/tiktok-intro-draft.mjs --spec /absolute/path/to/spec.json\n\n\nAsk the agent to generate copy from a topic:\n\nnode scripts/tiktok-intro-draft.mjs --topic \"your topic\"\n\n\nOptional Postiz draft upload:\n\nnode scripts/tiktok-intro-draft.mjs --postiz\n\nAdvanced modes:\n\n--template intro|educational|product-update|announcement\n--style default|high-contrast|clean|midnight\n--audience beginner|operator|expert\n--cta-pack follow-focused|link-focused|engagement-focused\n--hashtag-policy tcg-default|general\n--locale en|es|fr\n--ab-test caption-cta|style|template\n--dry-run (write spec/review only, skip render/upload)\n--postiz-only (reuse existing rendered slides, upload only)\n--no-upload (force local-only even with --postiz)\n--resume-upload (resume partially uploaded runs)\n--max-retries <n>\n--timeout-ms <n>\n--verbose\n\nTemplate options:\n\nintro\neducational\nproduct-update\nannouncement\n\nStyle options:\n\ndefault\nhigh-contrast\nclean\nmidnight\n\nAudience options:\n\nbeginner\noperator\nexpert\n\nCTA pack options:\n\nfollow-focused\nlink-focused\nengagement-focused\n\nHashtag policy options:\n\ntcg-default\ngeneral"
      },
      {
        "title": "Core Output Contract",
        "body": "Exactly 6 slides\n1024x1536 portrait\nPNG output format\nLarge readable text with safe margins\n\nExpected layout:\n\noutbox/tiktok/intro/YYYY-MM-DD/\n  _slide_spec.json\n  _render_metadata.json\n  slides/slide_01.png ... slide_06.png\n  caption.txt\n  review/review.md\n  review/contact_sheet.png\n  run_log.json\n  upload_state.json (optional)\n  postiz_response.json (optional)"
      },
      {
        "title": "What Can Be Customized",
        "body": "Slide text (any 6-line narrative)\nFont via TIKTOK_FONT_PATH\nCaption behavior via template + CTA + hashtags\nAudience mode and localization\nA/B variant strategy\nOptional Postiz upload controls\n\nTo customize for your use case, change:\n\nThe slides array content (via --spec JSON or topic mode)\nThe caption template in src/node/write-caption.mjs\nHashtag/CTA policy in src/node/hashtags and src/node/cta\nAudience adaptation in src/node/audience\nOptional Postiz env vars if enabling --postiz\n\nSpec format:\n\n{\n  \"slides\": [\n    \"Slide line 1\",\n    \"Slide line 2\",\n    \"Slide line 3\",\n    \"Slide line 4\",\n    \"Slide line 5\",\n    \"Slide line 6\"\n  ],\n  \"caption\": \"Optional caption override\",\n  \"template\": \"intro\",\n  \"audience\": \"operator\",\n  \"ctaPack\": \"follow-focused\",\n  \"hashtagPolicy\": \"tcg-default\",\n  \"hashtagOverrides\": [\"#customtag\"],\n  \"locale\": \"en\",\n  \"ab_test\": {\n    \"strategy\": \"caption-cta\"\n  },\n  \"style\": {\n    \"preset\": \"default\"\n  }\n}"
      },
      {
        "title": "Customization Matrix",
        "body": "NeedOptionUse your own exact slide copy--spec /path/spec.jsonGenerate deterministic copy from a topic--topic \"your topic\"Use a built-in narrative structure--template educational (or others)Change visual style--style high-contrastAdjust reading complexity for target viewers`--audience beginnerChange CTA behavior--cta-pack ...Apply hashtag policy--hashtag-policy ...Add custom hashtags--hashtag #customtag (repeatable)Localize CTA text--locale esGenerate multiple candidates`--ab-test caption-ctaKeep local-only outputrun without --postiz or add --no-uploadUpload optional draft via Postiz--postiz with required env varsResume partial uploads--postiz --resume-uploadTune network/upload behavior--max-retries N --timeout-ms NValidate pipeline without rendering/upload--dry-run"
      },
      {
        "title": "Objective",
        "body": "Generate a deterministic 6-slide TikTok intro slideshow (PNG) + caption and (optionally) upload as a TikTok draft/private post using Postiz. Human publishes manually after selecting trending sound."
      },
      {
        "title": "Draft/Private Upload Rules (Optional)",
        "body": "privacy_level = SELF_ONLY\ncontent_posting_method = UPLOAD"
      },
      {
        "title": "Slide Copy (Exact)",
        "body": "The trading card market runs on messy data.\nPrices fragment. Condition drifts. Signals lie.\nCollectors make real decisions on incomplete info.\nJK Index = market intelligence for TCGs.\nTruth first. No guessing. Built in public.\nAlpha today. Compounding weekly. Brick by brick. 👑🧱"
      },
      {
        "title": "Caption Template (Exact)",
        "body": "TCG prices look certain — until you zoom in.\nJK Index is building the truth layer: clean IDs, real comps, market signals.\nFollow if you want collector-first market intelligence. 👑🧱\n\n#pokemon #tcg #cardcollecting #marketdata #startup"
      },
      {
        "title": "Safety / Never Do",
        "body": "No token mentions\nNo $\nNo buy/sell language\nNo predictions\nNo copyrighted character art\nNo unverified superlatives (e.g., \"guaranteed\", \"most accurate\")"
      },
      {
        "title": "Required/Optional Environment Variables",
        "body": "Required for optional upload mode:\n\nPOSTIZ_API_KEY\nPOSTIZ_TIKTOK_INTEGRATION_ID\n\nOptional:\n\nPOSTIZ_BASE_URL (defaults to https://api.postiz.com/public/v1)\nTIKTOK_FONT_PATH (absolute .ttf path)"
      },
      {
        "title": "References",
        "body": "references/setup.md\nreferences/spec-schema.md\nreferences/renderer-spec.md\nreferences/outputs-and-validation.md\nreferences/troubleshooting.md\nreferences/publish-checklist.md\nexamples/sample-slide-spec.json"
      }
    ],
    "body": "JK Archivist TikTok Skill\n\nGenerate deterministic, text-driven 6-slide portrait slideshow assets for TikTok-style content.\n\nWhat This Skill Is For\n\nUse this skill when you want:\n\nRepeatable 6-slide visual posts without external image generation\nConsistent dimensions and readable layout for short-form platforms\nA simple contract: input slide copy -> validated PNG outputs + caption text\nA base that can later plug into draft upload workflows (for example via Postiz)\n\nTypical use cases:\n\nBrand or creator intro slides\nEducational mini explainers\nProduct update snapshots\nStory-driven announcement sequences\nQuick Start\nInstall dependencies:\npython3 -m pip install -r requirements.txt\nOptional font override:\nexport TIKTOK_FONT_PATH=/absolute/path/to/font.ttf\nRun:\nnode scripts/tiktok-intro-draft.mjs\n\nCustom input modes:\n\nUse your own 6-slide copy file:\nnode scripts/tiktok-intro-draft.mjs --spec /absolute/path/to/spec.json\nAsk the agent to generate copy from a topic:\nnode scripts/tiktok-intro-draft.mjs --topic \"your topic\"\nOptional Postiz draft upload:\nnode scripts/tiktok-intro-draft.mjs --postiz\n\nAdvanced modes:\n\n--template intro|educational|product-update|announcement\n--style default|high-contrast|clean|midnight\n--audience beginner|operator|expert\n--cta-pack follow-focused|link-focused|engagement-focused\n--hashtag-policy tcg-default|general\n--locale en|es|fr\n--ab-test caption-cta|style|template\n--dry-run (write spec/review only, skip render/upload)\n--postiz-only (reuse existing rendered slides, upload only)\n--no-upload (force local-only even with --postiz)\n--resume-upload (resume partially uploaded runs)\n--max-retries <n>\n--timeout-ms <n>\n--verbose\n\nTemplate options:\n\nintro\neducational\nproduct-update\nannouncement\n\nStyle options:\n\ndefault\nhigh-contrast\nclean\nmidnight\n\nAudience options:\n\nbeginner\noperator\nexpert\n\nCTA pack options:\n\nfollow-focused\nlink-focused\nengagement-focused\n\nHashtag policy options:\n\ntcg-default\ngeneral\nCore Output Contract\nExactly 6 slides\n1024x1536 portrait\nPNG output format\nLarge readable text with safe margins\n\nExpected layout:\n\noutbox/tiktok/intro/YYYY-MM-DD/\n  _slide_spec.json\n  _render_metadata.json\n  slides/slide_01.png ... slide_06.png\n  caption.txt\n  review/review.md\n  review/contact_sheet.png\n  run_log.json\n  upload_state.json (optional)\n  postiz_response.json (optional)\n\nWhat Can Be Customized\nSlide text (any 6-line narrative)\nFont via TIKTOK_FONT_PATH\nCaption behavior via template + CTA + hashtags\nAudience mode and localization\nA/B variant strategy\nOptional Postiz upload controls\n\nTo customize for your use case, change:\n\nThe slides array content (via --spec JSON or topic mode)\nThe caption template in src/node/write-caption.mjs\nHashtag/CTA policy in src/node/hashtags and src/node/cta\nAudience adaptation in src/node/audience\nOptional Postiz env vars if enabling --postiz\n\nSpec format:\n\n{\n  \"slides\": [\n    \"Slide line 1\",\n    \"Slide line 2\",\n    \"Slide line 3\",\n    \"Slide line 4\",\n    \"Slide line 5\",\n    \"Slide line 6\"\n  ],\n  \"caption\": \"Optional caption override\",\n  \"template\": \"intro\",\n  \"audience\": \"operator\",\n  \"ctaPack\": \"follow-focused\",\n  \"hashtagPolicy\": \"tcg-default\",\n  \"hashtagOverrides\": [\"#customtag\"],\n  \"locale\": \"en\",\n  \"ab_test\": {\n    \"strategy\": \"caption-cta\"\n  },\n  \"style\": {\n    \"preset\": \"default\"\n  }\n}\n\nCustomization Matrix\nNeed\tOption\nUse your own exact slide copy\t--spec /path/spec.json\nGenerate deterministic copy from a topic\t--topic \"your topic\"\nUse a built-in narrative structure\t--template educational (or others)\nChange visual style\t--style high-contrast\nAdjust reading complexity for target viewers\t`--audience beginner\nChange CTA behavior\t--cta-pack ...\nApply hashtag policy\t--hashtag-policy ...\nAdd custom hashtags\t--hashtag #customtag (repeatable)\nLocalize CTA text\t--locale es\nGenerate multiple candidates\t`--ab-test caption-cta\nKeep local-only output\trun without --postiz or add --no-upload\nUpload optional draft via Postiz\t--postiz with required env vars\nResume partial uploads\t--postiz --resume-upload\nTune network/upload behavior\t--max-retries N --timeout-ms N\nValidate pipeline without rendering/upload\t--dry-run\nPreset: JK Archivist Intro (Exact Contract)\nObjective\n\nGenerate a deterministic 6-slide TikTok intro slideshow (PNG) + caption and (optionally) upload as a TikTok draft/private post using Postiz. Human publishes manually after selecting trending sound.\n\nDraft/Private Upload Rules (Optional)\nprivacy_level = SELF_ONLY\ncontent_posting_method = UPLOAD\nSlide Copy (Exact)\nThe trading card market runs on messy data.\nPrices fragment. Condition drifts. Signals lie.\nCollectors make real decisions on incomplete info.\nJK Index = market intelligence for TCGs.\nTruth first. No guessing. Built in public.\nAlpha today. Compounding weekly. Brick by brick. 👑🧱\nCaption Template (Exact)\n\nTCG prices look certain — until you zoom in. JK Index is building the truth layer: clean IDs, real comps, market signals. Follow if you want collector-first market intelligence. 👑🧱\n\n#pokemon #tcg #cardcollecting #marketdata #startup\n\nSafety / Never Do\nNo token mentions\nNo $\nNo buy/sell language\nNo predictions\nNo copyrighted character art\nNo unverified superlatives (e.g., \"guaranteed\", \"most accurate\")\nRequired/Optional Environment Variables\n\nRequired for optional upload mode:\n\nPOSTIZ_API_KEY\nPOSTIZ_TIKTOK_INTEGRATION_ID\n\nOptional:\n\nPOSTIZ_BASE_URL (defaults to https://api.postiz.com/public/v1)\nTIKTOK_FONT_PATH (absolute .ttf path)\nReferences\nreferences/setup.md\nreferences/spec-schema.md\nreferences/renderer-spec.md\nreferences/outputs-and-validation.md\nreferences/troubleshooting.md\nreferences/publish-checklist.md\nexamples/sample-slide-spec.json"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/JK-Archivist/jk-archivist-tiktok-packager",
    "publisherUrl": "https://clawhub.ai/JK-Archivist/jk-archivist-tiktok-packager",
    "owner": "JK-Archivist",
    "version": "1.6.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/jk-archivist-tiktok-packager",
    "downloadUrl": "https://openagent3.xyz/downloads/jk-archivist-tiktok-packager",
    "agentUrl": "https://openagent3.xyz/skills/jk-archivist-tiktok-packager/agent",
    "manifestUrl": "https://openagent3.xyz/skills/jk-archivist-tiktok-packager/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/jk-archivist-tiktok-packager/agent.md"
  }
}