CLI tool for inspecting, modifying, and compressing image and video files.

Install

mkdir -p .claude/skills/skills-sergio-prog && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11065" && unzip -o skill.zip -d .claude/skills/skills-sergio-prog && rm skill.zip

Installs to .claude/skills/skills-sergio-prog

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Fram is a compact media workshop for the terminal, API, and Telegram. The current primary surface is the `fram` CLI, backed by the same typed processing core used by the API and bot.
182 chars · catalog descriptionno explicit “when” trigger
Beginner

Key capabilities

  • Resize images
  • Crop images
  • Convert media formats
  • Compress media
  • Extract media metadata

How it works

It uses FFmpeg to perform reliable image and video manipulation, providing a typed processing core for media tasks.

Inputs & outputs

You give it
Media file and operation
You get back
Processed media file

When to use skills

  • Compressing images
  • Converting video formats
  • Extracting image metadata
  • Resizing avatars

About this skill

Fram Agent Skill

Fram is a compact media workshop for the terminal, API, and Telegram. The current primary surface is the fram CLI, backed by the same typed processing core used by the API and bot.

Use Fram when a user wants to inspect, resize, crop, compress, convert, rotate, flip, blur, grayscale, trim, re-time, or extract media from local image/video files.

Requirements

  • Python 3.11+ for source installs.
  • FFmpeg and FFprobe on PATH for video work and most metadata/probe flows.
  • Prefer the strict CLI commands for automation. Use interactive mode only when the user explicitly wants a TUI.

Install

From a checked-out repository:

scripts/install.sh

From a Git URL or future package source:

scripts/install.sh --from git+https://github.com/Sergio-prog/fram.git

The script prefers uv tool install and falls back to pipx, which keeps the global CLI isolated from project environments.

CLI Basics

Show help:

fram --help
fram help resize
fram resize --help

Inspect media:

fram info input.jpg
fram info input.mp4

If -o/--output is omitted, Fram writes a generated output path next to the input. For agent workflows, usually pass -o explicitly so the result path is predictable and no existing user file is surprised.

Image Commands

fram resize input.jpg 128x128 -o output.jpg
fram crop input.jpg 128x128 --anchor center -o avatar.jpg
fram compress-image input.jpg --quality 80 -o compressed.webp
fram convert input.png webp -o output.webp
fram rotate input.jpg 90 -o rotated.jpg
fram flip input.jpg --horizontal -o flipped.jpg
fram strip-metadata input.jpg -o clean.jpg
fram blur input.jpg --radius 2 -o blurred.jpg
fram grayscale input.jpg -o gray.jpg

Video Commands

fram cut input.mp4 --start 00:00:05 --end 00:00:12 -o clip.mp4
fram cut input.mp4 --start 5 --duration 10 -o clip.mp4
fram fps input.mp4 24 -o video-24fps.mp4
fram compress-video input.mp4 --crf 24 --preset medium -o smaller.mp4
fram strip-audio input.mp4 -o silent.mp4
fram extract-audio input.mp4 -o audio.m4a
fram extract-frame input.mp4 --at 00:00:05 -o frame.png
fram gif input.mp4 --fps 12 --width 480 -o clip.gif
fram speed input.mp4 2 -o fast.mp4
fram reverse input.mp4 --no-audio -o reversed.mp4
fram grayscale input.mp4 -o gray.mp4

Interactive Mode

fram
fram input.jpg
fram input.mp4

Interactive mode is a Textual TUI with previews when the terminal supports image protocols. It is useful for manual exploration, not for repeatable agent automation.

Agent Guidance

  • Do not edit .env.* files unless the user explicitly permits it; .env.example is okay.
  • Check fram info before lossy or timing-sensitive edits when dimensions, duration, FPS, or codecs matter.
  • Prefer explicit output paths and avoid overwriting user inputs.
  • For destructive-looking operations like compression, stripping metadata, or audio removal, write to a new file unless the user asks otherwise.
  • Validate important results with fram info, file existence checks, or targeted tests.
  • Mention FFmpeg if video commands fail with missing binary, codec, or probe errors.

When not to use it

  • Interactive TUI mode for automation

Prerequisites

FFmpegFFprobe

Limitations

  • Requires FFmpeg/FFprobe

How it compares

It offers a compact, typed media workshop for terminal and automation use.

Compared to similar skills

skills side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
skills (this skill)02moReviewBeginner
video-downloader1017moReviewBeginner
video-processor174moReviewIntermediate
jianying-editor382moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

video-downloader

ComposioHQ

Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.

101255

video-processor

basher83

Process video files with audio extraction, format conversion (mp4, webm), and Whisper

17121

jianying-editor

luoluoluo22

剪映 (JianYing) AI自动化剪辑的高级封装 API (JyWrapper)。提供开箱即用的 Python 接口,支持录屏、素材导入、字幕生成、Web 动效合成及项目导出。

38110

gemini-logo-remover

bear2u

Remove Gemini logos, watermarks, or AI-generated image markers using OpenCV inpainting. Use this skill when the user asks to remove Gemini logo, AI watermark, or any logo/watermark from images.

9115

vectcut-api

sun-guannan

VectCutAPI is a powerful cloud-based video editing API tool that provides programmatic control over CapCut/JianYing (剪映) for professional video editing. Use this skill when users need to: (1) Create video draft projects programmatically, (2) Add video/audio/image materials with precise control, (3) Add text, subtitles, and captions, (4) Apply effects, transitions, and animations, (5) Add keyframe animations, (6) Process videos in batch, (7) Generate AI-powered videos, (8) Integrate with n8n workflows, (9) Build MCP video editing agents. The API supports HTTP REST and MCP protocols, works with both CapCut (international) and JianYing (China), and provides web preview without downloading.

1173

sora

davila7

Use when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI’s video API using the bundled CLI (`scripts/sora.py`), including requests like “generate AI video,” “Sora,” “video remix,” “download video/thumbnail/spritesheet,” and batch video generation; requires `OPENAI_API_KEY` and Sora API access.

23

Search skills

Search the agent skills registry