diff --git a/skills/using-yt-tools/SKILL.md b/skills/using-yt-tools/SKILL.md
index d60ec9e..0030f1d 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.2
+version: 0.2.3
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 — другие тулзы.
---
@@ -26,15 +26,20 @@ Iterative-watching YouTube для агента: clean-markdown транскри
## Prerequisites
-CLI entry-points на PATH (из `pip install -e ~/projects/.common/lib/yt-tools/` внутри venv):
+**CLI invocation** — один из двух вариантов (выбери по ситуации):
+
+| Вариант | Команда | Trade-off |
+|---|---|---|
+| **A. Активация venv** | Windows: `& ~/projects/.common/lib/yt-tools/.venv/Scripts/Activate.ps1`
Linux/macOS: `source ~/projects/.common/lib/yt-tools/.venv/bin/activate` | Одна команда, но меняет shell state |
+| **B. Full-path** | `~/projects/.common/lib/yt-tools/.venv/Scripts/yt-frames.exe URL ...` (Windows)
`~/projects/.common/lib/yt-tools/.venv/bin/yt-frames URL ...` (Linux/macOS) | Изолированно, но длиннее в каждом вызове |
+
+После активации или full-path доступны:
- `yt-transcript`, `yt-frames`, `yt-watch`, `yt-tools`
-Внешние бинари (любая ОС):
+**Внешние бинари** (любая ОС):
- `yt-dlp` — fetches metadata + source mp4
- `ffmpeg` — muxes streams + extracts frames
-Если что-то отсутствует, CLI выдаёт явное `"X not found on PATH"`. Скажи юзеру и стоп.
-
Полный install per-OS — в `~/projects/.common/lib/yt-tools/README.md`. **Windows-gotcha:** после `winget install Gyan.FFmpeg` или `winget install yt-dlp.yt-dlp` нужен restart терминала (и Claude Code session) — winget пишет в per-user PATH, который текущий shell не перечитывает.
## Inputs
@@ -51,6 +56,7 @@ CLI entry-points на PATH (из `pip install -e ~/projects/.common/lib/yt-tools
### Flow A — iterative-watch
```
+0. Activate venv: & ~/projects/.common/lib/yt-tools/.venv/Scripts/Activate.ps1 (Windows) или source ~/projects/.common/lib/yt-tools/.venv/bin/activate (Linux/macOS)
1. yt-transcript → ./yt-cache//transcript.md
2. Read transcript.md, find [mm:ss] anchors that match the question
3. yt-frames --timestamps 1:23,4:56,… → ./yt-cache//frames/frame_*.jpg
@@ -58,6 +64,8 @@ CLI entry-points на PATH (из `pip install -e ~/projects/.common/lib/yt-tools
5. Answer the user, citing both transcript paragraph and frame contents
```
+Альтернатива: skip шаг 0, используй full-path в каждом вызове (см. Prerequisites).
+
**Stdout contract per CLI** (бери последнюю строку, формат зависит от CLI):
- `yt-transcript`, `yt-watch` — одна строка на stdout: bare absolute path артефакта (`/transcript.md` или `/watch.md`).
@@ -68,6 +76,7 @@ Warnings и errors уходят в stderr (`warning: …`, `error: …`); stdout
### Flow B — targeted-frames
```
+0. Activate venv: & ~/projects/.common/lib/yt-tools/.venv/Scripts/Activate.ps1 (Windows) или source ~/projects/.common/lib/yt-tools/.venv/bin/activate (Linux/macOS)
1. Parse user's timestamps (mm:ss / h:mm:ss / bare seconds — все работают)
2. yt-frames --timestamps 1:23,4:56,… → ./yt-cache//frames/frame_*.jpg
3. Read each frame_*.jpg