---
name: auto-clipper
displayName: AutoClipper
description: Automatically create clips and videos from media files in a specified folder. Uses Agent Swarm for intelligent task delegation and supports cron-based scheduling.
version: 1.0.0
---

# AutoClipper

## Description

Automatically create clips and videos from media files in a specified folder. Uses Agent Swarm for intelligent task delegation and supports cron-based scheduling.

# AutoClipper

**Automatic Video Clip & Highlight Generator for OpenClaw.**

**v1.0.0 — Design draft.** Automatically scan a folder for media files, create clips/highlights using ffmpeg, and organize output. Cron-ready for scheduled automation.


## Installation

```bash
# Add to crontab (crontab -e)
# Run every hour at minute 0
0 * * * * /Users/ghost/.openclaw/workspace/skills/auto-clipper/scripts/run.sh

# Or run daily at 9 AM
0 9 * * * /Users/ghost/.openclaw/workspace/skills/auto-clipper/scripts/run.sh --output daily
```


## Usage

- **Screen recording highlights**: Auto-clip moments from Loom/obsidian recordings
- **Meeting recaps**: Extract key segments from meeting recordings
- **Content creation**: Batch-process raw footage into short clips
- **Security camera clips**: Pull motion-triggered segments from camera feeds
- **Gaming highlights**: Auto-clip "best of" moments from recordings

```bash
# Run once (scan and process)
python3 scripts/auto_clipper.py run

# Dry run (show what would be processed)
python3 scripts/auto_clipper.py run --dry-run

# Force reprocess all files
python3 scripts/auto_clipper.py run --force

# Start continuous watcher (not cron-based)
python3 scripts/auto_clipper.py watch

# Show status
python3 scripts/auto_clipper.py status
```


## Purpose

AutoClipper enables OpenClaw agents to automatically:
- **Monitor a watch folder** for new media files (videos, screen recordings, camera clips)
- **Analyze media** to understand what's worth clipping (via Agent Swarm delegation)
- **Generate clips** using ffmpeg (highlights, segments, trimmed videos)
- **Produce compilations** by stitching multiple clips together
- **Schedule runs** via cron for fully automated workflows


## Architecture

```
┌─────────────────────────────────────────────────────────────┐
│                      AutoClipper Skill                       │
├─────────────────────────────────────────────────────────────┤
│  1. Watch Folder (configurable input path)                  │
│         ↓                                                   │
│  2. Media Scanner (find new files, filter by extension)    │
│         ↓                                                   │
│  3. Agent Swarm delegation (analyze → clip strategy)             │
│         ↓                                                   │
│  4. Clip Engine (ffmpeg operations)                         │
│         ↓                                                   │
│  5. Output Organizer (save to output folder, optional SNS)  │
└─────────────────────────────────────────────────────────────┘
```


## Components

### 1. Watch Folder Scanner
- Monitors a configured input directory
- Filters by file extensions: `.mp4`, `.mov`, `.mkv`, `.avi`, `.webm`
- Tracks processed files (to avoid re-processing)
- Configurable: `watchFolder`, `fileExtensions`, `processedLog`

### 2. Media Analyzer (via Agent Swarm)
- Delegates analysis to appropriate model (MiniMax for code/technical, Kimi for creative)
- Determines:
  - Which segments to clip (timestamp ranges)
  - Clip duration targets
  - Output format preferences
- Returns structured clip plan: `[{start, end, label, priority}]`

### 3. Clip Engine (ffmpeg)
- **Trim**: Extract segments without re-encoding (fast)
- **Transcode**: Convert to target format/codec
- **Highlight**: Auto-detect "interesting" segments (via scene detection)
- **Compile**: Stitch multiple clips into single video
- **Overlay**: Add watermarks, timestamps, captions

### 4. Output Manager
- Organized output folder structure: `output/YYYY-MM-DD/`
- Configurable naming: `{original}-{timestamp}-{index}.mp4`
- Optional: Notify via OpenClaw message (Discord, WhatsApp, etc.)

### 5. Cron Scheduler
- Standalone script for cron integration
- Configurable schedule: `0 * * * *` (hourly), `0 9 * * *` (daily at 9am)
- Dry-run mode for testing
- Lock file to prevent overlapping runs


## Configuration (config.json)

```json
{
  "watchFolder": "~/Downloads/Recordings",
  "outputFolder": "~/Videos/Clips",
  "fileExtensions": [".mp4", ".mov", ".mkv"],
  "processedLog": "logs/processed.json",
  "clipSettings": {
    "defaultDuration": 60,
    "minClipDuration": 10,
    "maxClipDuration": 300,
    "outputCodec": "h264",
    "outputFormat": "mp4"
  },
  "intentRouter": {
    "enabled": true,
    "model": "openrouter/minimax/minimax-m2.5"
  },
  "cron": {
    "schedule": "0 * * * *",
    "enabled": false
  },
  "notifications": {
    "enabled": false,
    "channel": "discord"
  }
}
```


## Tools Needed

| Tool | Purpose | Required |
|------|---------|----------|
| **ffmpeg** | Video transcoding, trimming, clipping | Yes |
| **ffprobe** | Media metadata extraction (duration, codec) | Yes |
| **Agent Swarm** | Analyze media and determine clip strategy | Yes |
| **OpenClaw message** | Send notifications when clips are ready | Optional |
| **OpenClaw nodes** | Screen recording capture (live input) | Optional |
| **file system** | Watch folder, output management | Yes |


## Agent Swarm integration

When AutoClipper finds new media, it delegates analysis:

```
User task: "Analyze video and suggest clip timestamps for meeting highlights"
→ router.spawn() → sessions_spawn(task, model)
← Returns: [{start: "00:05:30", end: "00:07:45", label: "action item discussion"}, ...]
```

**Prompt template for media analysis:**
```
Analyze this video file: {filename}
Duration: {duration_seconds} seconds
Extract: Key moments worth clipping as short highlights (30-90 seconds each)
Output: JSON array of {start_timestamp, end_timestamp, description}
```


## Directory Structure

```
auto-clipper/
├── SKILL.md              # This file
├── _meta.json            # Skill metadata
├── config.json           # Configuration
├── README.md             # Setup instructions
├── scripts/
│   ├── auto_clipper.py   # Main entry point
│   ├── scanner.py        # Watch folder scanner
│   ├── clipper.py        # ffmpeg wrapper
│   ├── analyzer.py       # Agent Swarm integration
│   └── run.sh            # Cron launcher
└── logs/
    └── processed.json    # Track processed files
```


## Keywords

- **video**, **clip**, **clips**, **highlight**, **highlights**
- **trim**, **cut**, **extract**, **segment**
- **ffmpeg**, **transcode**, **encode**, **convert**
- **folder**, **watch**, **monitor**, **automation**
- **cron**, **schedule**, **batch**, **process**
- **screen recording**, **meeting**, **recording**


## Skill Name Ideas

1. **AutoClipper** ✓ (chosen)
2. **ClipForge**
3. **MediaMason**
4. **VideoHarvest**
5. **HighlightHub**
6. **ClipStream**
7. **MediaSnip**
8. **AutoTrim**


## Implementation Phases

### Phase 1: Core (MVP)
- [ ] Folder scanner with extension filtering
- [ ] Basic ffmpeg trim operation
- [ ] Simple processed file tracking
- [ ] CLI entry point

### Phase 2: Intelligence
- [ ] Agent Swarm integration for clip planning
- [ ] Scene detection for auto-highlighting
- [ ] Metadata extraction with ffprobe

### Phase 3: Automation
- [ ] Cron launcher script
- [ ] Continuous watcher mode
- [ ] Notification system
- [ ] Output organization

### Phase 4: Advanced
- [ ] Multi-clip compilation
- [ ] Overlay/watermark support
- [ ] Custom clip templates
- [ ] Node camera integration


## Notes

- **Performance**: Use `-c copy` for fast trimming (no re-encode)
- **Storage**: Auto-cleanup processed files or move to archive
- **Error handling**: Skip corrupted files gracefully, log failures
- **Idempotency**: Same input file should not produce duplicate output


---
Source attribution: modbender
Original project: https://github.com/modbender/skill-library-mcp/blob/d9c8fe903b5b4e82237dbe8d0df8567783022e18/data/auto-clipper/SKILL.md
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Mega AI Hub.

## Upstream license notice

MIT License

Copyright (c) 2025 skill-library-mcp contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Mega AI Hub resource metadata

Creator / publisher: modbender
Original project: https://github.com/modbender/skill-library-mcp/blob/d9c8fe903b5b4e82237dbe8d0df8567783022e18/data/auto-clipper/SKILL.md
Attribution basis: Source repository record

Fields of work: Content & Media, Marketing
Roles: Content Marketer, Social Media Manager, Video Producer
Specialties: Specialty not specified
Tools: FFmpeg, OpenAI API, Agent Swarm
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: 55ac3983a20e31de1cce3aab3dcbea1339b13d8bc141c64d60103e84bf760380
