v5.5.15
Added
feat(channel-new):/channel-newにチャンネル画像初期化導線を追加。TTP 対象のsnippet.thumbnails/brandingSettings.imageを reference-only として snapshot に保存し、yt-channel-initがthumbnail.yamlの channel branding 参照枠を生成、yt-setup-dirsがbranding/を作成するようにした(#1367)feat(doctor):yt-doctorにnumbered_duplicatesチェックを追加し、.venv/bin/と.claude/skills/の番号付き重複ファイル(iCloud Drive 同期コンフリクトの bounced file name、原因調査 #1409)を検知・警告できるようにした。yt-skills syncも sync 先の重複を warning で報告する。クリーンアップ手順はdocs/migration/numbered-duplicate-files-cleanup.mdを新設し、/automation-updateに検知確認と再発防止ガイダンス(同期対象外への移設が根本対策、--frozenは効果なし)を追記(#1410)docs(migration): TS 移行告知 + 移行ガイドdocs/migration/python-to-tayk.mdを公開し、README / ONBOARDING 冒頭に告知バナーを追加。Python 版は 2026-08 中に提供終了しtayk(npm)へ切り替わる(ADR-0015 の 2026-07 頭告知義務、#1416)feat(channel-new): 承認済み TTP 対象だけを使う初回/wf-newreadiness を追加し、yt-doctorで thumbnail reference / video-analysis partial / Suno style variants / 旧 video-analyze model を検出できるようにした(#1357)
Changed
docs(skills):/audience-personaを/audience-persona-designに改名し、/viewer-voiceと/viewing-sceneを束ねて第一ペルソナ 1 人へ収束させる設計フローに更新(#1371)feat(channel-init):yt-channel-initに DistroKid opt-in 初期化を追加し、--distrokid-enabled指定時のみconfig/channel/distrokid.jsonを生成するようにした。/channel-newのヒアリング手順にも DistroKid 配信設定を追加(#1366)feat(setup):/setupからyt-setup-dirsを実行してauth/などの最小ディレクトリを config 生成前に用意し、/channel-newは既存ディレクトリを再利用してconfig/channel/*.json生成に集中する責務へ整理(#1396)feat(doctor):yt-doctorにinitial_setup_readinessを追加し、thumbnail 参照画像・composition rules・Sunogenre_line文字数・planning 中descriptions.mdの parser 不一致を事前検知できるようにした(#1403)docs(distrokid):/distrokid-prepスキルを/distrokid-helperに改名し、参照スクリプトと docs/features の表記を同期(#1350)docs(channel-new):/channel-newの/wf-new接続前チェックに Analytics / Reporting レポート取得設定と YouTube Live streaming 早期有効化の案内を追加し、Reporting API job 初期化導線を/analytics-collect//setup/yt-doctorに接続(#1365)docs(channel-new):/channel-new完了時にgit status --porcelainで未コミット変更を確認し、初回 commit 作成または明確な保存手順を案内する完了ゲートを追加。/automation-updateの dirty worktree 停止時にも/channel-new直後の初回保存未完了を案内するよう更新(#1329)
Fixed
fix(collection-ideate): 分析レポートの鮮度判定に実行日基準の絶対鮮度チェック(freshness_days既定 7 日、config/skills/collection-ideate.yamlで上書き可)を追加し、レポートと収集データが同日付でも収集自体が古い場合は stale として/analytics-collect→/analytics-analyzeの再実行を案内するようにした(#1427)fix(suno-helper): run 一式完了時リロード(#1411)が content script の in-memory snapshot(popup 進捗復元の SSOT)を破棄し、run 中に popup を閉じていた運用者が完了後に再 open しても完走結果や per-entry の done/failed を確認できない問題を修正。FINISHED 到達時(リロード予約の直前)に snapshot を timestamp + collectionId 付きでchrome.storage.localへ退避し、リロード後のqueryProgressが in-memory 不在時の fallback として返すようにした(24h stale 判定付き、次の実行開始で消去、退避失敗時はリロードを見送り in-memory 復元を維持)fix(suno-helper): dir mode の同一タブ連続実行で前回 run の stale selection が次 run の playlist 追加(Cmd+P)に混入し曲数が累積汚染される問題を修正。run 一式完了時(resume state 消去後)にタブをリロードして Suno 内部の multi-select 状態を破棄し(runAll / retryPlaylist / retryDownload の全選択作成経路が対象)、保険として Cmd+P 直前に選択中 clip 数が対象件数を超えていたら fail-loud で中断してリロード後の再実行を促すようにした。ガード走査は 1 pass + 超過即打ち切りの軽量モードで行い、走査自体の失敗は fail-open(警告して続行)。リロード猶予中に次 run が受理された場合はリロードを取り消して新 run を保護し、resume state 消去失敗時は FINISHED を維持してリロードのみ見送る(#1411)fix(hooks): extensions/ 配下のみを変更した commit で lefthook pre-commit の oxlint / oxfmt が「対象ファイルなし」を exit 1 で返し必ず失敗する問題を修正。extensions は自前の ESLint / Prettier / tsc 管理(CI: extensions.yml)のため、lefthook.ymlの oxlint / oxfmt / typecheck にexclude: extensions/**を追加して root ツールチェーンの対象のみに絞った(exclude の glob 配列サポートのためmin_versionを 1.5.0 へ引き上げ、#1428)fix(channel-new):yt-doctorにttp_wf_new_readinessを追加し、/channel-newが TTP 対象承認・relationship・branding snapshot・thumbnail reference・Suno readiness の不足を残したまま完了扱いにならないようにした(#1397)fix(skills):/video-uploadと/wf-nextの公開承認前にyt-upload-collection --planで即時公開/予約公開を確定し、予約時は実際の公開予定時刻を案内するよう明記(#1395)fix(doctor):yt-doctorにttp_wf_new_readinessを追加し、/channel-setupの benchmark 反映未完了による TTP 参照データ欠落を検知・案内できるようにした(#1400)fix(distrokid):yt-collection-serveの DistroKid asset 配信で URL encode された日本語ファイル名を decode し、single-file / dir mode の両方で 404 にならないようにした(#1401)fix(masterup):yt-suno-select-tracksで全候補がmax_song_sec超過だけで落ちた prompt を--allow-best-effort-over-maxで最短候補として例外採用できるようにし、selection log とworkflow-state.json::music_pair_selectionを成功結果に同期するようにした(#1324)fix(launch-curve):yt-launch-curveで日次データにimpressions/impression_ctrが無い場合もdaily_impressions=0/ctrunavailable として扱い、初期チャンネルの欠損データで落ちないようにした(#1327)fix(skills):config.default.yamlを持つ skill の SKILL.md に設定読み込みゲートを追加し、チャンネル override の読み飛ばしを防ぐ契約テストを追加(#1243)fix(distrokid):distrokid.profile.artistを release payload に含め、distrokid-helper がbandnameと Apple Music credits の performer / producer 名へ反映できるようにした(#1211)fix(automation-update):/automation-updateをチャンネルリポジトリ外で実行した場合に、現在地が不適切な理由と移動先候補または探し方を案内するようにした(#1328)
Migration
所要時間の目安: 0〜2 分
local fix 衝突注意:
- channel-new, automation-update: 下流で該当 skill を手書き調整している場合は
yt-skills diffで差分確認が必要。 - channel-new: TTP 完了条件と
yt-doctor::ttp_wf_new_readinessの完了ゲートを追加。下流で/channel-newを手書き調整している場合は TTP 対象承認 / branding snapshot / thumbnail reference / Suno readiness の扱いを確認する。
サマリ:
- 新規チャンネルセットアップ完了時に未コミット変更を残したまま後続の
/automation-updateへ進まないよう、初回保存手順を skill に明記した。 /channel-newが TTP 準拠前に成功案内を出さないよう、yt-doctorの readiness check と skill contract を追加した。
What's Changed
- [codex] suno-helperのFB起点不具合をまとめて修正 by @daiki-beppu in #1348
- chore(suno-helper): ext-v0.2.1 by @daiki-beppu in #1351
- [codex] distrokid-helper shell方針を記録 by @daiki-beppu in #1364
- [codex] Windows cp932 環境で yt-* CLI の stdio を UTF-8 化 by @daiki-beppu in #1347
- [codex] distrokid-helper スキルへ改名 by @daiki-beppu in #1350
- fix: DistroKidのartistをrelease payloadとhelperに反映 (#1211) by @daiki-beppu in #1355
- fix(skills): skill-config 読み込みゲートを明示する (#1243) by @daiki-beppu in #1353
- [#1369] issue-1369-github-actionsno-st by @daiki-beppu in #1386
- fix: launch curve の CTR 欠損を許容する by @daiki-beppu in #1358
- fix: Suno選曲のmax超過全落ち復旧を追加 (#1324) by @daiki-beppu in #1356
- docs: OAuth手順をGoogle Auth Platform新UIに更新する by @daiki-beppu in #1346
- feat(skill): channel-new 完了時に初回保存を追加 by @daiki-beppu in #1362
- feat: setup 用ディレクトリ生成 CLI を追加 (#1396) by @daiki-beppu in #1399
- feat(doctor): channel-setup未完了のTTP欠落を検知する by @daiki-beppu in #1402
- fix: DistroKidアセット配信でURLデコードする by @daiki-beppu in #1404
- fix(skills): 公開承認前に予約公開planを確認する by @daiki-beppu in #1406
- [codex] /automation-update の対象外フォルダ案内を追加 by @daiki-beppu in #1363
- fix: channel-newのTTP完了条件をdoctorで強制する (#1397) by @daiki-beppu in #1398
- docs(adr): ADR 監査 — 番号重複解消・Status 統一・内容突合レポート (#1413) by @daiki-beppu in #1417
- feat(doctor): 初期セットアップ不備を事前検知する by @daiki-beppu in #1405
- [codex] channel-newに初回wf-new前のTTP readinessを追加 by @daiki-beppu in #1368
- ci: docs/adr の ADR 番号重複を CI で機械チェック (#1414) by @daiki-beppu in #1419
- docs(migration): TS 移行告知 + 移行ガイドを公開する (#1416) by @daiki-beppu in #1424
- fix(lefthook): ブランチ削除 push を CHANGELOG ゲート対象外にする by @daiki-beppu in #1420
- fix(hooks): extensions のみの commit で pre-commit が「対象ファイルなし」exit 1 で落ちる問題を修正 (#1428) by @daiki-beppu in #1430
- feat(doctor): 番号付き重複ファイルの検知とクリーンアップ手順を整備 (#1410) by @daiki-beppu in #1418
- [codex] channel-newに初期運用前提チェックを追加 by @daiki-beppu in #1372
- feat: channel-newでDistroKid初期設定生成に対応 by @daiki-beppu in #1373
- fix(suno-helper): 連続実行時の stale selection 累積汚染を完了時リロードと Cmd+P 前ガードで防止 (#1411) by @daiki-beppu in #1412
- fix(suno-helper): 完了時リロード後も popup が直近完了 run の結果を復元できるよう FINISHED snapshot を退避 (#1411) by @daiki-beppu in #1438
- ci: issue 粒度 lint(non-blocking 警告コメント)を追加 by @daiki-beppu in #1429
- fix: DistroKid サブジャンル選択の非同期待機を追加 by @daiki-beppu in #1408
- feat: channel-newでチャンネル画像初期化を追加 (#1367) by @daiki-beppu in #1374
- fix(collection-ideate): 鮮度判定に実行日基準の絶対鮮度チェックを追加 (#1427) by @daiki-beppu in #1431
- audience-personaを単一ペルソナ設計スキルへ再設計する by @daiki-beppu in #1375
- refactor: suno-helper の single-file fallback を廃止 by @daiki-beppu in #1376
- chore(release): v5.5.15 by @daiki-beppu in #1448
Full Changelog: v5.5.14...v5.5.15