diff --git a/skills/using-yt-tools/SKILL.md b/skills/using-yt-tools/SKILL.md index 7f020da..d60ec9e 100644 --- a/skills/using-yt-tools/SKILL.md +++ b/skills/using-yt-tools/SKILL.md @@ -1,6 +1,6 @@ --- name: using-yt-tools -version: 0.2.1 +version: 0.2.2 description: Two flows for YouTube content. **Iterative-watch** (summary/exploration): transcript with [mm:ss] anchors → pick moments → extract frames. **Targeted-frames** (specific timestamps): extract frames directly, no transcript. Triggers: "что в ролике", "о чём видео", "video summary", "youtube transcript", "покажи кадр на N", или любой youtube.com URL. CLI в `~/projects/.common/lib/yt-tools/`. YouTube-only; для Vimeo/Twitch/local — другие тулзы. --- @@ -58,7 +58,12 @@ CLI entry-points на PATH (из `pip install -e ~/projects/.common/lib/yt-tools 5. Answer the user, citing both transcript paragraph and frame contents ``` -Last line каждого CLI's stdout — absolute path артефакта (CLI designed для single-line EOF output). Не парси текст вокруг, бери конец stdout. +**Stdout contract per CLI** (бери последнюю строку, формат зависит от CLI): + +- `yt-transcript`, `yt-watch` — одна строка на stdout: bare absolute path артефакта (`/transcript.md` или `/watch.md`). +- `yt-frames` — **N строк** формата `Wrote: `, одна на каждый извлечённый кадр. Strip префикс `"Wrote: "` чтобы получить путь. Дизайн осознан: per-line output чтобы caller'ы пайпили / скрейпили без парсинга summary в конце. + +Warnings и errors уходят в stderr (`warning: …`, `error: …`); stdout остаётся машинно-парсимым. ### Flow B — targeted-frames