video-and-post
Skill3 starsChanged 3 months agoMITView on GitHub
Produce a short video and publish it to TikTok / YouTube Shorts / Facebook Reels / Instagram Reels through the Make.com webhook, for an agent built with content-agent-kit. Use when the user says "làm video rồi đăng", "make a video and post it", "đăng video lên các nền tảng", or a daily run reaches its video item. Runs create-video, the review gate, then queues or posts.
In this repository16 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ads-reportSkill
- audit-and-fixSkill
- bootstrap-content-agentSkill
- crawl-and-queueSkill
- create-videoSkill
- daily-runSkill
- daily-topic-videoSkill
- design-campaignSkill
- geo-optimizeSkill
- motion-craftSkill
- new-templateSkill
- repurposeSkill
- research-and-captureSkill
- review-gateSkill
- topic-radarSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 34
Never put the source's copyrighted text in the caption.
- Very specific: line 74
Add the title to history.json (dedup).
- Very specific: line 77
Write brain/<slug>/report.md: what was made, the review verdict, where it went.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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
Video and post
The end-to-end loop for one video item: content → script.json → render → review → publish.
Antigravity / Gemini: same steps, run the commands directly.
1. Pick the item
From the idea queue (node scripts/queue-client.mjs pull), from today's PLAYBOOK phase, or from
what the user handed you. Check history.json — skip anything already done.
Work in brain/<slug>/.
2. Make the video
Invoke the create-video skill (or follow it as a document). It ends with a validated
script.json and a rendered video.mp4, and prints VIDEO=<path>.
3. Write the caption
Separate from the narration — this is the text of the social post, not what is spoken:
post— the caption. Follows the project'sWRITING_CRAFT.mdvoice, not the video's. Emoji and hashtags are fine here.comment— the first comment (engagement / link / source credit).title— required by YouTube; ≤100 characters.hashtags— e.g.#ai #coding.
Never put the source's copyrighted text in the caption. Summarize in your own words and link.
4. Review gate (mandatory)
Invoke the review-gate skill on the item — an independent reviewer, scoring the video
section of the rubric plus the caption. Watch specifically for:
- validator clean at
--strict - hook lands in the first 3 seconds
- narration reads naturally aloud — every number spoken correctly
- template variety; on-screen text not overflowing its limits
- outro carries the right brand and URL
Pass → continue. Fail → fix (2–3 rounds) → drop and log why.
5. Publish
Check the payload first — it costs nothing:
node scripts/social/make-post.mjs --video brain/<slug>/video.mp4 \
--post brain/<slug>/caption.txt --comment brain/<slug>/comment.txt \
--title "…" --hashtags "#ai #coding" \
--platforms tiktok,youtube_shorts,facebook_reels,instagram_reels --dry-runThen either post now (drop --dry-run), or schedule it — the better default, because
rendering is slow and the posting slot should be instant:
node scripts/scheduler/build-queue.mjs items.json # assign times → queue.json
node scripts/scheduler/register-tasks.mjs # schtasks / cron linesThe queue item must be type: "video" and carry videoPath (already rendered), post,
comment, title, hashtags, platforms — see templates/state/queue.example.json.
run-item.mjs then only uploads and calls the webhook when the slot fires.
6. Record and report
- Add the title to
history.json(dedup). - Mark the source
postedin the idea queue:node scripts/queue-client.mjs posted <url>. - Clean per-run scratch files; keep
script.json,video.mp4,voice.mp3,script.txt. - Write
brain/<slug>/report.md: what was made, the review verdict, where it went.
Notes
- Rendering needs FFmpeg + Chrome + a local OmniVoice server, and cannot run on GitHub
Actions — see
docs/06-scheduling.md. - The Make.com scenario is a Webhook → Router, one filtered route per platform. Payload
contract:
docs/11-social-posting.md.
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.

