tiktok-video-publishing — Claude Code skill: TikTok video publishing
Configures a TikTok video publish through WoopSocial and writes a search-first caption. Useful once the clip is filmed and the upload needs to be set up right.
npx skills add social-media-skills/skills --skill tiktok-video-publishing -a claude-codeWhat tiktok-video-publishing does
The skill handles the publish config and the caption copy. It does not film or edit anything: the video file comes from a human or from separate video skills, and WoopSocial uploads it as raw bytes with postType=VIDEO, auto-disclosing AI on TikTok's side.
It follows the REACH framework. The caption is treated as search, so the primary keyword leads, followed by the value proposition and secondary keywords with niche hashtags. allowComment, allowDuet and allowStitch stay on for reach, a legible title-card cover carries the profile grid, and the isBrandedContent and isYourBrand flags get set truthfully. Before any of that, the skill reads brand-profile, goals-and-kpis and the script or video.
One sharp edge: WoopSocial has no update endpoint. Editing a published post means deleting and recreating it, and only while the status is NOT_STARTED. Trending sound, the pinned comment and replies stay native or human work, metrics are never fabricated, and the skill makes no promise about landing on the For You feed.
What it helps with
- write a caption that ranks in TikTok search
- set privacy and branded-content disclosure flags
- turn on duet and stitch for reach
- pick a cover frame for the profile grid
- validate video specs before publishing
Example prompts for the agent
- Publish this video to TikTok via WoopSocial with postType VIDEO and a search-optimized caption
- Configure the upload: privacyLevel from platform-inputs, duet and stitch on, title-card cover
- Set isBrandedContent and isYourBrand truthfully and lead the caption with #ad
How to install tiktok-video-publishing
1Skills CLI (Vercel)
npx skills add social-media-skills/skills --skill tiktok-video-publishing -a claude-code2Manually: put the files in place
~/.claude/skills/tiktok-video-publishing/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/tiktok-video-publishing/
1Skills CLI (Vercel)
npx skills add social-media-skills/skills --skill tiktok-video-publishing -a codex2Manually: put the files in place
.agents/skills/tiktok-video-publishing/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add social-media-skills/skills --skill tiktok-video-publishing -a cursor2Manually: put the files in place
.cursor/skills/tiktok-video-publishing/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install social-media-skills/skills tiktok-video-publishing2Manually: put the files in place
.github/skills/tiktok-video-publishing/SKILL.md1Skills CLI (Vercel)
npx skills add social-media-skills/skills --skill tiktok-video-publishing -a gemini-cli2Platform CLI
gemini skills install https://github.com/social-media-skills/skills --path skills/tiktok-video-publishingManually: put the files in place
.devin/skills/tiktok-video-publishing/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add social-media-skills/skills --skill tiktok-video-publishing -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about tiktok-video-publishing
How do I install tiktok-video-publishing in Claude?
Run npx skills add social-media-skills/skills --skill tiktok-video-publishing -a claude-code. The skill file then sits at ~/.claude/skills/tiktok-video-publishing/SKILL.md.
What does tiktok-video-publishing do?
It configures a TikTok video publish and writes the caption for search: primary keyword up front, secondary keywords and niche hashtags, a title-card cover, truthful disclosure flags.
Can I edit a video after it is published?
No. WoopSocial has no update endpoint, so an edit means deleting and recreating the post, and only while the status is NOT_STARTED.
Source text
SKILL.md · MIT
--- name: tiktok-video-publishing description: >- The TikTok VIDEO publish-config skill. Use when someone wants to "publish/schedule a TikTok video," "configure a TikTok upload," set the caption/cover/privacy/duet-stitch/disclosure, or post a TikTok video via WoopSocial (postType VIDEO). Configures the publish for reach, discovery, and compliant disclosure AND writes the search-optimized caption: the caption is search (lead-load the primary keyword), duet/ stitch ON is free distribution, the cover frame wins the profile grid + search, and the disclosure flags (isBrandedContent/isYourBrand) are set truthfully. Uses the REACH framework. Reads brand-profile + goals-and-kpis + the script/video first. The VIDEO FILE is filmed by a human or made by the video skills (not WoopSocial); WoopSocial publishes via raw-bytes upload and auto-discloses AI on TikTok; trending sound / pinned comment / replies are native or human; no update endpoint (edit = delete+recreate); metrics never fabricated. Distinct from tiktok-script (the VIDEO SCRIPT) and tiktok-photo-mode (PHOTO). version: 1.0.0 --- # tiktok-video-publishing A **format-execution skill** — configure the TikTok VIDEO publish for reach + discovery + compliant disclosure **and** write the search-optimized caption. The agent **configures the publish + writes the caption**; the **video FILE is an input**; **WoopSocial publishes via `postType=VIDEO`** and auto-discloses AI on TikTok. ## The POV: the publish config is the most controllable reach layer The script gets filmed once, but the **publish config is set at upload and is the most controllable reach/ SEO layer.** Four levers: the **caption is search** (TikTok is a search engine; only the first ~100–150 chars show — lead with the primary keyword, not a teaser); **duet/stitch ON is free distribution** (others remixing your video grows its engagement cluster); the **cover frame wins the profile grid + search**; and **disclosure** (the `isBrandedContent`/`isYourBrand` flags) keeps you compliant. The **video file is an input** — this skill makes it **land correctly and get found.** ## Read these first 1. **brand-profile** — voice/niche (and the search phrasing the audience uses). 2. **goals-and-kpis** — the goal (reach / saves / shop conversions). 3. the **script/video** (often from **tiktok-script**) — the topic to optimize the caption around. ## The framework: REACH (Depth: `references/the-reach-framework.md`.) - **R — Rank the caption:** lead-load the primary keyword (first ~100 chars) → value-prop → secondary keywords + niche hashtags; long-tail; mirror in on-screen text. - **E — Engage-open settings:** `allowComment`/`allowDuet`/`allowStitch` **ON** for reach (restrict only for genuine brand-safety). - **A — Attract with the cover:** a legible title-card `cover` image (the video's cover/thumbnail) that wins the profile grid + search. - **C — Confirm disclosure:** `isBrandedContent`/`isYourBrand` **truthfully**, #ad up front; AI auto-disclosed on TikTok but **prohibited AI uses stay prohibited**; branded content can't be private. - **H — Handle mode + specs + validate:** `privacyLevel` from platform-inputs; `DIRECT_POST` vs `MEDIA_UPLOAD` (trending sound); 1080×1920 9:16, ≤1GB, cap from `maxVideoPostDurationSec`; **validate**; no update → delete+recreate. ## The reality (verify-quarterly) Caption-as-search (first ~100 chars, long-tail, Google surfacing, hashtag lift, pinned-comment = native); duet/stitch/comments as reach levers; cover wins profile grid + search; privacy + disclosure (branded vs your-brand, AI labels/prohibited uses, branded-can't-be-private); specs + length + DIRECT_POST vs MEDIA_UPLOAD (trending sound): `references/video-publishing-2026-reality.md`. Caption-SEO formula, reach-settings defaults, the full VIDEO publish-config block + worked examples: `references/publish-config-and-recipes.md`. ## Honest scope (never violate) - **The agent configures the publish + writes the caption.** The **video FILE is filmed by a human or made by the video skills** (`veo-3`/`luma`/`kling` + edited) — **WoopSocial doesn't film/edit/generate video.** - **WoopSocial publishes via `postType=VIDEO`** (raw-bytes upload) and **auto-discloses AI on TikTok.** **No update** → edit = delete + recreate (only while `NOT_STARTED`). - **Native/human:** **pinned comment + replies** (no comment surface) and **licensed trending sound** (use `MEDIA_UPLOAD`). **Disclosure truthful; prohibited AI uses stay prohibited; branded content can't be private.** **Never promise the FYP/virality; never fabricate metrics** (native analytics only). (Scope, distinctions + connections: `references/scope-and-connections.md`.) ## Distinct from its siblings (route correctly) **tiktok-video-publishing (this)** = the VIDEO publish-config + search caption (duet/stitch/cover apply; autoAddMusic ignored) · **tiktok-script** = writes the VIDEO SCRIPT (the content) · **tiktok-photo-mode** = the PHOTO carousel (autoAddMusic applies; duet/stitch/cover don't) · **reels-script**/**youtube-shorts** = other video formats · **caption-writer**/**hook-writer** = generic copy. ## Where this connects Reads first: **brand-profile**, **goals-and-kpis**, the **script/video** (**tiktok-script**). Content inputs (external to WoopSocial): **tiktok-script**, the **video** cluster (**veo-3**/**luma**/**kling**) + editing, **image-prompt**/**ideogram**/**nano-banana** (cover frame), **hook-writer**/**caption-writer**. Publish: **scheduling-and-queue → WoopSocial** (`postType=VIDEO`), **platform-specs-and-validation** (validate + field rules), **content-calendar**. Engage/reuse/measure: **community-management** (pinned comment + replies), **content-recycling** (→ Reels/Shorts), **analytics-and-reporting**, **experimentation-and-ab-testing** (A/B caption/cover). Filming/editing, trending sound, and comments stay external/native. ## Definition of done A search-optimized caption (primary keyword lead-loaded, value-prop, secondary keywords + niche hashtags, mirrored in on-screen text); reach settings open (comment/duet/stitch ON unless brand-safety); a legible title-card cover frame; truthful disclosure flags with #ad up front (and AI auto-disclosed, prohibited AI uses excluded, branded never private); the full WoopSocial VIDEO config (postType VIDEO, privacyLevel from platform-inputs, postMode chosen, specs right) validated before publish; the video file produced externally, WoopSocial publishing postType VIDEO with AI auto-disclosure, edits via delete+recreate, trending sound/pinned comment/replies left native, nothing fabricated and no promised FYP; correctly distinguished from tiktok-script and tiktok-photo-mode.
© social-media-skills · MIT · social-media-skills/skills