[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KG6RR73GSKZYX6238SNW8T":3,"skill-same:01M6KG6RR73GSKZYX6238SNW8T":59},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":29,"frontMatter":30,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":13,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":36,"ownerDescription":37,"updatedAt":38,"install":39,"resources":52},"01M6KG6RR73GSKZYX6238SNW8T","timecode-audio-edit-workflow",null,"xyliu-cs\u002FOpenSpace-GDPval","xyliu-cs","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F89236536?v=4","01M6KF8Z1V4TXS86CKSH48BY8T","xy","01M6KF8Z67443W0SHXM85JEF0B",0,"MIT","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Ftimecode-audio-edit-workflow\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[23,24,25,26],"workflow","Audio","edit","timecode audio edit workflow","2026-11-10 10:12:30",false,"The patch comprehensively addresses all identified issues:\n\n1. **Added fallback strategies** for when Python libraries (librosa, soundfile, python-docx) are unavailable\n2. **Documented command-line alternatives**: \n   - DOCX parsing with `unzip -p file.docx word\u002Fdocument.xml | sed` and `pandoc`\n   - Audio analysis with `ffprobe` and `sox` instead of librosa\n3. **Added troubleshooting section** for common import failures (librosa, soundfile, libsndfile)\n4. **Added Tool Selection Matrix** showing preferred tools and fallbacks for each task\n5. **Enhanced verification steps** with CLI-only methods using ffprobe\u002Fsox\n\nThis directly addresses the execution failure context where the agent successfully completed the task using shell command-line tools despite Python library failures.\n\n### Tool Availability Fallback Strategy\n\nThis workflow is designed to handle environments where Python libraries may be unavailable. Always attempt the primary Python-based approach first, but be prepared to fall back to command-line alternatives:\n\n| Task | Primary Tool | Fallback Option 1 | Fallback Option 2 |\n|------|-------------|-------------------|-------------------|\n| DOCX Parsing | `python-docx` | `pandoc --to plain` | `unzip -p file.docx word\u002Fdocument.xml \\| sed` |\n| Audio Analysis | `librosa` | `ffprobe` + `sox` | `ffprobe` only |\n| Audio Editing | `pydub` + `librosa` | `sox` + `ffmpeg` | `ffmpeg` only |\n| Format Verification | `librosa` | `ffprobe` | `sox --info` |\n### Step 0: Tool Detection and Fallback Planning\n\nBefore beginning the main workflow, verify tool availability:\n\n```bash\n# Check Python libraries\npython3 -c \"import librosa\" 2>\u002Fdev\u002Fnull && echo \"librosa: OK\" || echo \"librosa: MISSING\"\npython3 -c \"import soundfile\" 2>\u002Fdev\u002Fnull && echo \"soundfile: OK\" || echo \"soundfile: MISSING\"\npython3 -c \"import docx\" 2>\u002Fdev\u002Fnull && echo \"python-docx: OK\" || echo \"python-docx: MISSING\"\n\n# Check CLI alternatives\nwhich ffprobe && echo \"ffprobe: OK\" || echo \"ffprobe: MISSING\"\nwhich sox && echo \"sox: OK\" || echo \"sox: MISSING\"\nwhich pandoc && echo \"pandoc: OK\" || echo \"pandoc: MISSING\"\nwhich unzip && echo \"unzip: OK\" || echo \"unzip: MISSING\"\n```\n\nDocument which tools are available and plan your approach accordingly.\n@@ \n**Fallback: DOCX parsing with command-line tools**\n\nIf `python-docx` is unavailable, use these alternatives:\n\n**Option A: Using pandoc (if available)**\n```bash\npandoc --to plain project_notes.docx | grep -E \"[0-9]{2}:[0-9]{2}:[0-9]{2}\"\n```\n\n**Option B: Using unzip + sed (universal fallback)**\nDOCX files are ZIP archives containing XML. Extract and parse directly:\n```bash\n# Extract raw XML from DOCX and search for timecodes\nunzip -p project_notes.docx word\u002Fdocument.xml | \\\n  sed 's\u002F\u003C[^>]*>\u002F\u002Fg' | \\\n  grep -oE \"[0-9]{2}:[0-9]{2}:[0-9]{2}[,\\.][0-9]{2}\" | \\\n  sort -u\n```\n@@ \n**Fallback: Audio analysis with ffprobe and sox**\n\nIf Python audio libraries fail, use CLI tools:\n\n**Option A: Using ffprobe (recommended)**\n```bash\n# Get comprehensive audio info\nffprobe -v error -select_streams a:0 -show_entries stream=codec_name,sample_rate,channels,bits_per_sample,duration \\\n  -of csv=p=0 input.wav\n\n# Get duration in seconds (precise)\nffprobe -v error -show_entries format=duration -of csv=p=0 input.wav\n\n# Get sample rate\nffprobe -v error -select_streams a:0 -show_entries stream=sample_rate -of csv=p=0 input.wav\n```\n\n**Option B: Using sox**\n```bash\n# Get full audio info\nsox --info input.wav 2>&1\n\n# Parse specific values\nsox --info input.wav 2>&1 | grep \"Sample Rate\" | awk '{print $NF}'\nsox --info input.wav 2>&1 | grep \"Channels\" | awk '{print $NF}'\n```\n@@ \n**Fallback: Analysis with sox and ffmpeg**\n\nIf librosa is unavailable:\n\n```bash\n# Generate RMS\u002Famplitude stats per segment\nsox input.wav -n stats 2>&1 | grep \"RMS amplitude\"\n\n# Find zero crossings for clean edit points\nsox input.wav -n noops stat 2>&1 | grep \"Zero crossings\"\n\n# Generate spectral analysis with ffmpeg\nffmpeg -i input.wav -af astats=metadata=1:reset=1 -f null - 2>&1 | grep -E \"RMS_level|Peak_level\"\n\n# Peak detection using sox\nsox input.wav -n stat 2>&1 | grep \"Maximum amplitude\"\n```\n@@ \n**Fallback: Audio editing with ffmpeg and sox**\n\nIf Python libraries are unavailable:\n\n```bash\n# Crossfade between two files (3-second crossfade)\nffmpeg -i part1.wav -i part2.wav -filter_complex \\\n  \"[0:a][1:a]crossfade=d=3:c1=tri:c2=tri[out]\" -map \"[out]\" output.wav\n\n# Cut segment at specific timecodes\nffmpeg -i input.wav -ss 00:00:30.500 -to 00:01:45.200 -c copy segment.wav\n\n# Using sox for simple edits\nsox input.wav output.wav trim 30.5 74.7\nsox file1.wav file2.wav newfile.wav splice 30,3\nsox input.wav output.wav gain -3\n```\n@@ \n**Fallback: Verification with ffprobe**\n\n```bash\n# Complete verification script\nverify_audio() {\n    local file=\"$1\"\n    local expected_sr=\"$2\"\n    \n    echo \"=== Verifying: $file ===\"\n    \n    # Verify sample rate\n    SR=$(ffprobe -v error -select_streams a:0 -show_entries stream=sample_rate -of csv=p=0 \"$file\")\n    if [ \"$SR\" = \"$expected_sr\" ]; then\n        echo \"✓ Sample rate: ${SR}Hz\"\n    else\n        echo \"✗ Sample rate mismatch: expected $expected_sr, got $SR\"\n        return 1\n    fi\n    \n    # Verify duration\n    DURATION=$(ffprobe -v error -show_entries format=duration -of csv=p=0 \"$file\")\n    echo \"Duration: ${DURATION}s\"\n    \n    # Verify file exists\n    if [ -s \"$file\" ]; then\n        echo \"✓ File exists and is non-empty\"\n    else\n        echo \"✗ File missing or empty\"\n        return 1\n    fi\n}\n\n# Usage: verify_audio \"output.wav\" \"48000\"\n```\n@@ \n### Troubleshooting: Common Import Failures\n\n**Error: `ModuleNotFoundError: No module named 'librosa'`**\n\n```bash\n# Immediate fallback: Use ffprobe\u002Fsox instead\nwhich ffprobe || which sox || echo \"ERROR: No audio tools available\"\n\n# If installation is possible:\npip install librosa || pip3 install librosa\n```\n\n**Error: `ModuleNotFoundError: No module named 'soundfile'`**\n\n```bash\n# soundfile requires libsndfile system library\n# Install system dependency first (Ubuntu\u002FDebian):\nsudo apt-get install libsndfile1\npip install soundfile\n\n# Fallback: Use ffprobe for all audio I\u002FO metadata\n```\n\n**Error: `ImportError: No module named 'docx'` (python-docx)**\n\n```bash\n# Install if possible:\npip install python-docx\n\n# Fallback: Use unzip + sed approach (always available):\nunzip -p file.docx word\u002Fdocument.xml | sed 's\u002F\u003C[^>]*>\u002F\u002Fg' > extracted_text.txt\n\n# Or use pandoc if available:\npandoc --to plain file.docx\n```\n\n**Error: Sandbox execution failures with audio libraries**\n\nWhen `execute_code_sandbox` fails repeatedly:\n1. Switch to `shell_agent` for direct CLI tool execution\n2. Write Python scripts to temporary files and execute via shell\n3. Use `ffmpeg` and `sox` which are often pre-installed in minimal environments\n\n```bash\n# Pattern: Write script to file, then execute\ncat > \u002Ftmp\u002Faudio_work.py \u003C\u003C 'EOF'\n# Your Python code here\nEOF\npython3 \u002Ftmp\u002Faudio_work.py\n\n# If that fails, use pure shell:\nffprobe -v error -show_entries format=duration -of csv=p=0 file.wav\n```\n\n### Tool Selection Matrix Summary\n\n| Environment State | Recommended Approach |\n|------------------|---------------------|\n| Full Python stack available | Use librosa + python-docx + pydub |\n| Python available, no audio libs | Use ffprobe\u002Fsox via subprocess |\n| Minimal environment (shell only) | Pure CLI: ffprobe, sox, ffmpeg, unzip\u002Fsed |\n| DOCX parsing fails | Try: python-docx → pandoc → unzip+sed |\n| Audio analysis fails | Try: librosa → ffprobe → sox |\n| Audio editing fails | Try: pydub → ffmpeg filter_complex → sox |\n\n**Key Principle:** Always have at least two approaches for each task. Test tool availability early and adapt your workflow accordingly.\n",{},"main","af1b40a42167d09c30b3a63000aa14ace4c1e229","gdpval_bench\u002Fskills\u002Ftimecode-audio-edit-workflow","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval","https:\u002F\u002Fgithub.com\u002Fxyliu-cs","https:\u002F\u002Fxyliu-cs.github.io","PhD Student in CS, CUHK-Shenzhen.","2026-04-06 20:32:15",{"source":7,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add xyliu-cs\u002FOpenSpace-GDPval --skill timecode-audio-edit-workflow",{"tool":45,"command":46},"bunx","bunx skills add xyliu-cs\u002FOpenSpace-GDPval --skill timecode-audio-edit-workflow",{"tool":48,"command":49},"pnpm","pnpm dlx skills add xyliu-cs\u002FOpenSpace-GDPval --skill timecode-audio-edit-workflow","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Ftimecode-audio-edit-workflow\u002FSKILL.md",true,[53],{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},".skill_id","OTHER","其他",42,"https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Ftimecode-audio-edit-workflow\u002F.skill_id",[60,73,81,97,123,143],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":27},"01M6KG8MF1S664SWBDENYRSCK8","zip-export-deliverable","Ensures codebase deliverables are properly exported as ZIP archives through a dedicated finalization step","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzip-export-deliverable\u002FSKILL.md",[],[67,68,69,70,71,72],"zip export deliverable","zip","export","deliverables","codebase","as",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":27},"01M6KG8GAZWHHEK7VNJDW0ME21","zip-deliverable-finalization","Ensure codebase deliverables are properly packaged as ZIP exports in a dedicated final step","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzip-deliverable-finalization\u002FSKILL.md",[],[80,68,70,71,72],"zip deliverable finalization",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":27},"01M6KG8CMQQ1PYMNTSRZ9VS1MD","zero-iteration-failure-analysis","Identify and handle agent failures with 0 iterations as pre-execution system issues","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzero-iteration-failure-analysis\u002FSKILL.md",[],[88,89,90,91,92,93,94,95,72,96],"failure analysis","ZeRO","analysis","iteration","zero iteration failure analysis","with","issues","execution","system",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":108,"publishedAt":27},"01M6KG86W3PA07FT9W58YHHERM","write-file-fallback-report","Generate professional documents using write_file when primary data sources fail, leveraging embedded domain knowledge instead of external retrieval","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[109,110,111,112,113,114,115,116,117,118,119,120,121,122],"fallback","write","file","report","write file fallback report","domain","professional","sources","retrieval","generate","embedded","documents","data","knowledge",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":132,"publishedAt":27},"01M6KG82GAEY3GG77CMGCK1C2T","fallback-doc-with-delegation","Generate professional documents after tool failures using shell_agent for complex formats or write_file for simple text\u002Fmarkdown","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report-enhanced\u002FSKILL.md",[129],{"categoryNo":130,"categoryName":131,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[133,93,109,134,135,136,120,118,111,137,138,139,110,140,115,141,142],"fallback doc with delegation","doc","delegation","shell","markdown","tool","text","simple","formats","for",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":27},"01M6KG7WT7GX5NYCGEFHW22NV7","context-anchored-fallback-report","Generate documents with write_file when retrieval tools fail, with explicit guardrails against task context drift","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report-enhanced-4bc5c2\u002FSKILL.md",[149],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},[109,112,151,152,118,111,153,154,110,155,156,117,93,157,120],"context","context anchored fallback report","Guardrails","Tools","task","drift","context drift"]