Office Document Editor
Professional DOCX/PPTX document editing with tracked changes, formatting preservation, highlights, strikethrough, and Git version control.
clawhub install office-document-editorAutomates video rough editing by detecting silence, scoring segments, removing duplicates, and generating a best-segment clip and detailed report.
# Install Skill (downloads SKILL.md to .claude/skills/) clawhub install video-aroll-auto-editor # Then just tell Claude: "use Video A'Roll Auto Editor v4.7 to help me..."
# Same install command — works with all SKILL.md-compatible AI coding tools clawhub install video-aroll-auto-editor
This Skill is compatible with the OpenClaw standard. After installation, a SKILL.md file is auto-generated, usable by any OpenClaw-compatible AI Agent (Claude Code, Cursor, Windsurf, etc.).
# macOS
brew install ffmpeg
pip install openai-whisper
# Ubuntu / Debian
sudo apt install ffmpeg
pip install openai-whisper
python3 video_editor_auto_v4.6.py ./video.MTS ./output
output/
├── video_粗剪.mp4 # Best segment (clipped)
└── video_报告.md # Processing report
python3 video_editor_auto_v4.6.py ./Video ./output
output/
├── 最终拼接_20260311_1905.mp4 # Deduplicated concatenated video
└── 批量处理报告.md # Batch report (segment details + dedup decisions)
python3 video_editor_auto_v4.6.py <input> [output_dir] [work_dir]
<input> | Video file path (Scenario A) or folder path (Scenario B) | Required |
| [output_dir] | Output directory for clips and reports | ./output |
| [work_dir] | Temporary directory for intermediate files | ./video_work |.MTS, .mp4, .movInput video → Silence detection → Segment identification → 4-dimension scoring
→ Candidate filtering → Whisper transcription → Fluency analysis
→ Within-video dedup → Layered selection → Clip output
Input directory → Process each video (Scenario A, no individual reports)
→ Cross-video deduplication → Concatenate by filename order
→ Clean intermediate files → Generate single batch report
CONFIG dict at the top of the script:CONFIG = {
# Silence detection
"silence_noise": -30, # dB, lower = stricter
"silence_duration": 0.8, # seconds, minimum silence length
# Filtering
"min_score": 90, # Minimum base score (max 100)
"min_duration": 15, # Minimum segment duration (seconds)
# Clip buffer
"buffer_start": 1, # Buffer before start (seconds)
"buffer_end": 3, # Buffer after end (seconds)
# Encoding
"crf": 18, # Video quality (18=visually lossless, 23=default)
"preset": "fast", # Encoding speed
"audio_bitrate": "192k", # Audio bitrate
# Adjusted score weights
"penalty_repeat": 5, # Per repeat penalty
"penalty_stutter": 3, # Per stutter penalty
"penalty_interrupt": 10, # Sudden interruption penalty
"bonus_natural_end": 5, # Natural ending bonus
"bonus_completeness_max": 3, # Completeness bonus cap
# Deduplication
"duplicate_threshold": 0.7, # Content similarity threshold (0-1)
}
silence_noise | -35 |
| Segments too fragmented | silence_duration | 1.0 |
| Want more candidates | min_score | 85 |
| Want shorter segments | min_duration | 10 |
| Higher quality | crf | 15 (larger files) |Layer 1: Prefer naturally ending segments
Layer 2: Sort by fluency (tolerance 1.5 per 30s)
Layer 3: Sort by adjusted score
Layer 4: Tie-break → incomplete: pick last; complete: pick longest
Natural end > Adjusted score > Index/filename order (later preferred)
silence_noise from -30 to -35.silence_duration from 0.8 to 1.0 or 1.5.small model for speed/accuracy balance. To improve:
transcribe_segment, change --model small to --model medium or --model largemedium model has ~85% accuracy for Chinese; recommended if resources allowoutput/<video_name>_报告.mdoutput/批量处理报告.md (includes segment details, transcription summaries, dedup decisions)video_editor_v4.6_release/
├── video_editor_auto_v4.6.py # Main script
├── README.md # This doc
├── CODE_DOCUMENTATION.md # Technical doc (architecture, modules, API)
├── requirements.txt # Python dependencies
├── LICENSE # GPL v3 license
└── .gitignore # Git ignore rules
CODE_DOCUMENTATION.md.clawhub video-aroll-auto-editor --input recorded_stream.mp4 --mode auto --silence-threshold -35 --min-duration 1.5 --extract-best --output edited.mp4 --report json --output-report summary.json