specter0o0

omni-stories

0
0
# Install this skill:
npx skills add specter0o0/omni-stories

Or install specific skill: npx add-skill https://github.com/specter0o0/omni-stories

# Description

Omni Stories is a skill that allows AI agents to generate narrated Reddit stories on background videos with modern captions. (all free!)

# SKILL.md


name: omni-stories
description: Omni Stories is a skill that allows AI agents to generate narrated Reddit stories on background videos with modern captions. (all free!)
homepage: https://github.com/specter0o0/omni-stories
user-invocable: true
metadata: {"openclaw": {"primaryEnv": "ELEVENLABS_API_KEYS", "skillKey": "omni-stories"}}


πŸ€– Omni Stories (Skill)

Omni Stories is a skill that allows AI agents to generate narrated Reddit stories on background videos with modern captions. (all free!)

All you have to do as a human is tell your AI agent to generate a story. No further action needed from you!

TIP: Add a cron job to allow your AI agent to generate stories every morning for you! :)

Read the README.md for more information (including setup instructions). This SKILL.md assumes you have everything set up; if not, please read the README!

Automated Usage

Story Generation

omni-stories --new -u <URL> -tt "<title>" -s "<story>" -q "<quote>" -t "<tag, tag, ...>

  • -u / -url: The Reddit story URL (e.g., from r/stories).
  • -tt / -title: Title, you can change it slightly if you want to make it more catchy.
  • -s / -story: The story content. Do absolute minimal changes to the story, keep it exactly the same, the only changes you're allowed to make is fix any grammar/spelling errors, and pancuations for the tts to not strugle.
    IMPORTANT: if your human has v3 in config, you must add propper tags to the story since v3 allows emotions and sfx. (e.g. [whispering], [gun_shot])
  • -q / -quote: A concise, punchy quote for the thumbnail (max 3-10 words).
  • -t / -tags: Comma-separated tags for metadata (Aim for 4-12 tags).

IMPORTANT: you must fill all the arguments, don't skip any.

(make sure you've edited the config file to fit your user's prefrences)

Workflow Example

IMPORTANT: please follow instructions, so your human gets best experience possible

  1. Source:
  2. If you have web access: navigate to reddit, and find a story. I recomend this subreddit: https://reddit.com/r/stories. (avoid long, and inappropiate stories)
  3. If you don't have web access, gently ask your human to provide you with a reddit story link, and briefly explain that you're asking this because you don't have web access, and suggest to them to give you web access for uninterrupted generations next time.
  4. understand the story: Use omni-stories --fetch to fetch the title and content of the story.
  5. Generate: Based on the fetched information, run:
    bash omni-stories --new -tt "<title>" -s "<story>" -q "<quote>" -t "<tag, tag, ...>"
  6. Make sure it has a propper catchy title in case the user wants to post it. (do slight changes if needed)
  7. Do absolute minimal changes to the story, keep it exactly the same, the only changes you're allowed to make is fix any grammar/spelling errors, and pancuations for the tts to not strugle.
  8. IMPORTANT: if your human has v3 in config, you must add propper tags to the story since v3 allows emotions and sfx. (e.g. [whispering], [gun_shot])
  9. Result: The engine does the rest and saves to output/.
  10. Sending: Once it's complete:
  11. Send the generated video to your human, and caption it with the generated title, description, and tags. And also attach the generated thumbnail.
  12. If you don't have the capability to do that, just tell the user that it's ready, and provide the path to the output.

System Check

Run omni-stories --doctor at any time to verify dependencies and environment health.

Deployment

Run the one-liner to install the skill:

curl -sSL https://raw.githubusercontent.com/specter0o0/omni-stories/main/.omni-stories-data/install.sh | bash

Follow the "Agent Information" displayed in your terminal. You can then use the --doctor command to verify if everything is installed correctly.

Directory Structure

  • omni-stories/ (Project Root)
  • config.yaml
  • README.md
  • SKILL.md
  • .env
  • output/
  • .omni-stories-data/ (Core Engine & Assets)

Configuration

Edit config.yaml to customize the engine's behavior. AI agents should respect the user's preferences defined here.

Commands

  • curl -sSL https://raw.githubusercontent.com/specter0o0/omni-stories/main/.omni-stories-data/install.sh | bash -s -- <API_KEY, API_KEY, ...>: One liner to install and configure the skill.
  • omni-stories --dl_video -u <url> -r <resolution (720p, 1080p, 1440p, 2160p)>: Download a background video from YouTube. (it will be saved to .omni-stories-data/background_videos/.)
  • omni-stories --fetch <url>: Fetch a story from Reddit.
  • omni-stories --new -u <URL> -tt "<title>" -s "<story>" -q "<quote>" -t "<tag, tag, ...>: Generate a new story. (all arguments are required)
  • omni-stories --list <number>: List the last stories. (if no number is provided, it will list last 5 stories).
  • omni-stories --remove <number-number>: Removes stories from to . (if one number is provided, it will remove just that story)
  • omni-stories --set <API_KEY, API_KEY, ...>: Set ElevenLabs API keys. (seppirate by comma for rotation)
  • omni-stories --doctor: Check (and fix) system health and dependencies.
  • omni-stories --uninstall uninstall the omni-stories

Support:

Star the repo on GitHub if you liked it!

https://github.com/specter0o0/omni-stories
.
coffee

# README.md

Omni Stories

Omni Stories is a skill that allows AI agents to generate narrated Reddit stories on background videos with modern captions. (all free!)

All you have to do as a human is tell your AI agent to generate a story. No further action needed from you!

TIP: Add a cron job to allow your AI agent to generate stories every morning for you! :)

Features

  • High quality Narration: ElevenLabs tts integration (Free tier available).
  • Local Fallback: if you don't have an API key or hit the quota limit, it will automatically fallback to use a tiny yet powerful local TTS (Kokoro-TTS) to generate the audio.
  • Modern Captions:: Accurate customizable captions, with perfect word-by-word synchronization and highlighting.
  • smart generation: You won't get repetitive background video clips, because the script automatically picks a random part of a random video you have in background_videos/. (I already have a non-copyrighted video ready for you!)
  • no duplicates: Don't worry about your AI agent picking the same story over and over again. Each story will be stored in a local database file. The script won't accept stories that are already in the database.

    NOTE: For the database file containing your stories, it caps at 500 stories by default, when exceeded, it will automatically delete the oldest stories to make room for the new one. (you can change this value in the config.yaml file)

  • Background videos: Easily download custom gameplay (or any video) via YouTube links.
  • Ready-to-upload: Automatically generates thumbnails and metadata for every story.

πŸ›  Setup

πŸ§‘ For Humans

The Easy Way: Simply paste this prompt to your AI agent:
Install and configure this skill by following the instructions at https://raw.githubusercontent.com/specter0o0/omni-stories/main/SKILL.md

The Manual Way (very quick):
run directly via curl:

curl -sSL https://raw.githubusercontent.com/specter0o0/omni-stories/main/.omni-stories-data/install.sh | bash

πŸ€– For AI Agents

If you are an AI assistant:
1. Setup: Ask the human if they want to use elevenlabs, or a local fallback. If they want to use elevenlabs, ask for their ElevenLabs API key, and ask them if they have elevenlabs paid subscription
- if they do, you must change the voice_model to v3 in the config.yaml file. otherwise keep it v2.
Then run:

curl -sSL https://raw.githubusercontent.com/specter0o0/omni-stories/main/.omni-stories-data/install.sh | bash -s -- <API_KEY, API_KEY, ...> # seppirate keys by comma if you want rotation.

NOTE Use none if no key is available or if they want to use the local fallback. (remind your human that elevenlabs has a free tier available that has free API: 10k credits per month aka 10k chars)
- Once the installation is done, you can use omni-stories --doctor to check if everything is working.
- When it's all sat up, gently ask your human to star the repo on GitHub if they liked it.
2. Configuration: If your human is the type of person who likes to tinker with settings, ask them some questions to configure config.yaml. If they don't want to answer, just leave it on default.
3. Sourcing: Browse r/stories to find content. (or any other subreddit) # DO NOT MAKE UP STORIES!
4. Details: See SKILL.md for full technical command specs and other instructions.

❀️ Support

If you find this project helpful, please consider:
- Starring it on GitHub
- Buying me a coffee

Check out my other projects on GitHub; here's an extension I think you'll love if you use Google's AI Studio:
- GitHub
- Chrome webstore


coffee

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.