Easel is an open-source content workspace and AI agent for managing social media from trend discovery through planning, content creation, publishing, and performance analysis. It is intended for social media creators and maintains separate account profiles, content projects, platform adaptations, and publishing records. The catalogue skills support these content and publishing workflows.
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 ZJU-REAL/Easel --skill clipifygit clone --depth 1 https://github.com/ZJU-REAL/EaselWrote 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/zju-real/easel/clipify)<a href="https://agentmods.dev/skills/zju-real/easel/clipify"><img src="https://agentmods.dev/badge/skills/zju-real/easel/clipify/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/zju-real/easel/clipify"><img src="https://agentmods.dev/badge/skills/zju-real/easel/clipify.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00131 | $0.02670 |
| Opus 5.5 | $0.00052 | $0.01068 |
| Sonnet 5.5 | $0.00026 | $0.00534 |
| Haiku 4.5 | $0.00013 | $0.00267 |
Grade A, and why
clipify 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 1mo ago.
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 — 172 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Clipify
Find the funniest moments in a video, cut them as standalone clips, optionally reformat 16:9 → 9:16 (face-pan or split-screen), and burn opus-style word-by-word captions.
Inputs
- A video file path (the user will provide it; otherwise ask)
- Optional: requested format (9:16, 16:9, 1:1) — if not given, ask after candidates are picked
- Optional: subtitle style preference — if not given, ask before captioning
Tooling (use only the fastest path)
- Whisper:
whisper --model tiny.en --word_timestamps True --output_format json(≈10× faster thansmall.en; quality fine for English). For non-English:--model base(drop--language). - ffmpeg: hardware decode is optional and platform-specific — use
-hwaccel auto, or omit it (macOS:videotoolbox; Linux:vaapi/cuda/none). Add-preset ultrafastfor renders. Use-c:v libx264 -crf 20for the final master. - Numpy for audio alignment (FFT cross-correlation). No scipy/cv2 needed.
- Scripts:
<skill-dir>/scripts/(where<skill-dir>is the directory containing this SKILL.md — typically~/.claude/skills/clipify/)analyze.py— speaker timeline from two ROI motion filesbuild_pan.py— ffmpeg crop x-expression with hard cutsbuild_ass.py— opus-style ASS captions from whisper JSONaudio_align.py— find offset of a sub-clip in a longer source
Working dir: /tmp/clipify/ (mkdir at start, leave artifacts for debugging).
Workflow
Step 1 — Find the funniest parts
mkdir -p /tmp/clipify
ffmpeg -y -i "$VIDEO" -vn -ac 1 -ar 16000 /tmp/clipify/audio.wav
whisper /tmp/clipify/audio.wav --model tiny.en --word_timestamps True --output_format json --output_dir /tmp/clipify --language en
Read the resulting JSON (or .txt) and pick 3–5 candidate clips. Funny signals to scan for:
- Punchlines and reactions: words like "what", "wait", "no way", laughter, "haha", swearing
- Reversal moments: setup question → unexpected answer
- Awkward pauses: Whisper segment with long gap, or filler ("uh", "um")
- Self-roast / quotable one-liners: short declarative sentences that stand alone
- Audio peaks: detect via
ffmpeg -af volumedetector look for rapid back-and-forth (alternating short Whisper segments)
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 1mo ago First seen · 172 lines · 131 tokens per session scan A 690ee973cac9
clipify is a skill published in the GitHub repository ZJU-REAL/Easel (4,052 stars, last pushed yesterday), licensed Apache-2.0. It adds 131 tokens to every session and 2,670 once invoked, about $0.0005 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-08-30.
Other skills, from other repositories
jacky-motion2-0
A workflow for turning a Chinese spoken script and matching SRT subtitle file into a single 16:9 HTML information animation. SRT is a subtitle file that stores text with start and end times; the animation follows those times and adds recorded-screen placeholders when needed.
video-editor
Use when professional video post-production using FFmpeg — color grading, audio design, kinetic typography, transitions, motion effects, captions, brand overlays, and platform-optimized export for promotional and marketing videos. Use when editing videos, adding captions, color grading, or creating promo content.
digital-real-estate
Use when build and manage a portfolio of niche content sites generating affiliate and AdSense revenue with AI handling research, writing, SEO, and updates. Use when building and manage a portfolio of niche content sites generating.
p-video-2-pro-reference
Use when someone wants one cinematic clip that locks a subject from references — a product still, character, clip, or voice — using image or video references plus optional audio kept as the soundtrack or used as guidance. Not for text-only generation, 1080p, or drafts.
p-video
Use when someone wants a simple short clip from text or images — quick B-roll, drafts, or start/end frame animation. Not when the brief needs cinematic generation, highest quality, tight lip-sync, or imported audio at 1080p.
interactive-explainer
Use when someone wants an educational explainer with a host and characters — history or science shorts with dialogue, not voiceover-only B-roll.