feat(using-yt-tools): SKILL.md body fill (2 flows) [0.1.0 → 0.2.0]

Fill the v0.1.0 stub body. Description rewritten to document two distinct flows
(was iterative-only, even though triggers already listed targeted-frames phrases):

- Flow A — iterative-watch (transcript → pick anchors → frames): for "what's
  in this video / summary / о чём ролик / video summary / youtube transcript"
- Flow B — targeted-frames (frames only, no transcript): for "посмотри 1:23 /
  покажи кадр на N / что показано на N" — user already named timestamps,
  transcript fetch would be pure waste

Body sections filled (6): When/Prereq/Inputs/Steps/Failure/Side/NOT — Flow A
and Flow B distinguished throughout. Failure modes table covers missing CLI,
missing yt-dlp/ffmpeg (with Windows winget+PATH note), network/private/age-
gated, subs-disabled. What NOT to do explicitly forbids the "always-iterative"
trap that the v0.1.0 description implicitly invited.

Bump version 0.1.0 → 0.2.0 (MINOR — documents new capability set). Description
744 chars (under 900-char soft budget; well below ~1024 hard limit). Installed
to ~/.claude/skills/using-yt-tools/ via scripts/install.ps1 — harness skill-
listing renders full description, not truncated to H1.

STATUS.md: closes new [using-yt-tools-skill-body-fill] 🟢 (filed+closed
in-place since this is one body-fill task, not a multi-session workstream).
[using-yt-tools-review] stays 🔵 — body-fill blocker removed, but still
blocked on [using-yt-tools-trigger-smoke-clean-session] (needs fresh CC
session). Caveat recorded: body-fill was done by implementer instead of the
'fresh agent' the review-task originally specified — explicit user approval.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-20 12:39:40 +03:00
parent e83038965b
commit 4956beba5f
2 changed files with 110 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
# Task Board
_Updated: 2026-05-20 (using-yt-tools: 3 baseline 🟢; 3 finding fixes 🟢 [paragraphs/frames-stderr/windows-path-doc] → yt-tools 0.1.0→0.1.3, 74/74 tests; trigger-smoke-clean-session still ⚪ (needs fresh CC session); review 🔵 on SKILL.md body fill)_
_Updated: 2026-05-20 (using-yt-tools: 3 baseline 🟢; 3 finding fixes 🟢 [paragraphs/frames-stderr/windows-path-doc] → yt-tools 0.1.0→0.1.3, 74/74 tests; skill-body-fill 🟢 [SKILL.md 0.1.0→0.2.0, two flows documented]; trigger-smoke-clean-session ⚪ (needs fresh CC session); review 🔵 still — body blocker removed, now blocked on trigger-smoke only)_
<!--
Canonical layout. One block per task. Per-task deep context lives in
@@ -113,6 +113,26 @@ Mode: **`pending`** — скил вызывает внешние CLI (yt-dlp/ffm
---
## 🟢 [using-yt-tools-skill-body-fill] — Fill `skills/using-yt-tools/SKILL.md` body (When/Prereq/Inputs/Steps/Failure/Side/NOT) with both flows documented.
**Why:** Skill промоутился v0.1.0 со stub-body (`<пусто>` в каждой секции) + description описывал только iterative-flow, хотя триггеры включали targeted-frames фразы («покажи кадр на N» / «посмотри момент N»). Это создавало dissonance: агент мог активироваться на targeted-frames запрос, но prescriptive body не существовал, а description предписывал избыточный transcript fetch first. Также блокировало `[using-yt-tools-review]` acceptance criteria по Steps / Failure modes / What NOT to do.
**Scope:**
- Description rewrite: документировать оба flow (iterative + targeted-frames) с разделёнными trigger phrase lists. Уложиться ≤900 chars (memory: hard limit ~1024).
- Body: When/Prereq/Inputs/Steps/Failure/Side/NOT — два flow явно, с командами и failure-table.
- Bump `version: 0.1.0``0.2.0` (MINOR — new capability документирован: targeted-frames flow).
- Install в `~/.claude/skills/using-yt-tools/` через `scripts/install.ps1 -Names using-yt-tools`.
**Override caveat:** review-task originally specified «body пишется не имплементером (другая сессия / другой агент)». В этой сессии override дан юзером явно — body написан имплементером. Это ослабляет «fresh-eyes» гарантию body-quality, но review-pass на чистой сессии (по trigger-smoke-clean-session) даст symmetric coverage всё равно.
**Status:** done
**Where I stopped:** Closed by `<pending-commit>` (this commit). Description 744 chars (под 900-budget). Body: 6 sections, Flow A + Flow B explicitly distinguished. Trigger smoke в harness skill-listing — description полностью отображается (не truncated к H1). После body-fill — `[using-yt-tools-review]` остаётся 🔵 только на trigger-smoke-clean-session (один из двух исходных blockers снят).
**Next action:** (none — kept until merged)
**Branch:** master
<!-- created+closed-by: vitya@DESKTOP-NSEF0UK / 2026-05-20 / acceptance: body sections ✅ + description ≤900 ✅ + version bumped ✅ + skill installed ✅; caveat: override on non-implementer rule (user explicit approval) -->
---
## ⚪ [using-yt-tools-trigger-smoke-clean-session] — Behavioral trigger smoke for using-yt-tools — requires a fresh CC session.
**Scope (вынесено из using-yt-tools-test-trigger):**
@@ -156,12 +176,13 @@ Findings → follow-up tasks (`using-yt-tools-<gap>-fix`) через `tasks_crea
**NB по семверу:** `version: 0.1.0` записан промоутером. Дальнейшие инкременты — ответственность владельца `claude-skills/`, **не** этого скила и не ревьюера.
**Status:** blocked (на body fill, см. ниже)
**Where I stopped:** 3 baseline impl-таски 🟢 (install, hermes-mapping, test-trigger partial). `.common/lib/yt-tools/` python-пакет 🟢 (готов, 67/67 тестов). НО: `SKILL.md` body — пустой stub (`<пусто>` в каждой секции When/Inputs/Steps/Failure/Side-effects/NOT). Без body нечего рецензировать в acceptance-критериях по Steps/Failure modes/What NOT to do. Также: 4 findings зафайлены как отдельные ⚪ таски (transcript-paragraphs / frames-stderr / windows-path-doc / trigger-smoke-clean-session).
**Next action:** Запустить отдельную таску на «second-pass body fill для using-yt-tools/SKILL.md» (не имплементер промоушена — body пишется после impl). После этого review снимается с блокировки. Альтернативно: ревьюер может сейчас закрыть скоп «trigger + iterative-flow» (части 1+2 acceptance) и оставить «body acceptance» отдельным review-passом.
**Status:** blocked (на trigger-smoke-clean-session — единственный остаток после body-fill 🟢)
**Where I stopped:** 3 baseline impl-таски 🟢 (install, hermes-mapping, test-trigger partial). `.common/lib/yt-tools/` python-пакет 🟢 (74/74 тестов после 0.1.0→0.1.3). `SKILL.md` body 🟢 (0.1.0→0.2.0 — Flow A iterative + Flow B targeted-frames документированы, см. [using-yt-tools-skill-body-fill]). 3 finding-fix таски 🟢. Остаётся только: trigger-smoke на чистой CC-сессии (см. [using-yt-tools-trigger-smoke-clean-session]).
**Next action:** В чистой CC-сессии прогнать smoke из [using-yt-tools-trigger-smoke-clean-session] (10 positive + 3 false-positive trigger phrases) + поведенческий smoke-test для каждого шага Flow A и Flow B на тестовом URL. Если 0 findings — закрыть 🟢 с close-note. Findings — новые ⚪ fix-tasks.
**Branch:** n/a
<!-- created-by: vitya@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-20T06:31:09.000Z / via: local-file (gitea-down) -->
<!-- updated-by: vitya@DESKTOP-NSEF0UK / 2026-05-20 / 3 baseline 🟢, body-fill new blocker, 4 findings filed -->
<!-- updated-by: vitya@DESKTOP-NSEF0UK / 2026-05-20 / body-fill 🟢 (override: done by implementer per explicit user approval; review-task originally specified non-implementer); 3/4 finding-fixes 🟢; remaining blocker: trigger-smoke-clean-session -->
---