tasks: add using-yt-tools promotion bundle (3 baseline ⚪ + 1 review 🔵)
Local-write workaround — Gitea backend temporarily down, projects-meta tasks_create returned 404. Source: .workshop/.archive/2026-05-20-yt-tools.md
This commit is contained in:
111
.tasks/STATUS.md
111
.tasks/STATUS.md
@@ -1,5 +1,5 @@
|
||||
# Task Board
|
||||
_Updated: 2026-05-12 (using-synology-ops-test-trigger 🟢 done — 10/10 after PATCH 0.1.0→0.1.1)_
|
||||
_Updated: 2026-05-20 (promoted using-yt-tools v0.1.0 → 4 tasks: install/hermes-mapping/test-trigger ⚪ ready + review 🔵 blocked-by-impl)_
|
||||
|
||||
<!--
|
||||
Canonical layout. One block per task. Per-task deep context lives in
|
||||
@@ -14,6 +14,115 @@ _Updated: 2026-05-12 (using-synology-ops-test-trigger 🟢 done — 10/10 after
|
||||
🔵 Blocked — waiting on external input
|
||||
-->
|
||||
|
||||
## ⚪ [using-yt-tools-install] — Install env deps (ffmpeg + python venv + 3 pip libs) for using-yt-tools on agent machine.
|
||||
|
||||
**Этапы:**
|
||||
1. **Сейчас** — system-level: `ffmpeg` через OS-пакетник (`winget install Gyan.FFmpeg` / `brew install ffmpeg` / `apt install ffmpeg`); python venv в `~/projects/.common/lib/yt-tools/.venv`; `pip install youtube-transcript-api pyscenedetect yt-dlp`.
|
||||
2. **После реализации `OpeItcLoc03/.common` task** (ручной post-promotion task на импл python-пакета `lib/yt-tools/`) — `pip install -e ~/projects/.common/lib/yt-tools/` в venv; smoke `yt-transcript --help`, `yt-frames --help`, `yt-watch --help`.
|
||||
|
||||
Cross-platform: повторить на каждой агент-машине (Windows / Linux / macOS). README пакета должен документировать команды под все три ОС.
|
||||
|
||||
**Источник дизайна:** `.workshop/.archive/2026-05-20-yt-tools.md` (разделы «Зависимости» и «Упаковка»).
|
||||
|
||||
**Status:** ready
|
||||
**Where I stopped:** (not started)
|
||||
**Next action:** Этап 1 сейчас (см. выше); Этап 2 после того как `.common/lib/yt-tools/` существует. Проверка: `yt-dlp --version`, `ffmpeg -version`, `python -c "import youtube_transcript_api, scenedetect"`.
|
||||
**Branch:** n/a
|
||||
<!-- created-by: vitya@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-20T06:31:09.000Z / via: local-file (gitea-down) -->
|
||||
|
||||
---
|
||||
|
||||
## ⚪ [using-yt-tools-hermes-mapping] — Register `using-yt-tools` in `~/projects/claude-skills/hermes/mapping.yaml` (mode: pending).
|
||||
|
||||
Mode: **`pending`** — скил вызывает внешние CLI (yt-dlp/ffmpeg) и пишет файлы в `./yt-cache/`. Требует ручного аудита перед переходом на `auto`.
|
||||
|
||||
**Триггеры** (русские/английские) — из SKILL.md frontmatter description:
|
||||
- ru: «транскрипт видео», «расшифровка YouTube», «что в этом ролике», «о чём ролик», «покажи кадр на N», «посмотри момент N», «что показано в видео на N»
|
||||
- en: «watch this video», «video summary», «youtube transcript»
|
||||
- URL-pattern: `youtube\.com|youtu\.be` (подавление WebFetch — он не отдаёт ни транскрипт, ни кадры на YouTube)
|
||||
|
||||
**Источник дизайна:** `.workshop/.archive/2026-05-20-yt-tools.md` (раздел «Triggers для skill»).
|
||||
|
||||
**Status:** ready
|
||||
**Where I stopped:** (not started)
|
||||
**Next action:** В `hermes/mapping.yaml` добавить блок (формат — посмотреть `using-synology-ops` рядом):
|
||||
```
|
||||
- skill: using-yt-tools
|
||||
mode: pending
|
||||
triggers:
|
||||
- "транскрипт видео"
|
||||
- "расшифровка YouTube"
|
||||
- "что в этом ролике"
|
||||
- "о чём ролик"
|
||||
- "покажи кадр на"
|
||||
- "посмотри момент"
|
||||
- "что показано в видео на"
|
||||
- "watch this video"
|
||||
- "video summary"
|
||||
- "youtube transcript"
|
||||
url_pattern: "youtube\\.com|youtu\\.be"
|
||||
```
|
||||
Прогнать `python hermes/build-hermes.py`. После аудита поведения (см. `using-yt-tools-test-trigger`) — рассмотреть переход на `mode: auto`.
|
||||
**Branch:** n/a
|
||||
<!-- created-by: vitya@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-20T06:31:09.000Z / via: local-file (gitea-down) -->
|
||||
|
||||
---
|
||||
|
||||
## ⚪ [using-yt-tools-test-trigger] — Behavioral smoke-test using-yt-tools on a clean session + e2e CLI pipeline on a test YouTube URL.
|
||||
|
||||
**Что проверяется:**
|
||||
|
||||
1. **Активация на своих триггерах** — каждая из 10 фраз description'а активирует скил на чистой сессии.
|
||||
2. **False-positive check** — НЕ активируется на 2-3 близких чужих:
|
||||
- «скачай это видео» (только yt-dlp, не watching)
|
||||
- «расшифруй подкаст» (audio-only — нет STT в скиле)
|
||||
- «что в этой лекции на Vimeo» (не YouTube)
|
||||
3. **CLI pipeline e2e** (после `using-yt-tools-install` Этап 2):
|
||||
- `yt-transcript <test-URL>` → markdown с metadata header + параграфами + `[mm:ss]`-якорями (copy-paste-friendly в формат `--timestamps`)
|
||||
- `yt-frames <test-URL> --timestamps 1:00,2:30` → 2 jpg в `./yt-cache/<vid>/frames/`
|
||||
- **Iterative-флоу (primary use-case):** транскрипт → агент выбирает таймкоды по содержанию → `yt-frames --timestamps` → `Read frame_*.jpg` → vision-anchored ответ
|
||||
|
||||
**Источник дизайна:** `.workshop/.archive/2026-05-20-yt-tools.md` (разделы «Primary use-case — iterative agent-driven viewing» и «Triggers для skill»).
|
||||
|
||||
**Status:** ready
|
||||
**Where I stopped:** (not started)
|
||||
**Next action:** Подобрать тестовый YT URL (5-10 мин, авторские субтитры ru/en, видеоряд меняется — не talking-head). На чистой сессии прогнать 10 триггеров + 3 false-positive. После `using-yt-tools-install` Этап 2 — CLI e2e + iterative-флоу. Findings → follow-up tasks (`using-yt-tools-<gap>-fix`).
|
||||
**Branch:** n/a
|
||||
<!-- created-by: vitya@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-20T06:31:09.000Z / via: local-file (gitea-down) -->
|
||||
|
||||
---
|
||||
|
||||
## 🔵 [using-yt-tools-review] — Skill-review checkpoint для using-yt-tools (промоушен 2026-05-20).
|
||||
|
||||
**Источник дизайна:** `.workshop/.archive/2026-05-20-yt-tools.md` (process trace: GitHub research + iterative-сценарий + 4 user-utверждённых default'а).
|
||||
**Импл-таски:** using-yt-tools-install, using-yt-tools-hermes-mapping, using-yt-tools-test-trigger.
|
||||
**Также блокируется ОТДЕЛЬНОЙ ручной таской** в `OpeItcLoc03/.common` на импл python-пакета `lib/yt-tools/` (создаётся пост-промоушн, вне scope `workshop-promote-brainstorm` скила).
|
||||
|
||||
**Кто делает:** **не имплементер.** Другая сессия / другой день / другой агент. Identity-not-location: ревьюер работает в любой папке, где есть доступ к файлам.
|
||||
|
||||
**Поведенческий smoke-test (это и есть acceptance):**
|
||||
- Скил активируется в чистой сессии на каждой триггер-фразе из `description` (русский И английский — список в test-trigger таске).
|
||||
- Скил **не** активируется на 2-3 близких но не своих фразах (false-positive list в test-trigger таске).
|
||||
- Каждый шаг секции `Steps` отрабатывает на тестовом буфере без ошибок (NB: после второго прохода body — body сейчас пустой stub).
|
||||
- `Failure modes` уводят в abort, не в частичный успех с грязным состоянием.
|
||||
- `What NOT to do` соответствует реальности — нет дыры между правилом и реализацией.
|
||||
|
||||
**Iterative-флоу (key acceptance):** transcript → агент выбирает таймкоды → frames → Read → vision-anchored ответ работает end-to-end на тестовом YouTube URL.
|
||||
|
||||
Findings → follow-up tasks (`using-yt-tools-<gap>-fix`) через `tasks_create` в `claude-skills` (или локально пока Gitea лежит).
|
||||
|
||||
**Закрытие:** только когда все findings зафайлены ИЛИ ревьюер подтвердил «нет findings» в close-note.
|
||||
|
||||
**NB по семверу:** `version: 0.1.0` записан промоутером. Дальнейшие инкременты — ответственность владельца `claude-skills/`, **не** этого скила и не ревьюера.
|
||||
|
||||
**Status:** blocked
|
||||
**Where I stopped:** (not started — все 3 baseline + ручная `.common`-таска должны быть 🟢)
|
||||
**Next action:** Дождаться 🟢 у всех 3 baseline-тасок выше + у ручной `.common` task'и на python-пакет. Затем — поведенческий smoke + iterative-флоу e2e (см. test-trigger). Findings → follow-up через `tasks_create`.
|
||||
**Branch:** n/a
|
||||
<!-- created-by: vitya@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-20T06:31:09.000Z / via: local-file (gitea-down) -->
|
||||
|
||||
---
|
||||
|
||||
## 🟡 [skill-readmes] — write English README.md for every skill + translate root README
|
||||
**Status:** paused
|
||||
**Where I stopped:** infra-skill cluster done — READMEs for `project-bootstrap`, `setup-wiki`, `setup-tasks`, `using-wiki`, `using-tasks`; root README translated; cross-links between all five skills wired up
|
||||
|
||||
Reference in New Issue
Block a user