tiktok-slideshow-machine
Skill4 starsChanged 2 months agoMITView on GitHub
Turn a verified TikTok slideshow reference into editable 9:16 HTML slides and local PNG files. Preserve the reference's structure, use only supported claims, render in the browser, and complete a manual visual and posting check.
- Installs packages
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 6 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 25
every slide in order;
- Distinctive: line 30
Do not copy a format from memory.
- Distinctive: line 51
Write a short content ledger:
- Distinctive: line 64
Create an empty folder, then copy:
- Very specific: line 91
Add or remove <section class="slide"> elements as required.
- Very specific: line 93
Use scripts/download-logo.sh only when a real logo helps the reader identify a named product.
- Very specific: line 107
Use references/recurring-mistakes.md as the QA checklist.
- Distinctive: line 109
Do not approve the set from the HTML alone.
- Very specific: line 121
Use prompts/caption-generator.md.
- Distinctive: line 134
Do not automate posting or claim a post is live.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
TikTok Slideshow Machine
Build a slideshow from a real reference and render it locally. The bundle does not post to TikTok and does not require a paid API.
What is included
assets/slides-template.html: self-contained two-slide starter.scripts/render.mjs: Playwright renderer for every<section class="slide">.scripts/download-logo.sh: optional favicon downloader with no API key.prompts/: source review, hook, caption, and copy constraints.references/: layout, rendering, visual QA, and manual posting rules.templates/: JSON records for a source format and local assets.
Required input
Collect:
- the original post URL or complete screenshots;
- the capture date and any visible metrics;
- every slide in order;
- the new topic and verified source material;
- the account name, visual tokens, and approved CTA;
- the intended output folder.
Do not copy a format from memory. Do not invent missing slides, metrics, product verdicts, quotations, or first-person tests.
1. Reverse-engineer the reference
Use prompts/reverse-engineer.md.
Record:
- hook structure;
- slide count and role of each slide;
- information density;
- text position and hierarchy;
- image or logo treatment;
- transition from setup to payoff;
- final action;
- elements that are evidence versus decoration.
Save the result with templates/format-schema.template.json. Metrics are evidence about the captured post, not a forecast for the new post.
2. Lock the new content
Write a short content ledger:
- exact claim;
- supporting facts and sources;
- promised payoff;
- slide-by-slide evidence;
- approved CTA;
- facts that are unknown or private.
The new slideshow may reuse the reference's structure and visual logic. It may not reuse unsupported facts or present another creator's result as the user's result.
3. Prepare the work folder
Create an empty folder, then copy:
cp assets/slides-template.html ./work/slides.html
cp scripts/render.mjs ./work/render.mjsInstall Playwright in the work project if it is not already available:
npm install --save-dev playwright
npx playwright install chromium4. Edit the slides
Open work/slides.html and replace every bracketed placeholder.
Keep:
- a 1080 x 1920 canvas;
- one role per slide;
- readable contrast;
- safe margins around all text;
- a clear order from hook to payoff;
- one action after the payoff.
Add or remove <section class="slide"> elements as required. The renderer discovers the sections automatically.
Use scripts/download-logo.sh only when a real logo helps the reader identify a named product. Verify the result and keep the source domain in the asset record.
5. Render
From the work folder:
node render.mjsThe script creates slide-01.png, slide-02.png, and so on at 1080 x 1920 pixels.
6. Inspect every image
Use references/recurring-mistakes.md as the QA checklist.
Do not approve the set from the HTML alone. Open every PNG and check it at full size and as a small phone preview.
Fix and render again when:
- text is clipped or hard to scan;
- the visual order is unclear;
- a source image or logo failed;
- the hook promises information the later slides do not provide;
- the final slide asks for more than one action.
7. Write the caption
Use prompts/caption-generator.md. The caption must add context or attribution. It must not repeat the hook or add an unsupported result.
8. Hand off for manual posting
Return:
- the ordered PNG files;
- the caption;
- any hashtags supported by current manual research;
- the approved CTA;
- source links;
- the completed manual checklist.
Do not automate posting or claim a post is live.
In this repository12 other files it gives its agents.
- audience-content-osSkill
- buyer-signal-list-researchSkill
- cold-offer-reviewSkill
- google-maps-list-builderSkill
- google-maps-owner-email-finderSkill
- icp-prompt-builderSkill
- linkedin-content-writerSkill
- list-builderSkill
- list-expanderSkill
- offer-creationSkill
- outbound-funnel-economicsSkill
- x-content-writerSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

