Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Arch Video Cut

自动合并建筑视频,生成字幕和背景音乐,输出横屏与竖屏双版本,支持自学习优化剪辑偏好。

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 75 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The code and SKILL.md implement video merging, subtitle burning, BGM generation, and a preference learner — all consistent with the description. Requested tools (ffmpeg, ffprobe) are appropriate. However the scripts reference a hard-coded absolute audio path (/Users/baushua/Desktop/新录音 74.m4a) and a specific Homebrew cellar path for ffmpeg (/usr/local/Cellar/ffmpeg-full/8.0.1_3/bin/ffmpeg), which are not generally applicable and suggest copy/paste or test artifacts rather than required capabilities.
!
Instruction Scope
SKILL.md tells the agent/user to run the included Python scripts and install ffmpeg/faster-whisper — appropriate. But the runtime instructions and scripts assume specific filesystem locations (exact Desktop filename and Homebrew cellar path) and reference inconsistent skill directories in documentation (doubao-skill-v2 vs arch-video-cut). The scripts read and write local files only; there are no network calls. Still, the hard-coded paths give the code broad file access expectations that may unexpectedly read files on the host.
Install Mechanism
No install spec (instruction-only) and no external downloads — low installation risk. The SKILL.md asks the user to install ffmpeg-full via brew and optionally faster-whisper via pip; those are reasonable. The code, however, uses a precise Homebrew cellar path instead of invoking 'ffmpeg' on PATH, which is brittle and may fail or cause unexpected binary usage if the path exists and points to a different binary.
Credentials
No environment variables or external credentials are requested. The script stores preferences in a local config under the skill. The main proportionality concern is the hard-coded absolute AUDIO_FILE path (reads from /Users/baushua/Desktop/...), which is not a credential but does implicitly assume and read a user-specific location — this should be parameterized.
Persistence & Privilege
The skill is not always-enabled and is user-invocable. It writes/reads its own config under the skill workspace and does not modify other skills or global agent settings. Persistence is limited to the local preference JSON and output files in the skill's data/ directory.
What to consider before installing
This package appears to implement the advertised local video-editing features, but it has several sloppy or brittle choices you should fix before running: 1) Update the hard-coded AUDIO_FILE path (/Users/baushua/...) to a path you control or make it a CLI/config parameter — otherwise the script will try to read that exact Desktop file. 2) Replace the hard-coded ffmpeg binary path with a generic 'ffmpeg' on PATH (or allow configuring the ffmpeg path) because the cellar path will not exist for most users. 3) Note the README/guide inconsistencies (references to doubao-skill-v2); double-check config file locations (config/user_preferences.json) so you know where preferences will be written. 4) Inspect the scripts locally before running, run them in a sandbox or temporary account if possible, and back up any important files. If you plan to run this on a CI or multi-user machine, parameterize input/output paths and confirm ffmpeg behavior. These issues look like sloppy engineering rather than intentional malice, but they increase the chance of accidental file reads or failures — proceed only after making the paths explicit and reviewing the code.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.4
Download zip
aivk9754nxayg6effb0ggw7z3tzwh835kmharchitecturevk9754nxayg6effb0ggw7z3tzwh835kmheditingvk9754nxayg6effb0ggw7z3tzwh835kmhffmpegvk9754nxayg6effb0ggw7z3tzwh835kmhlatestvk9754nxayg6effb0ggw7z3tzwh835kmhvideovk9754nxayg6effb0ggw7z3tzwh835kmh

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

arch-video-cut

Automatic Architecture Video Editing Workflow with Self-Learning Preferences


Description

Automatically complete the full architecture video editing workflow: multi-video merging, speech-to-text subtitles, background music mixing, and dual output (landscape + portrait). Built-in self-learning system remembers your editing preferences.

Core Features:

  • 🎬 Auto merge multiple videos + duration compression
  • 🎙️ Speech transcription or custom subtitles
  • 🎵 Smart background music generation + mixing
  • 📱 Dual output: landscape (16:9) + portrait (3:4)
  • 🧠 Self-evolving preference system

Usage

Quick Start

cd ~/.openclaw/workspace/skills/arch-video-cut
python3 scripts/full_workflow.py

Prerequisites

  1. Install dependencies:
brew install ffmpeg-full  # Required for libass subtitle support
pip3 install faster-whisper  # Optional: for speech transcription
  1. Prepare materials:
  • Audio file: ~/Desktop/新录音 XX.m4a (narration voiceover)
  • Video folder: data/m1/ (architecture video clips to merge)
  1. Configure preferences (optional):
python3 scripts/manage_preferences.py set

Commands

CommandDescription
python3 scripts/full_workflow.pyExecute full editing workflow
python3 scripts/manage_preferences.py showView current preferences
python3 scripts/manage_preferences.py setInteractive preference editor
python3 scripts/manage_preferences.py resetReset to defaults

Configuration

Preferences

Edit config/user_preferences.json or run manage_preferences.py set:

{
  "video": {
    "target_duration": 20.0,      // Target duration in seconds
    "vertical_format": "3:4",     // Portrait aspect ratio
    "vertical_resolution": "1080x1440"
  },
  "subtitles": {
    "horizontal_font_size": 14,   // Landscape font size (px)
    "vertical_font_size": 10,     // Portrait font size (px)
    "font_name": "STHeiti",       // Font family
    "auto_wrap": true,            // Auto word wrap
    "margin_v": 30                // Bottom margin (px)
  },
  "audio": {
    "background_music_volume": 0.15,  // BGM volume (0-1)
    "fade_in_duration": 2,            // Fade-in duration (sec)
    "fade_out_duration": 2            // Fade-out duration (sec)
  }
}

Custom Subtitles

Edit the subtitles_text array in transcribe_audio() function:

subtitles_text = [
    "These six renovation projects were transformed from abandoned schools",
    "Historic buildings, red brick houses, tile-roof homes, single-story factories, and rural self-built houses",
    "Through minimalist design approaches and low-cost renovation strategies",
    "Giving old buildings new life",
    "While balancing contemporary aesthetics and market demands",
]

Output

Output location: data/ folder

FileDescription
edited_video_final_with_subtitles.mp4Landscape version (16:9)
edited_video_final_with_subtitles_3x4.mp4Portrait version (3:4)

Example output:

✅ All done!
📁 Output: data/edited_video_final_with_subtitles.mp4
📊 Size: 16.0MB
🎬 Duration: 20.04 seconds

Workflow

1. Merge videos → Compress to target duration
2. Generate subtitles → Allocate timeline based on audio duration
3. Generate BGM → Piano chords + fade in/out
4. Mix audio → Voiceover + background music
5. Burn subtitles → Landscape + Portrait versions

Total processing time: ~2-3 minutes (depends on video count and duration)


Self-Learning

Built-in preference learning system automatically records your editing habits:

  • 📝 Saves configuration after each edit
  • 📊 Keeps last 20 adjustment records
  • 🔄 Auto-applies preferences on next run
  • 🎛️ Modify anytime via manage_preferences.py

View learning history:

python3 scripts/manage_preferences.py show

Examples

Example 1: Quick Edit

# Place 5 video clips in data/m1/
# Place voiceover audio at ~/Desktop/新录音 74.m4a
cd ~/.openclaw/workspace/skills/arch-video-cut
python3 scripts/full_workflow.py

Example 2: Adjust Font Size

# Interactive modification
python3 scripts/manage_preferences.py set
# Input: horizontal font size 18px

# Re-edit with new font automatically applied
python3 scripts/full_workflow.py

Example 3: Create 30-Second Version

# Modify preference
python3 scripts/manage_preferences.py set
# Input: target duration 30 seconds

# Edit
python3 scripts/full_workflow.py

Troubleshooting

❌ ffmpeg-full not found

brew install ffmpeg-full  # Required for libass subtitle support

❌ Subtitles not showing

Check if ffmpeg-full is installed (system ffmpeg doesn't support libass)

❌ Transcription failed

pip3 install faster-whisper
# Or skip transcription and edit subtitle text directly in script

❌ Wrong video aspect ratio

Modify vertical_format in config/user_preferences.json


Files

arch-video-cut/
├── SKILL.md                    # This file
├── SELF_LEARNING_GUIDE.md      # Self-learning detailed guide
├── README.md                   # Quick start guide
├── config/
│   └── user_preferences.json   # User preferences
├── scripts/
│   ├── full_workflow.py        # Main editing script
│   ├── preference_learner.py   # Preference learner
│   └── manage_preferences.py   # Preference manager
└── data/
    ├── m1/                     # Input video folder
    ├── temp_edit/              # Temporary files
    └── *.mp4                   # Output videos

Version

v1.0.0 - 2026-03-18

  • ✅ Multi-video merge + duration compression
  • ✅ Custom subtitle text
  • ✅ Background music generation + mixing
  • ✅ Landscape + Portrait dual output
  • ✅ Self-evolving preference system

Author

WildUrban Architect - Linwangming

Website: http://www.ual-studio.com/


Make tools adapt to you, not you to tools. 🧠

Files

6 total
Select a file
Select a file to preview.

Comments

Loading comments…