Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add openstory-so/openstory --skill stitchgit clone --depth 1 https://github.com/openstory-so/openstoryWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/openstory-so/openstory/stitch)<a href="https://agentmods.dev/skills/openstory-so/openstory/stitch"><img src="https://agentmods.dev/badge/skills/openstory-so/openstory/stitch/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/openstory-so/openstory/stitch"><img src="https://agentmods.dev/badge/skills/openstory-so/openstory/stitch.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.00943 |
| Opus 5.5 | $0.00025 | $0.00377 |
| Sonnet 5.5 | $0.00012 | $0.00189 |
| Haiku 4.5 | $0.00006 | $0.00094 |
Grade A, and why
stitch scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.
stitch
/stitch runs the stitch command and leaves it running. The page it opens is the player.
Command
From the directory that holds the files, with paths that reach them, or with http(s) URLs anywhere a file goes:
npx @openstory/stitch@latest \
--frame 9:16 \
--music score.mp3 --music-gain -3 \
--subs lines.srt \
shot.mp4 --poster board.png --cue 0-1.5 "Love that accent." \
board.png --audio line.wav --seconds 3 --cue 0-2 "Coming over?"
- Put the stills and videos in play order. Each is a path or an
http(s)URL. The command reads a URL itself and serves it to the page from its own origin, so a remote without CORS headers still plays and exports. - A
.mp4,.webm, or.movis a video. Its dialogue is the audio inside the file. Do not pass--audiofor a video. - A
.png,.jpg,.jpeg, or.webpis a still. The command reads its width and height. --audioadds a line (a.wav,.mp3,.m4a, or.ogg) to the still before it. Repeat it for another line. The still stays up for the longer of--secondsand that sound.--secondsdefaults to 4.--cue START-END TEXTis a subtitle on the clip before it. Quote the text. Times are seconds from the start of that clip.--subs lines.srt(or.vtt) is one subtitle file for the whole cut. Times in the file are from the start of the first clip. A cue that crosses a cut is split onto both clips. Use this instead of one--cueper line when a file already exists.--posteris the still shown while the cut opens. It belongs on an opening video.--fallbackis the picture tried when the still before it fails to load.--musicis the bed under the whole cut, a.wav,.mp3,.m4a, or.ogg.--music-gainchanges only that bed, in dB. It defaults to 0. The page can turn that bed off; dialogue stays.--frame 9:16(or1080x1920) is the shape of the page. Give it when the shape is known: without it the command reads the first clip to find out. Every clip is fitted into that box.- Run that
npxcommand and give the user thehttp://127.0.0.1:URL it prints. Leave the process running until they are done.--no-openskips opening a browser.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +2 lines · +7 tokens per session 005e72c6babc
- yesterday First seen · 45 lines · 55 tokens per session scan A b6dffe2242e6
stitch is a skill published in the GitHub repository openstory-so/openstory (675 stars, last pushed today), licensed MIT. It adds 62 tokens to every session and 943 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-15.
Other skills, from other repositories
videoagent-video-studio
Generate short AI videos from text or images — text-to-video, image-to-video, and reference-based generation — with zero API key setup. Use when the user wants to create a video clip, animate an image, or generate video from a description.
frontend-verify
Verify frontend changes end to end after editing a web app, instead of manually clicking through pages. Use this whenever you have changed UI code and need to confirm nothing broke: "verify my frontend", "check the site after these edits", "did my UI break", "did my changes break anything", "make sure these routes…
demo
Record a short demo VIDEO of a PR or feature — drive the repo's web UI in a real headless browser, capture the session, and composite a titled, size-capped mp4 with ffmpeg. Use on the docker QA image when the deliverable is a playable demo clip (single walkthrough or before/after comparison), not a text/screenshot…
telegram-userbot
Use when full MTProto control of Telegram account via Telethon. DM, Voice Note, Call, Video Call, Group/Channel management, member scraping, bot cloning, outreach automation, broadcast, CRM tracking, content reposting, scheduled messaging, webhook triggers. Use for all Telegram automation as a real user (not bot API).
bilibili-cli
A command-line skill for Bilibili, a Chinese video-sharing platform. It retrieves videos, user profiles, searches, trending content, subtitles, favorites, and supported interactions in machine-readable output.
youtube-watcher-zh
A YouTube subtitle tool that downloads available captions with yt-dlp and uses them to summarize videos, answer questions, search for terms, and examine topics or word use.