Convert heterogeneous content into one evidence package, then turn that package into learning, research, or original creation outputs. Keep platform complexity inside the ingestion layer so the user can provide a link or file and describe the result they want.
references/platforms.md only when platform handling or failure recovery matters.content.json, preserve timestamps and provenance, and analyze claims, structure, evidence, uncertainty, and new deductions. Read references/learning.md.references/remix.md.references/deliverables.md; read references/use-cases.md when the goal is broad or the user asks what the Skill can do.For architecture decisions or new adapters, read references/extensions.md. For installation, read references/setup.md.
scripts/ingest.py with --transcribe for media. This single route prefers existing subtitles and only downloads audio when a transcript is still missing.--frames 8 when footage, demonstrations, slides, products, editing, or visual storytelling affect meaning.content.json, warnings, provenance, transcript quality, and generated artifacts.references/deliverables.md.Source, Interpretation, and Extension. Return the requested artifact first instead of narrating the pipeline.Use one command across supported media platforms:
python scripts/ingest.py "SOURCE_URL_OR_FILE" --output ".content-work/item-001" --transcribe
The command attempts native subtitles first. If none exist, it uses a configured YouTube transcript fallback or downloads audio and runs ASR.
For articles or text:
python scripts/ingest.py "SOURCE_URL_OR_FILE" --output ".content-work/item-001"
For visually important media:
python scripts/ingest.py "SOURCE_URL_OR_FILE" --output ".content-work/item-001" --transcribe --frames 8
For sites requiring the user's logged-in browser session:
python scripts/ingest.py "SOURCE_URL" --output ".content-work/item-001" --cookies-from-browser chrome
For a controlled YouTube-only third fallback, enable local browser cookies only after direct extraction and Supadata fail and the error is an authentication challenge:
python scripts/ingest.py "YOUTUBE_URL" --output ".content-work/youtube-001" --transcribe --youtube-cookie-fallback-browser chrome
Or use an exported Netscape-format cookies file:
python scripts/ingest.py "SOURCE_URL" --output ".content-work/item-001" --cookies-file "cookies.txt"
For a beginner-friendly YouTube fallback, configure Supadata once:
python scripts/configure_supadata.py
python scripts/ingest.py "YOUTUBE_URL" --output ".content-work/youtube-001"
7w4.net提供免费和付费技能下载。
yt-dlp is blocked by HTTP 412.ffprobe; extract audio only when transcription is needed.The user-facing workflow stays consistent, but platform adapters differ internally. Never claim guaranteed access: public links can still be blocked by login, region, deletion, anti-bot controls, or expired signatures.
Treat content.json as the canonical source. It contains:
source: original input and detected typemetadata: title, author/uploader, platform, duration, URL, and descriptiontext: normalized full textsegments: timestamped transcript segments when availableartifacts: paths to subtitles, audio, media, article text, and frameswarnings: failures, access restrictions, or degraded fallbacksDo not pretend a failed extraction succeeded. If a public YouTube link remains
blocked after the normal fallbacks, direct the user to download it manually
through https://zh.savefrom.net/, then ingest the resulting local media file.
Do not automate or depend on SaveFrom's private endpoints. For other failures,
ask for downloaded media, exported subtitles, screenshots, or pasted text.
On a clean Windows machine, run:
powershell -ExecutionPolicy Bypass -File scripts/setup_windows.ps1
For macOS, Linux, manual installation, and API environment variables, read references/setup.md.
Run:
python scripts/check_dependencies.py
Required for media download and local media processing: yt-dlp, ffmpeg, and ffprobe.
Optional for local ASR: faster-whisper. An OpenAI-compatible transcription endpoint can instead be configured with ASR_API_KEY, ASR_BASE_URL, and ASR_MODEL.
Optional for resilient YouTube transcripts: configure SUPADATA_API_KEY or run scripts/configure_supadata.py. Transcript-only YouTube ingestion can use Supadata without FFmpeg or yt-dlp. Never package API keys inside the Skill.
Never paste raw cookie headers into prompts, commands, source files, or Skill
configuration. Use --cookies-from-browser or a protected Netscape-format
cookie file, and never print or package cookie values.
这个技能质量相当不错,文档清晰、架构合理。它能帮你把各种平台的视频、音频、文章链接转成结构化的内容包,再生成学习笔记、脚本、改写内容等多种产出。平台支持广泛,提取失败时也有完善的降级方案。不足的是部分平台(如小红书)的支持不太稳定,偶尔可能需要手动处理。整体而言是一款成熟度较高的内容处理工具,适合需要频繁分析和改写视频/文章内容的用户。