Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Automate TikTok AND Instagram carousel marketing for any mobile app. Researches competitors, generates AI images, adds text overlays, posts via Post Bridge to TikTok + Instagram simultaneously, tracks analytics, and iterates on what works. Use when setting up TikTok/Instagram marketing automation, creating slideshow/carousel posts, analyzing post performance, optimizing app marketing funnels, or when a user mentions TikTok growth, Instagram Reels, carousel ads, or social media marketing for their app. Covers competitor research, image generation, text overlays, dual-platform posting (Post Bridge API), store analytics tracking (App Store + Google Play via custom API), conversion tracking, and a full feedback loop that adjusts hooks and CTAs based on views vs conversions. Includes full node-canvas text overlay implementation (Larry's exact technique), diagnostic framework for view vs conversion analysis, hook evolution tracking, CTA rotation, and Instagram-specific optimization. --- name: socials-app-carousel-maker version: 1.0.0 description: Automate TikTok AND Instagram carousel marketing for any mobile app. Researches competitors, generates AI images, adds text overlays, posts via Post Bridge to TikTok + Instagram simultaneously, tracks analytics, and iterates on what works. Use when setting up TikTok/Instagram marketing automation, creating slideshow/carousel posts, analyzing post perfor Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
socials-app-carousel-maker is best for i, track, make workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Automate TikTok AND Instagram carousel marketing for any mobile app. Researches competitors, generates AI images, adds text overlays, posts via Post Bridge to TikTok + Instagram simultaneously, tracks analytics, and iterates on what works. Use when setting up TikTok/Instagram marketing automation, creating slideshow/carousel posts, analyzing post performance, optimizing app marketing funnels, or when a user mentions TikTok growth, Instagram Reels, carousel ads, or social media marketing for their app. Covers competitor research, image generation, text overlays, dual-platform posting (Post Bridge API), store analytics tracking (App Store + Google Play via custom API), conversion tracking, and a full feedback loop that adjusts hooks and CTAs based on views vs conversions. Includes full node-canvas text overlay implementation (Larry's exact technique), diagnostic framework for view vs conversion analysis, hook evolution tracking, CTA rotation, and Instagram-specific optimization. --- name: socials-app-carousel-maker version: 1.0.0 description: Automate TikTok AND Instagram carousel marketing for any mobile app. Researches competitors, generates AI images, adds text overlays, posts via Post Bridge to TikTok + Instagram simultaneously, tracks analytics, and iterates on what works. Use when setting up TikTok/Instagram marketing automation, creating slideshow/carousel posts, analyzing post perfor
Public facts
5
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Feb 25, 2026
Vendor
Vgachet
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/VGachet/socials-app-carousel-maker.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Vgachet
Protocol compatibility
OpenClaw
Adoption signal
1 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
text
iPhone photo of a [specific room/scene], [specific style], [specific details]. Realistic lighting, natural colors, taken on iPhone 15 Pro. No text, no watermarks, no logos. [Consistency anchors: "same window on left wall", "same grey sofa", "wooden coffee table in center"]
bash
# On your VPS git clone / scp the store-app-api folder cd store-app-api # Fill in .env: APP_STORE_VENDOR_NUMBER and generate API_KEY docker-compose up -d
bash
curl http://YOUR_VPS_IP:3400/health
bash
curl http://YOUR_VPS_IP:3400/health
# → {"status":"ok"}json
"storeApi": {
"enabled": true,
"baseUrl": "http://YOUR_VPS_IP:3400",
"apiKey": "your-generated-api-key"
}bash
curl -X POST http://YOUR_VPS_IP:3400/api/sync?days=30 \
-H "Authorization: Bearer YOUR_API_KEY"Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Automate TikTok AND Instagram carousel marketing for any mobile app. Researches competitors, generates AI images, adds text overlays, posts via Post Bridge to TikTok + Instagram simultaneously, tracks analytics, and iterates on what works. Use when setting up TikTok/Instagram marketing automation, creating slideshow/carousel posts, analyzing post performance, optimizing app marketing funnels, or when a user mentions TikTok growth, Instagram Reels, carousel ads, or social media marketing for their app. Covers competitor research, image generation, text overlays, dual-platform posting (Post Bridge API), store analytics tracking (App Store + Google Play via custom API), conversion tracking, and a full feedback loop that adjusts hooks and CTAs based on views vs conversions. Includes full node-canvas text overlay implementation (Larry's exact technique), diagnostic framework for view vs conversion analysis, hook evolution tracking, CTA rotation, and Instagram-specific optimization. --- name: socials-app-carousel-maker version: 1.0.0 description: Automate TikTok AND Instagram carousel marketing for any mobile app. Researches competitors, generates AI images, adds text overlays, posts via Post Bridge to TikTok + Instagram simultaneously, tracks analytics, and iterates on what works. Use when setting up TikTok/Instagram marketing automation, creating slideshow/carousel posts, analyzing post perfor
Automate your entire social media slideshow/carousel pipeline: generate → overlay → post to TikTok + Instagram simultaneously → track → iterate.
Proven results: 7 million views on the viral X article, 1M+ TikTok views, $670/month MRR — all from an AI agent running on an old gaming PC.
This skill does NOT bundle any dependencies. Your AI agent will research and install these based on your setup.
npm install canvas) — adds text overlays to slide images. Native module, may need build tools (Python, make, C++ compiler).POST_BRIDGE_API_KEY in the workspace .env.store-app-api/) running on another VPS. Fetches and stores purchase/download/impression stats from App Store Connect and Google Play.gpt-image-1.5 (ALWAYS 1.5, NEVER 1). Best for photorealistic images. Strongly recommended.When this skill is first loaded, IMMEDIATELY start a conversation with the user. Don't dump a checklist — talk to them like a human marketing partner. Ask one or two things at a time. React to what they say.
Use scripts/onboarding.js --validate at the end to confirm the config is complete.
Before anything else, check if the user has an active TikTok account. If it's fresh, they MUST warm it up or TikTok will throttle reach from day one.
"Quick question before we dive in — do you already have a TikTok account you've been posting on, or is it new? If new, we need to warm it up first."
If new, walk them through 7-14 days of warmup:
Signal to look for: FYP is dominated by niche content → ready to post.
"Accounts that skip warmup get 80-90% less reach on their first posts. Two weeks up front saves months of wasted content."
If the account is already active, skip to Phase 1.
Start casual:
"Hey! Let's get your marketing set up. Tell me about your app — what's it called, what does it do?"
Follow the thread naturally:
"Is this a mobile app? Got both iOS and Android versions?"
If yes to both — great, the Store App API tracks both stores.
Store everything in tiktok-marketing/app-profile.json.
"Before we create anything, I want to research what competitors are doing on TikTok and Instagram — what's getting views, what hooks they use. Can I use the browser to look around?"
Wait for permission. Then:
tiktok-marketing/competitor-research.jsonShare findings conversationally — don't dump raw JSON.
See references/competitor-research.md for the full research process.
"We're going to do slideshows/carousels — same 6-image set posted to TikTok as a slideshow and to Instagram as a carousel reel simultaneously, one upload. TikTok data shows slideshows get 2.9x more comments and 2.6x more shares than video. Easier to generate consistently too."
Image generation:
"I'd strongly recommend OpenAI's gpt-image-1.5. It produces images that look like real iPhone photos — the kind people stop scrolling for. It's what's proven to work."
⚠️ Always use gpt-image-1.5 — NEVER gpt-image-1. Quality difference is massive. One setting = difference between 1K and 100K views.
Work through the image style with them (see references/slide-structure.md). Don't just accept their first answer — dig in:
"Now let's figure out what these images should actually look like. Do you want them to look like real photos someone took on their phone, or more like polished graphics or illustrations?"
Then dig deeper based on their answer:
Build the base prompt WITH them. A good base prompt looks like:
iPhone photo of a [specific room/scene], [specific style], [specific details].
Realistic lighting, natural colors, taken on iPhone 15 Pro.
No text, no watermarks, no logos.
[Consistency anchors: "same window on left wall", "same grey sofa", "wooden coffee table in center"]
Key prompt rules (explain as they come up, don't lecture):
NEVER use generic prompts like "a nice living room" — they produce generic images that get scrolled past.
Save the agreed prompt to config.json as imageGen.basePrompt.
Optional Batch API for 50% cheaper generation:
"OpenAI's Batch API submits jobs overnight — same quality, half the cost. Want to set that up for scheduled posts?"
Post Bridge posts to TikTok AND Instagram in a single API call. One upload, two platforms.
"Post Bridge is what posts to both TikTok and Instagram simultaneously. One image set, one API call — it handles both. Let me walk you through the setup."
.env: POST_BRIDGE_API_KEY=pb_live_xxxxxGET /v1/social-accounts to get account IDs for TikTok and InstagramThe dual-platform workflow:
draft: true) → user adds trending sound manually before publishing"One important thing — TikTok posts land as drafts in your TikTok inbox, not published directly. Before each one, add a trending sound from TikTok's library. Takes 30 seconds and is the single biggest factor in TikTok reach. Instagram posts go live directly."
Don't move on until Post Bridge is connected and GET /v1/social-accounts returns both accounts.
This is where the skill becomes genuinely intelligent. The Store App API (in store-app-api/) runs on your VPS and collects purchase, download, and impression data from both App Store Connect and Google Play.
Explain WHY it matters — this is the most important integration in the entire skill:
"So right now with Post Bridge, I can track which posts get views, likes, and comments. That's the top of the funnel. But views alone don't pay the bills — I need to know which posts actually drive paying subscribers."
"The Store App API is where the skill goes from 'content automation' to 'intelligent marketing system.' It syncs purchase data, download stats, and page conversion rates from both the App Store and Google Play every 6 hours. When I combine post analytics from Post Bridge with real purchase data from the store, I can make genuinely intelligent decisions:"
"If a post gets 50K views but zero conversions, I know the hook is great but the CTA or app page needs work. If a post gets 2K views but 5 paid subscribers, I know the content converts amazingly — just needs a better hook."
"Without the Store API, I'm optimizing for vanity metrics. With it, I'm optimizing for revenue. The difference is massive. A post with 200K views and zero conversions is worthless. A post with 5K views and 10 paid subscribers is gold. You can only tell the difference with purchase data connected."
Walk them through setup:
Deploy the Store App API on the VPS:
# On your VPS
git clone / scp the store-app-api folder
cd store-app-api
# Fill in .env: APP_STORE_VENDOR_NUMBER and generate API_KEY
docker-compose up -d
The API generates an API_KEY on first run if none is set — note it down.
Confirm it's reachable:
curl http://YOUR_VPS_IP:3400/health
# → {"status":"ok"}
Add to marketing config:
"storeApi": {
"enabled": true,
"baseUrl": "http://YOUR_VPS_IP:3400",
"apiKey": "your-generated-api-key"
}
Trigger an initial sync:
curl -X POST http://YOUR_VPS_IP:3400/api/sync?days=30 \
-H "Authorization: Bearer YOUR_API_KEY"
What this unlocks:
Without Store API: optimize for views (vanity). With Store API: optimize for downloads and revenue (what matters).
See references/store-api-integration.md for full API docs.
Using competitor research + app profile, build the first week's strategy:
"Based on what I found and your app, here's my plan for the first week..."
Present:
Save to tiktok-marketing/strategy.json.
Set up a daily cron that runs before the first post (7:00 AM, user's timezone):
Task: node scripts/daily-report.js --config tiktok-marketing/config.json --days 3
Output: tiktok-marketing/reports/YYYY-MM-DD.md + summary to user
The report cross-references:
GET /v1/posts/<id>)GET /api/stats/attribution?days=3)See references/analytics-loop.md for the full feedback loop.
Config saved to tiktok-marketing/config.json:
{
"app": {
"name": "AppName",
"description": "What it does",
"audience": "Who it's for",
"problem": "Pain point it solves",
"differentiator": "What makes it unique",
"appStoreUrl": "https://apps.apple.com/...",
"googlePlayUrl": "https://play.google.com/...",
"category": "home|beauty|fitness|productivity|food|other",
"isMobileApp": true
},
"imageGen": {
"provider": "openai",
"apiKey": "sk-...",
"model": "gpt-image-1.5",
"basePrompt": "YOUR LOCKED BASE PROMPT HERE"
},
"postbridge": {
"apiKey": "pb_live_...",
"accounts": {
"tiktok": "account_id_here",
"instagram": "account_id_here"
}
},
"storeApi": {
"enabled": true,
"baseUrl": "http://YOUR_VPS_IP:3400",
"apiKey": "your-store-api-key"
},
"posting": {
"tiktokDraft": true,
"instagramDraft": true,
"schedule": ["07:30", "16:30", "21:00"]
},
"competitors": "tiktok-marketing/competitor-research.json",
"strategy": "tiktok-marketing/strategy.json"
}
First post is a TEST — not a publish:
"Let's generate the first 6 slides and look at them together. Goal is to dial in the image style BEFORE we start posting. If they look off, we tweak and retry."
Iterate prompt until images look right (typically 2-5 rounds). Only start the real schedule once the style is locked. See references/slide-structure.md for the formula.
node scripts/generate-slides.js \
--config tiktok-marketing/config.json \
--output tiktok-marketing/posts/YYYY-MM-DD-HHmm/ \
--prompts prompts.json
⚠️ Timeout warning: 6 slides = 3-9 minutes total. Set exec timeout to 600s minimum. Script supports resume — re-run if it fails partway.
Critical rules:
See references/slide-structure.md for the 6-slide formula.
This step uses node-canvas to render text directly onto your slide images. This is how Larry produces slides that have hit 1M+ views on TikTok — the text sizing, positioning, and styling are dialled in from hundreds of posts.
Before you can add text overlays, prompt the user to install node-canvas:
"To add text overlays to the slides, I need a library called node-canvas. It renders text directly onto images with full control over sizing, positioning, and styling — this is what Larry uses for his viral TikTok slides.
Can you run this in your terminal?"
npm install canvas"If that fails, it's because node-canvas needs some system libraries. Here's what to install first:"
macOS:
brew install pkg-config cairo pango libpng jpeg giflib librsvg npm install canvasUbuntu/Debian:
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev npm install canvasWindows:
# node-canvas auto-downloads prebuilt binaries on Windows npm install canvas"Once installed, I can handle everything else — generating the overlays, sizing the text, positioning it perfectly. You won't need to touch this again."
Don't skip this step. Without node-canvas, text overlays won't work. If installation fails, help them troubleshoot — it's usually a missing system library. Once it's installed once, it stays.
Exact code used:
const { createCanvas, loadImage } = require('canvas');
const fs = require('fs');
async function addOverlay(imagePath, text, outputPath) {
const img = await loadImage(imagePath);
const canvas = createCanvas(img.width, img.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
// ─── Adjust font size based on text length ───
const wordCount = text.split(/\s+/).length;
let fontSizePercent;
if (wordCount <= 5) fontSizePercent = 0.075; // Short: 75px on 1024w
else if (wordCount <= 12) fontSizePercent = 0.065; // Medium: 66px
else fontSizePercent = 0.050; // Long: 51px
const fontSize = Math.round(img.width * fontSizePercent);
const outlineWidth = Math.round(fontSize * 0.15);
const maxWidth = img.width * 0.75;
const lineHeight = fontSize * 1.3;
ctx.font = `bold ${fontSize}px Arial`;
ctx.textAlign = 'center';
ctx.textBaseline = 'top';
// ─── Word wrap ───
const lines = [];
const manualLines = text.split('\n');
for (const ml of manualLines) {
const words = ml.trim().split(/\s+/);
let current = '';
for (const word of words) {
const test = current ? `${current} ${word}` : word;
if (ctx.measureText(test).width <= maxWidth) {
current = test;
} else {
if (current) lines.push(current);
current = word;
}
}
if (current) lines.push(current);
}
// ─── Position: centered at ~28% from top ───
const totalHeight = lines.length * lineHeight;
const startY = (img.height * 0.28) - (totalHeight / 2);
const x = img.width / 2;
// ─── Draw each line ───
for (let i = 0; i < lines.length; i++) {
const y = startY + (i * lineHeight);
// Black outline
ctx.strokeStyle = '#000000';
ctx.lineWidth = outlineWidth;
ctx.lineJoin = 'round';
ctx.miterLimit = 2;
ctx.strokeText(lines[i], x, y);
// White fill
ctx.fillStyle = '#FFFFFF';
ctx.fillText(lines[i], x, y);
}
fs.writeFileSync(outputPath, canvas.toBuffer('image/png'));
}
Key details that make slides look professional:
\n breaks but also auto-wraps lines that exceed 75% width. No squashing.\n in your text for control. Keep lines to 4-6 words.The difference between OK slides and viral slides is in these details. Slides consistently hit 50K-150K+ views because the text is sized right, positioned right, and readable at a glance while scrolling.
node scripts/add-text-overlay.js \
--dir tiktok-marketing/posts/YYYY-MM-DD-HHmm/ \
--texts texts.json
texts.json — EXACTLY 6 strings, ALL must be non-empty (an empty string will be rejected):
[
"I showed my landlord\nwhat AI thinks our\nkitchen should look like",
"She said you can't\nchange anything\nchallenge accepted",
"So I downloaded\nthis app and\ntook one photo",
"Wait... is this\nactually the same\nkitchen??",
"Okay I'm literally\nobsessed with\nthis one",
"AppName showed me\nwhat's possible\nlink in bio"
]
⚠️ Every slide gets text — that's the format. Slide 1 = hook, slides 2–5 = reactions/progression, slide 6 = CTA. Never leave a slot empty.
⚠️ LINE BREAKS ARE CRITICAL:
Good (manual breaks, 4-6 words per line):
"I showed my landlord\nwhat AI thinks our\nkitchen should look like"
Bad (no breaks — auto-wraps but looks worse):
"I showed my landlord what AI thinks our kitchen should look like"
Text rules (what makes slides go viral):
\n breaks — 4-6 words per line MAX, control the rhythmnode scripts/post-carousel.js \
--config tiktok-marketing/config.json \
--dir tiktok-marketing/posts/YYYY-MM-DD-HHmm/ \
--caption "caption text with #hashtags" \
--tiktok-title "Title for TikTok"
This uploads the 6 slides once and creates a single Post Bridge post that goes to both TikTok (as draft) and Instagram in one API call.
The script saves the returned Post Bridge post ID (postBridgeId) to tiktok-marketing/posts/YYYY-MM-DD-HHmm/post-meta.json. This is required for analytics tracking — don't skip it.
Caption strategy by platform:
Posts go to your TikTok inbox as drafts, NOT published directly. This is intentional and critical:
This is the workflow that helped us hit 1M+ TikTok views and $670/month MRR. Don't skip the music step.
Tell the user during onboarding: "Posts will land in your TikTok inbox as drafts. Before publishing each one, add a trending sound from TikTok's library — the single biggest factor in reach. 30 seconds per post. Makes a massive difference."
This takes 30 seconds per post and is the single biggest factor in TikTok reach.
When post-carousel.js runs, it stores the postBridgeId in post-meta.json alongside the publish date. The analytics script reads this to track post performance:
node scripts/check-analytics.js --config tiktok-marketing/config.json --days 3
The script:
post-meta.json files from the last N daysGET /v1/posts/<postBridgeId> to retrieve current metrics⚠️ TikTok analytics delay: After the user publishes from TikTok drafts, allow 1-2 hours before analytics data is accurate via Post Bridge. The postBridgeId is stored at creation time — no re-linking required — but TikTok's internal indexing takes time to reflect actual view counts.
Instagram analytics are available immediately after posting. saves is the key metric to watch for Explore push.
The daily cron handles all of this automatically. It runs at 7:00 AM, checks posts from the last 3 days (all well past the delay window), and generates the full report.
This is what separates "posting carousels" from "running a marketing machine." Every morning at 7:00 AM, the daily cron runs and generates a report crossing:
/api/stats/attribution?days=3 — download and purchase spikes per dayCombined, the agent can make intelligent decisions about what to do next — not guessing, not vibes, actual data-driven optimization.
This is the core intelligence. Two axes: views (are people seeing it?) and conversions (are people paying?).
🟢 High views + High conversions → SCALE IT
🟡 High views + Low conversions → FIX THE CTA
🟡 Low views + High conversions → FIX THE HOOKS
🔴 Low views + Low conversions → FULL RESET
🔴 High views + High downloads + Low purchases → APP ISSUE
🟡 High views + Low downloads → CTA ISSUE
| Views | Downloads/Purchases | Action | |-------|--------------------|----| | 🟢 High | 🟢 High | SCALE — make 3 variations of the winning hook immediately | | 🟡 High | 🔴 Low | FIX CTA — hook works, downstream is broken. Test new CTAs, check App Store page | | 🟡 Low | 🟢 High | FIX HOOKS — content converts but needs more eyeballs. Try radically different hooks | | 🔴 Low | 🔴 Low | FULL RESET — new format, new audience angle, new hook categories | | 🔴 APP | Downloads high, subs=0 | APP ISSUE — marketing works but users aren't paying. Check onboarding/paywall |
Track in tiktok-marketing/hook-performance.json. The daily report updates this automatically.
{
"hooks": [
{
"postBridgeId": "pb_post_xxxxxxxx",
"text": "My boyfriend said our flat looks like a catalogue",
"app": "AppName",
"date": "2026-02-15",
"views": 45000,
"likes": 1200,
"comments": 45,
"shares": 89,
"saves": 320,
"conversions": 4,
"cta": "Download AppName — link in bio",
"lastChecked": "2026-02-16"
}
],
"ctas": [
{
"text": "Download [App] — link in bio",
"timesUsed": 5,
"totalViews": 120000,
"totalConversions": 8,
"conversionRate": 0.067
},
{
"text": "Search [App] on the App Store",
"timesUsed": 3,
"totalViews": 85000,
"totalConversions": 12,
"conversionRate": 0.141
}
],
"rules": {
"doubleDown": ["person-conflict-ai"],
"testing": ["listicle", "pov-format"],
"dropped": ["self-complaint", "price-comparison"]
}
}
The daily report updates this automatically. Each post gets tagged with its hook text, CTA, view count, and attributed conversions. Over time, this builds a clear picture of which hook + CTA combinations actually drive revenue — not just views.
Decision rules:
When views are good but conversions are low, cycle through CTAs:
Track which CTAs convert best per hook category. Tag every post with the CTA used so the data accumulates — conversionRate per CTA tells you which one actually drives downloads.
CTA rotation: When the report detects high views but low conversions, it automatically recommends rotating to a different CTA and tracks performance separately.
Instagram carousels behave differently from TikTok:
When diagnosing Instagram performance, prioritize saves > comments > likes > reach.
Optimal times (adjust for audience timezone):
3x/day minimum to both platforms. Both platform's algos evaluate content independently so the same post can perform differently on each.
See references/app-categories.md for category-specific slide prompts and hook formulas.
| Mistake | Fix |
|---------|-----|
| 1536x1024 (landscape) | Use 1024x1536 (portrait) — TikTok AND Instagram |
| Same hooks forever | Iterate weekly based on performance data |
| Only posting to TikTok | Instagram carousels get saved → Explore push. Free reach, same effort |
| No trending sound on TikTok | 30 sec before publishing = massive reach difference |
| Publishing TikTok directly via API | Always use draft mode — add sound manually in app |
| Not tracking saves on Instagram | Saves are Instagram's key engagement signal, not views |
| spawnSync ETIMEDOUT | Image gen takes 3-9 min for 6 slides — set 10min exec timeout |
| Not storing postBridgeId after posting | Always save to post-meta.json — required for daily analytics |
| Checking TikTok analytics too soon | Wait 1-2h after user publishes from drafts — TikTok indexing delay |
| Generic prompts ("a nice room") | Be extremely specific — generic = scrolled past |
| Font at 5% width | Use 6.5% (medium text) or 7.5% (short text) — readability at a glance |
| Text positioned at bottom | Center text block at ~28% from top — stays in safe zone |
| Different rooms/scenes per slide | Lock architecture in EVERY slide prompt |
| Labels not reactions | "Wait this is actually nice??" not "Modern minimalist" |
| Only tracking views | Connect Store App API — views without revenue = vanity metrics |
| No CTA rotation when conversions are low | Cycle through CTAs systematically and track each separately |
| Skipping the first test round | Always dial in image style BEFORE starting the posting schedule |
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/snapshot"
curl -s "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/contract"
curl -s "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 5d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-16T23:34:09.461Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "i",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "track",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "make",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "only",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "add",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "you",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "handle",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "preview",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "perform",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "resume",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:i|supported|profile capability:track|supported|profile capability:make|supported|profile capability:only|supported|profile capability:add|supported|profile capability:you|supported|profile capability:handle|supported|profile capability:preview|supported|profile capability:perform|supported|profile capability:resume|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Vgachet",
"href": "https://github.com/VGachet/socials-app-carousel-maker",
"sourceUrl": "https://github.com/VGachet/socials-app-carousel-maker",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T01:47:14.164Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T01:47:14.164Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1 GitHub stars",
"href": "https://github.com/VGachet/socials-app-carousel-maker",
"sourceUrl": "https://github.com/VGachet/socials-app-carousel-maker",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T01:47:14.164Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/vgachet-socials-app-carousel-maker/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to socials-app-carousel-maker and adjacent AI workflows.