{"slug": "tiktok-slideshow-skill-for-claude-code-make-and-post-app-slideshows-for-free", "title": "TikTok Slideshow Skill for Claude Code: Make and Post App Slideshows for Free", "summary": "An open-source project called the TikTok slideshow skill lets coding agents such as Claude Code, Codex, Cursor and OpenClaw write, render and post TikTok photo-mode slideshows for apps. The MIT-licensed skill generates first-person hooks in batches, renders slides locally with a bundled Python/Pillow script (no image API key or credits), and uploads approved slideshows to TikTok as drafts.", "body_md": "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.\n\nRepo (MIT): [github.com/social-media-skills/tiktok-slideshow-skill](https://github.com/social-media-skills/tiktok-slideshow-skill)\n\n*The example slideshow in the repo, for a made-up app called \"plodd\". Photos are one Pexels shoot.*\n\nIf 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:\n\nThe skill is built to avoid each of those.\n\n```\nnpx skills add social-media-skills/tiktok-slideshow-skill -g -a claude-code -y\n```\n\nFor 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.\n\nRendering needs Python 3.8+ and Pillow (`pip install pillow`).\n\nYou say something like: \"Make TikTok slideshows for my app, a habit tracker without streaks. Screenshots are in ./screens. No photos.\"\n\nThe agent then:\n\nThe 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.\n\n| Format | Slide 1 example | Needs your own story? | \n|---|---|---|\n| Relatable scenario | \"habit apps when you miss ONE day:\" | No (the default) | \n| Someone else, conflict, reveal | \"my sister said I'd quit by day 9\" | Yes | \n| Tension then release | \"studying at 2am the night before finals\" | No | \n| Honest test | \"I tried 4 habit tracker apps for 30 days\" | Yes | \n| Mistake list | \"3 mistakes I made with my first budget\" | Yes | \n| Tiny tutorial | \"how to plan a week in 4 minutes\" | No | \n\nThe relatable scenario is the default because it describes the viewer's moment and claims nothing about you.\n\nEvery slideshow follows the same five parts, and it works fine by hand too:\n\nEach 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.\n\nThe slides come from `scripts/render_slides.py`, which ships with the skill. Here is a shortened version of the spec behind the example above:\n\n```\n{\n  \"theme\": {\"style\": \"highlight\", \"strip\": \"black\"},\n  \"slides\": [\n    {\"text\": \"habit apps when you miss ONE day:\", \"image\": \"photos/bed-phone.jpg\"},\n    {\"text\": \"fell asleep once.\\nstreak: 0\", \"image\": \"photos/bed-asleep.jpg\", \"position\": \"center\"},\n    {\"text\": \"plodd: miss a day,\\nnothing resets\", \"image\": \"screens/plodd-today.png\", \"layout\": \"fullscreen\"}\n  ]\n}\npython3 scripts/render_slides.py slides.json --out slideshow/\n```\n\nWhat it does with that:\n\n`highlight` (text on strips, white or black) or `classic` (white with a thin outline and a soft shadow).`upper`, `top`, `center`, `bottom`) so it never sits on a face.`\"layout\": \"fullscreen\"`.\nThe 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.\n\nBecause the renderer is a plain script, you can use it on its own as a TikTok slideshow generator in any pipeline, agent or not.\n\nOnce 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.\n\nPosting goes through the MCP server of [WoopSocial](https://woopsocial.com/?utm_source=tiktok-slideshow-skill&utm_medium=article), a social media API for AI agents. 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](https://woopsocial.com/agents?utm_source=tiktok-slideshow-skill&utm_medium=article). If you don't want to connect anything, the skill gives you the finished images and caption and you post them yourself.\n\nOperators 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.\n\nIf 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.\n\nAfter 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:\n\n| Views | Downloads | What to do | \n|---|---|---|\n| High | High | Scale: 2 or 3 variants of the hook, more accounts | \n| High | Low | The hook works, the app slide doesn't: fix the reveal, caption and bio link | \n| Low | High | The idea converts: keep it and test new hooks | \n| Low | Low | Retire after two tries and change the format | \n\nHigh and low are measured against the same account's usual numbers. The skill never estimates downloads from views.\n\nThe skill is MIT-licensed: [github.com/social-media-skills/tiktok-slideshow-skill](https://github.com/social-media-skills/tiktok-slideshow-skill). More free skills for social media work are at [social-media-skills.com](https://social-media-skills.com).\n\nIf you try it on your app, tell us which format you started with and what you'd change.", "url": "https://wpnews.pro/news/tiktok-slideshow-skill-for-claude-code-make-and-post-app-slideshows-for-free", "canonical_source": "https://dev.to/fheijdenrijk/tiktok-slideshow-skill-for-claude-code-make-and-post-app-slideshows-for-free-321l", "published_at": "2026-10-27 15:04:05+00:00", "updated_at": "2026-10-27 15:12:46.560906+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "generative-ai"], "entities": ["TikTok", "Claude Code", "OpenClaw", "Codex", "Cursor", "Pexels", "social-media-skills"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/tiktok-slideshow-skill-for-claude-code-make-and-post-app-slideshows-for-free", "markdown": "https://wpnews.pro/news/tiktok-slideshow-skill-for-claude-code-make-and-post-app-slideshows-for-free.md", "text": "https://wpnews.pro/news/tiktok-slideshow-skill-for-claude-code-make-and-post-app-slideshows-for-free.txt", "jsonld": "https://wpnews.pro/news/tiktok-slideshow-skill-for-claude-code-make-and-post-app-slideshows-for-free.jsonld"}}