Claude Code 的 TikTok Slideshow Skill 可製作並發布應用程式圖片輪播
TikTok Slideshow Skill for Claude Code: Make and Post App Slideshows for Free
開源 TikTok slideshow skill 可配合 Claude Code、OpenClaw、Codex 或 Cursor,為應用程式撰寫、渲染並發布 TikTok 圖片模式輪播。
The TikTok slideshow skill is a free, open-source skill that lets Claude Code, OpenClaw, Codex or Cursor write, render and post TikTok photo-mode slideshows for your app. It writes hooks in batches, renders slides that look like a person's post rather than an ad, and sends them to TikTok as drafts once you approve. The slides are rendered on your machine with a small Python script, so there's no image API key and no credits.
Repo (MIT): github.com/social-media-skills/tiktok-slideshow-skill
The example slideshow in the repo, for a made-up app called "plodd". Photos are one Pexels shoot.
Why app slideshows on TikTok usually flop
If you've looked at app marketing on TikTok, you've seen the slideshow accounts: a handful of photos, short text, and an app that turns out to be the answer. They're cheap to make, which is why so many indie devs and app founders run them. Most of them fail for a small set of reasons:
- Slide 1 is about the app ("meet [app], the #1 habit tracker") instead of the viewer.
- The app shows up on slide 5 or 6, and most viewers never get that far.
- The slides look like a presentation: a headline, a smaller line under it, six unrelated stock photos.
- Every account posts the same slideshow, which looks like spam.
The skill is built to avoid each of those.
Install the TikTok slideshow skill
npx skills add social-media-skills/tiktok-slideshow-skill -g -a claude-code -y
For Codex, Cursor or another agent, run npx skills add social-media-skills/tiktok-slideshow-skill and pick it from the list. On OpenClaw: openclaw skills install @social-media-skills/tiktok-slideshow-skill. On claude.ai, upload the zip from the latest GitHub release under Customize > Skills.
Rendering needs Python 3.8+ and Pillow (pip install pillow).
What happens when you ask Claude Code for slideshows
You say something like: "Make TikTok slideshows for my app, a habit tracker without streaks. Screenshots are in ./screens. No photos."
The agent then:
- Asks what it doesn't know yet: who the app is for, what moment makes them need it, which real stories you can share, and how old each TikTok account is.
- Writes 10 to 20 hooks about the viewer, none with the app name, and picks the best 3 to 5 for this batch. The rest go in a log for later.
- Writes 5 to 6 slides per slideshow with the app on slide 2 or 3, named and shown as a full-screen screenshot.
- Finds one photo shoot for each slideshow, renders the slides, opens the contact sheets and fixes anything that looks like a template.
- Shows you the batch as one table (account, hook, slides, caption, time) and posts after one yes.
The stories question matters more than it looks. Some formats only work when something really happened ("my sister said I'd quit by day 9"). The skill only writes first-person lines from what you tell it. Without a story, it uses a format that doesn't need one.
Six formats, and which ones need a real story
| Format | Slide 1 example | Needs your own story? |
|---|---|---|
| Relatable scenario | "habit apps when you miss ONE day:" | No (the default) |
| Someone else, conflict, reveal | "my sister said I'd quit by day 9" | Yes |
| Tension then release | "studying at 2am the night before finals" | No |
| Honest test | "I tried 4 habit tracker apps for 30 days" | Yes |
| Mistake list | "3 mistakes I made with my first budget" | Yes |
| Tiny tutorial | "how to plan a week in 4 minutes" | No |
The relatable scenario is the default because it describes the viewer's moment and claims nothing about you.
The SLIDE structure
Every slideshow follows the same five parts, and it works fine by hand too:
- Stop: slide 1 is a hook about the viewer or another person. Specific, readable in under two seconds, no app name, no logo, no price.
- Lead in: slide 2 makes the problem felt. "fell asleep once. streak: 0."
- Introduce: the app on slide 2 or 3, named in the text and shown for real, as a full-screen screenshot or a phone in someone's hand.
- Deliver: one or two slides on what changes for the viewer.
- End: one question people want to answer, like "be honest, how many habit apps have you deleted?"
Each slide carries one text block in one size, one to three short lines, mostly lowercase. A headline with a smaller line under it is what makes a slideshow read like a deck.
The renderer: an open-source TikTok slideshow generator
The slides come from scripts/render_slides.py, which ships with the skill. Here is a shortened version of the spec behind the example above:
{
"theme": {"style": "highlight", "strip": "black"},
"slides": [
{"text": "habit apps when you miss ONE day:", "image": "photos/bed-phone.jpg"},
{"text": "fell asleep once.\nstreak: 0", "image": "photos/bed-asleep.jpg", "position": "center"},
{"text": "plodd: miss a day,\nnothing resets", "image": "screens/plodd-today.png", "layout": "fullscreen"}
]
}
python3 scripts/render_slides.py slides.json --out slideshow/
What it does with that:
- Writes 1080x1920 JPEGs with the text clear of TikTok's buttons on the right and the caption at the bottom.
- Sets the text in TikTok Sans, the open-source font TikTok uses, bundled in the repo.
- Uses one of TikTok's own text looks for the whole slideshow:
highlight(text on strips, white or black) orclassic(white with a thin outline and a soft shadow). - Lets you move text per slide (
upper,top,center,bottom) so it never sits on a face. - Shows real app screenshots full-screen with
"layout": "fullscreen". - Writes 4:5 copies for an Instagram carousel, contact sheets, and warnings when text is too long or styles are mixed.
The photos matter as much as the text. The skill looks for one shoot per slideshow, the same person in the same room and light, so it reads like one person's camera roll. On Pexels, photographers often publish many shots from a single session, which is enough for a slideshow. Six strangers in six rooms reads as stock.
Because the renderer is a plain script, you can use it on its own as a TikTok slideshow generator in any pipeline, agent or not.
Posting, and why drafts are the default
Once you approve a batch, the agent posts each slideshow as a native TikTok photo post (photo mode, with the swipe interface, not a video made of images). By default it lands as a draft in your TikTok inbox. You add a sound and publish. Direct posting is there when you want it.
Posting goes through WoopSocial's MCP server. Disclosure: the skill is maintained by Frank Heijdenrijk and the team behind WoopSocial. The free plan covers two social accounts. Setup steps for each agent are at woopsocial.com/agents. If you don't want to connect anything, the skill gives you the finished images and caption and you post them yourself.
Warm-up, cadence and several accounts
Operators who share their results describe a similar routine: 7 to 14 days of normal use on a new account before the first post, then 1 to 3 slideshows per account per day once it's warmed up. That's what they report, not a promise of reach, and the skill says so. It batches the work to match: one session writes the hooks and renders a week of slideshows, and you confirm the batch once.
If you run several accounts for one app, each gets its own angle and its own hooks, and posting times are staggered. The skill won't post the identical slideshow to more than one account.
Tracking views next to downloads
After two or three days the agent reads the posts' stored metrics back through WoopSocial (when TikTok provides them) and asks you for daily downloads from App Store Connect, Play Console, RevenueCat or your analytics. Both go into hooks.md, and the agent reads them as a simple matrix:
| Views | Downloads | What to do |
|---|---|---|
| High | High | Scale: 2 or 3 variants of the hook, more accounts |
| High | Low | The hook works, the app slide doesn't: fix the reveal, caption and bio link |
| Low | High | The idea converts: keep it and test new hooks |
| Low | Low | Retire after two tries and change the format |
High and low are measured against the same account's usual numbers. The skill never estimates downloads from views.
What makes this skill different
- It runs on Claude Code, Claude, Codex, Cursor and OpenClaw.
- It renders slides locally with TikTok's own font and text styles, so no image API key is required and there's no cost per image.
- It plans a different variant per account instead of one slideshow for all.
- It logs views next to the downloads you report.
What it won't do
- Promise views.
- Write fake reviews, user counts, results or stories.
- Compare your app with apps you didn't try.
- Post anything without your yes.
The skill is MIT-licensed: github.com/social-media-skills/tiktok-slideshow-skill. More free skills for social media work are at social-media-skills.com.
If you try it on your app, tell us which format you started with and what you'd change.
來源:DEV Community · dev.to
