- Match command syntax to execution environment: PowerShell for Windows, shell for WSL/Linux
- Choose execution by video locality, not merely where the agent runs
- Clarify that agents should perform lightweight setup themselves when possible
- Document WSL agents can use powershell.exe to run Windows host setup
- Hand off only long-running transcription/media commands to the user
- Choose Windows vs WSL execution based on where the video file lives
- Windows-host videos (/mnt/c, /mnt/d, C:, D:) should use PowerShell and Windows-local transcription project
- WSL/Linux videos (/home, /var, Linux mounts) should use Linux/WSL commands
- Keep Windows uv UNC-path warning, but only when Windows execution is chosen
- Add reference doc with Windows and WSL command templates
- Document that Windows uv should not run from WSL UNC paths
- Recommend cloning the skill repo on Windows or copying scripts/transcription to C:\...
- Add PowerShell setup examples for Windows-local transcription directory
- Update long-running operations and pitfalls to require Windows local paths
Step 4 — Transcribe audio:
- Explicit: all output goes in video's own directory, never ~/whisperx_output/
- Transcription commands given to user to execute, not run by agent
- WSL agents provide PowerShell commands with Windows paths
- VIDEO_DIR and SKILL_DIR placeholders explained
Long-running operations:
- Rewritten: generate command for user, not agent executes
- WSL → PowerShell with Windows paths
- Agent verifies output after user reports completion
Self-contained setup:
- uv sync also given to user; WSL → PowerShell variant
Step 3 — Ask editing requirements:
- Optional grill-me skill loading hint for structured interviewing
Pitfalls #11, #12:
- #11: never use ~/whisperx_output/ or separate output dirs
- #12: don't run transcription in agent's own environment
manage_index.py:
- Complete rewrite from SQLite to JSON file format
- All file paths stored as relative (relative to video directory)
- Moving the entire video directory does not break references
- Paths outside video dir stored as absolute (editable in text editor)
- Same 8 subcommands, same CLI interface
SKILL.md:
- Step 5: SQLite schema replaced with JSON structure example
- Verification checklist: .vedit.db → .vedit.json
README.md + README.zh.md:
- Features: 'SQLite database' → 'JSON file with relative paths'
- Project structure: 'SQLite index management' → 'JSON index management'
- 'Index Database' section → 'Index File' with relative path explanation
.gitignore:
- *.vedit.db → *.vedit.json
SKILL.md:
- Workflow header: remove transcription-specific example, state generically
that users may need any subset of capabilities
- When to Use: add 3 more standalone use cases (transcription, visual
analysis, material search), with generalizing statement
- Verification checklist: replace specific skip conditions with generic
'skip if not relevant to the user's request'
SKILL.md:
- Workflow header: explicit statement that every step is optional
Example: transcription-only → Steps 1,2,4,5 and stop
- When to Use: add standalone transcription as valid use case
- Don't use for: remove 'pure audio-only transcription' exclusion
- Verification checklist: each item tagged with which step it belongs to
and whether it can be skipped (e.g. Step 3/8 skip for transcription-only)
SKILL.md:
- Step 2: user can provide multiple track indexes (e.g. mic + Discord)
- Step 4: transcribe each track separately, cross-reference all transcripts
- Step 5: get-transcription supports --track filter
manage_index.py:
- get-transcription: optional --track flag to filter by track index
- Without --track, returns all transcription records (was: latest only)
SKILL.md:
- Step 6: two clip modes — video-only (frame extraction) vs all-streams (editor use)
- Pitfall #10: warn about dropping audio tracks with default -map 0:v:0
- Note on keyframe accuracy vs frame-exact re-encode
extract_frames.py:
- New --all-streams flag on clip subcommand
- -map 0 preserves video + all audio tracks + subtitles
- Default remains -map 0:v:0 for fast frame extraction
README (EN + ZH):
- npx skills add: use HTTPS URL instead of SSH
- Remove 'First use' uv sync section (agent handles setup, not user)
- Remove 'Stock Material Search' section (workflow detail, belongs in SKILL.md)
- Keep README focused on overview + workflow, not implementation details
- Fun-ASR-Nano marked as default in Features
SKILL.md:
- Step 4: explicitly state Fun-ASR-Nano as recommended default model
A conversational video-editing planning assistant. Provides tools for:
- Audio transcription via bundled funasr-script (Fun-ASR-Nano / SenseVoice)
- On-demand clip extraction and frame sampling (ffmpeg, hardware-accelerated)
- SQLite index to track all artifacts and avoid duplicate processing
- Vision analysis guidance with binary-search-style frame sampling
- Iterative Markdown-table edit plan output
Agent-agnostic: no platform-specific tool names, works with any agent runtime.
Dependencies checked at guidance level with OS package manager install hints.