Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Automates TikTok carousel content creation, smart scheduling, publishing via Postiz API, and analytics-driven optimization for niche accounts.
Automates TikTok carousel content creation, smart scheduling, publishing via Postiz API, and analytics-driven optimization for niche accounts.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
Automated TikTok carousel content generation, publishing, scheduling, and analytics-driven optimization for any niche.
This skill provides a complete content pipeline for TikTok accounts. It handles: Content Generation โ AI-generated carousel slides with hooks, CTAs, and keyword overlays Smart Scheduling โ Research-backed posting times with account-age-aware frequency Publishing โ Post to TikTok via Postiz API (supports drafts, scheduled posts, multi-platform) Analytics & Optimization โ Track performance, diagnose issues, auto-implement improvements
CredentialPurposeHow to ObtainPostiz API KeyPublishing & analytics via Postiz CLISign up at postiz.com โ Settings โ API KeysTikTok Integration IDLinks your TikTok account to PostizPostiz dashboard โ Integrations โ Add TikTok
Recommended: Set POSTIZ_API_KEY as an environment variable (e.g. in ~/.zshrc or ~/.bashrc) rather than storing it in config files. The pipeline checks for this env var first. Alternative: Store in accounts/<your-account>/config.json under postiz.apiKey. If using this approach, ensure the file is not committed to version control (add to .gitignore). The Integration ID is account-specific and stored in per-account config.json.
This skill executes the postiz CLI via shell commands. All arguments are escaped to prevent injection. The skill writes files only within its own accounts/ and output/ directories. auto-improve mode can modify account configs and auto-post โ test on a throwback account first. Run npm audit after installing dependencies to check for known vulnerabilities.
Set your Postiz API key: export POSTIZ_API_KEY="your-key-here" Copy config.example.json to accounts/<your-account>/config.json Fill in your TikTok integration ID Create or adapt a template in templates/ for your niche Run: node cli.js create <account> --template <template-name> See SETUP.md for the full setup guide.
node cli.js create my-brand --template example-nostalgia This copies the template into accounts/my-brand/ and sets createdAt to now.
Edit accounts/my-brand/config.json: { "account": { "name": "my-brand", "handle": "@mybrand", "niche": "your-niche", "createdAt": "2026-01-15T00:00:00Z" }, "postiz": { "apiKey": "YOUR_KEY", "integrationId": "YOUR_TIKTOK_ID" }, "posting": { "timezone": "Europe/London" } } Or use the CLI: node cli.js config my-brand --handle @mybrand --integration-id YOUR_ID --api-key YOUR_KEY
node cli.js generate my-brand --type showcase node cli.js generate my-brand --type showcase --post # Generate and post as draft The generator uses the template's generator.js to create carousel slides, applies hooks from config, adds keyword overlays for TikTok SEO, and outputs to accounts/my-brand/output/.
node cli.js schedule my-brand # This week's schedule node cli.js schedule my-brand --next # Next optimal posting slot The scheduler automatically adjusts frequency based on account age: Days 0-24: Daily posting (building momentum) Days 25-30: Taper from 7 โ 4 posts/week Day 31+: 3-4 posts/week on optimal days
node cli.js analytics my-brand --days 7 node cli.js analytics my-brand --days 7 --auto-improve # Auto-implement fixes
These findings are baked into the framework's scheduling, optimization, and content scoring:
Watch time & completion rate โ most critical signal. 80%+ completion = 5x reach. First 3-second hook โ determines whether content gets distributed at all. Shares โ strongest engagement signal for virality. Saves โ growing importance. 15%+ save-to-view = high-value content. Comment engagement โ quality conversations > generic comments.
3-4 posts/week is optimal for established accounts (NOT 3/day โ that hurts reach) Best days: Wednesday, Tuesday, Thursday Best times: Tue 5pm, Wed 2-5pm, Thu 3-5pm New accounts: Post daily for first 30 days to build momentum Max 1 post/day for established accounts (2/day max for new accounts)
3x more saves than standard video 40% longer dwell time when users engage Lower production barrier โ slides are easier to produce than video 5-7 slides optimal for maintaining attention First slide is everything โ must hook immediately
TypeExampleAvg EngagementContradiction"Everyone thinks X, but actually..."9%+Challenge"If you used X, you had no skill ๐"11%+Gatekeeping"Only real ones remember..."8%+POV"POV: You just discovered..."7%+Nostalgia"Remember this? ๐ฅ"6%+Question"Would you do this? Yes or no ๐"8%+
The ViralOptimizer scores content before posting (0-100): Hook quality (40% weight) โ length, power words, emoji, question format Structure (30% weight) โ slide count, audio, format Engagement potential (30% weight) โ CTA presence, opinion-split, hashtag count Verdicts: 80+ = ๐ฅ HIGH VIRAL POTENTIAL โ Post immediately 65+ = โ GOOD โ Ready to post 50+ = โ ๏ธ DECENT โ Consider optimizing 35+ = ๐ง NEEDS WORK โ Apply suggestions <35 = โ LOW POTENTIAL โ Rethink approach
When analyzing post performance, use this matrix to decide what to fix: ViewsEngagementDiagnosisActionHigh (>1000)High (>5%)SCALECreate 3 variations of this content. Test same hook with different visuals.High (>1000)Low (<3%)FIX CTAHook is working โ add stronger call-to-action. Add opinion-split or challenge.Low (<500)High saves (>10%)FIX HOOKContent converts โ needs better opening hook. Test trending audio. Stronger first-slide text.Low (<500)Low (<3%)FULL RESETTry radically different format. Research top creators in niche. Test different posting time.
MetricTargetViralPoorCompletion rate80%90%40%Save-to-view ratio15%25%3%Share rate8%15%2%Comment rate5%10%1%Profile visit rate12%20%3%Follower conversion8%15%2%
Templates define the content types, hooks, hashtags, and generation logic for a niche.
templates/your-niche/ โโโ config.json # Content types, hooks, hashtags, settings โโโ generator.js # Content generation logic (extends ContentGenerator) โโโ README.md # Template documentation
{ "account": { "template": "your-niche", "niche": "Your Niche" }, "content": { "types": { "your-content-type": { "description": "...", "slides": 6 } }, "hashtagSets": { "default": ["#yourniche", "#fyp"] } }, "hooks": { "your-content-type": ["Hook text 1", "Hook with {placeholder} 2"] }, "posting": { "timezone": "Europe/London" } }
const ContentGenerator = require('../../core/ContentGenerator'); class YourNicheGenerator extends ContentGenerator { getSupportedTypes() { return Object.keys(this.config.content.types); } async _generateContent(contentType, options, outputDir) { this._ensureOutputDir(outputDir); const hook = this.getSlide1Hook(contentType, options); // Generate slides using sharp/canvas/ImageMagick // Return { slides: [...paths], hook: hook.text, caption: '...' } } } module.exports = YourNicheGenerator;
tiktok-content-pipeline/ โโโ cli.js # Universal CLI โโโ core/ โ โโโ ContentGenerator.js # Abstract base for content generation โ โโโ Publisher.js # Postiz API integration โ โโโ PostingScheduler.js # Smart scheduling engine โ โโโ ViralOptimizer.js # Content scoring & optimization โ โโโ AnalyticsEngine.js # Performance tracking & insights โโโ accounts/ # Per-account configs & output (created at runtime) โโโ templates/ # Niche templates โโโ example-nostalgia/ # Example template to fork
ContentGenerator โ Abstract base class. Subclass it per niche. Handles hooks, question hooks, keyword overlays, placeholder replacement. Publisher โ Posts to TikTok (and other platforms) via Postiz CLI. Handles media upload, scheduling, draft mode, and post metadata saving. PostingScheduler โ Account-age-aware scheduling. Knows optimal days/times from research. Supports weekly schedule generation and overdue detection. ViralOptimizer โ Pre-post content scoring. Post-performance diagnostic matrix. Hook pattern library with engagement-weighted selection. AnalyticsEngine โ Pulls metrics from Postiz API. Generates reports with alerts, opportunities, and auto-implementable actions.
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.