WORKS 設定資産の棚卸し

スキル・CLAUDE.md・自動化 全設定一覧

モデル切替からHTMLプレビューの配色ルールまで、worksで運用している設定資産 全96項目(2026-07-07 時点)。

🔒 内部用 — 裏側情報を含む。視聴者シェア版は選別後に別途作成(やること/設定シェアサイト_構想)
GLOBAL — 全プロジェクト共通方針

モデル運用5

既定モデル = Opus 4.8~/.claude/CLAUDE.md

全プロジェクト共通の既定モデルはOpus 4.8とする。

判断が必要な通常タスクや、軽微でも判断に迷う作業はOpus 4.8で処理する。クレジット消費を抑えつつ品質を確保するため、タスクの性質に応じてモデルを使い分ける方針の中核。メインセッションは常にOpus 4.8のまま維持する。

軽量・定型タスク = Sonnet 5~/.claude/CLAUDE.md

明確に軽量・定型的な作業はSonnet 5(claude-sonnet-5)を使いクレジット消費を抑える。

対象は「すぐ結果が欲しい質問」「CRUD実装」「軽微な修正」「単純な置換」など。モデルIDは claude-sonnet-5 と明記されている。判断に迷う場合はSonnet 5ではなく既定のOpus 4.8を使う。

Fable 5 の使用場面(重いタスク限定)~/.claude/CLAUDE.md

Fable 5は「真価を発揮する場面」=重いタスク4類型に限定して使う。

該当基準は①アーキテクチャ設計・大規模な設計判断、②コードベース全体の監査/大規模移行・modernization、③複雑なバグの根本原因調査、④長時間の自走を要する作業の4つ。これらに該当しないタスクではFable 5を起動しない、と明示的に禁止されている。

heavy-taskサブエージェントへの委譲ルール~/.claude/CLAUDE.md

重いタスクは専用サブエージェント heavy-task(model: claude-fable-5)に委譲してから実行する。

「重いタスク」4類型に該当する作業は、直接実行せず専用サブエージェント heavy-task に委譲する。heavy-task の model は claude-fable-5。メインセッションはOpus 4.8のまま維持し、Fable 5は必要時のみ呼び出す二層構成。

ultracode(動的ワークフロー)の方針~/.claude/CLAUDE.md

ultracodeはセッション全体に適用せず、有効な単発タスクのみプロンプトにキーワードを付けて起動する。

セッション全体をultracodeにすると全タスクにワークフロー層が適用され消費が膨らむため禁止。動的ワークフローが本当に有効な単発タスクのときだけ、プロンプトに ultracode キーワードを付けて起動する。ワークフロー完了後は通常作業に戻す。

開発方針2

ハーネスエンジニアリング(開発方針)~/.claude/CLAUDE.md

品質は「モデルの記憶や注意力」ではなく「環境と仕組み」に担保させ、コードを書く前にフィードバックが自動で返る状態を先に作る。

具体則は4つ: ①新規プロジェクト・新機能の着手時は実装より先に検証ループ(テスト・リンタ・型チェック・ビルド・起動確認)を整備し、検証手段がないまま実装を積み上げない、②同じ指示・訂正の繰り返しに気づいたらCLAUDE.md/スキル/hooks/settingsへの恒久化を提案、③環境の摩擦(曖昧な手順・壊れたビルド・毎回の権限プロンプト・手作業前提フロー)は回避せず環境側の修正を優先、④プロジェクト固有のハーネスは各プロジェクトのCLAUDE.mdに書き、グローバルには原則のみを置く。

プラン立案時の必須ルール(plan mode/要件定義時)~/.claude/CLAUDE.md

プラン作成時は機能実装に加えて「ハーネス整備フェーズ」と「ループ設計フェーズ」を必ず独立ステップとして含める。

①ハーネス整備フェーズは実装より前に置き、検証ループ構築(テスト・リンタ・型チェック・起動確認コマンドを動く状態に)、.claude/settings.json の作成・更新(権限allowlist・編集後自動リンタ等のhooks)、プロジェクトCLAUDE.mdの作成・更新を行う。②運用があるプロジェクトではループ設計フェーズ(デプロイ・動作確認・ログ観測の手順定義、繰り返し作業のhooks/cron/スクリプト自動化明記)を含める。新規プロジェクトで未整備ならプランの最初のステップは機能実装ではなくハーネス整備、既存で整備済みならプラン冒頭で「ハーネス確認済み」と一言確認してから実装ステップに進む。

運用方針2

ループエンジニアリング(運用方針)~/.claude/CLAUDE.md

運用・改善作業は「実行→観測→修正」のループとして設計し、1回きりの修正で完結させない。

具体則は3つ: ①修正・変更を入れるときは効果を観測する手段(ログ・メトリクス・検証コマンド・確認手順)をセットで用意・明記する、②同じ形の作業が繰り返されるなら自動化(hooks、cron/スケジュール実行、/loop、スクリプト化)への昇格を検討・提案する、③失敗や手戻りが起きたら個別対処に加え「ループのどこが欠けていたか(観測不足か・検証不足か・手順の曖昧さか)」を一言添える。

蓄積ルール: 設定ハブへの統合~/.claude/CLAUDE.md

どのプロジェクトでも、新しく作った/初めて使ったスキル・設定・便利な仕組みは、その都度設定ハブへ追記して再生成する(Mac全プロジェクト共通・2026-07-07指示)。

対象=スキル/CLAUDE.md設定/hooks・自動化・進捗ボード等の仕組み/配布・可視化HTML/初めて使った外部スキル・MCP・プラグイン。追記先=HTMLプレビュー/_一覧データ.json+設定ハブ/data/可視性.json(外部由来は外部リソース.json)→_build_site.py と _generate_inventory.py で再生成。作りっぱなし・使いっぱなしでハブから漏らさないための台帳ルール。

WORKSPACE — worksの構成・置き場・チェックリスト

構成保護3

変更禁止: トップレベル制作フォルダ名/Users/senao/Downloads/works/CLAUDE.md (変更禁止セクション)

Blog_RoutineLabo・Blog_AIの教科書・Claudecode 動画編集・ショート動画作成・X Post・YouTube自動投稿・SNS自動投稿などの制作フォルダ名は変更・移動禁止。

各スキル・youtube_playlist.py・cost_config.json・.claude/verify-works.sh 等がフォルダ名を直書き参照しているため、改名するとスクリプト/スキル/OpenClaw指示書/別マシンが壊れる。README.mdの制作パイプライン表にも「変更禁止 → 理由はCLAUDE.md」と明記されている。

変更禁止: Drive symlink 7本/Users/senao/Downloads/works/CLAUDE.md (変更禁止セクション)

「今回の収録動画」「完成動画(アップロード)」「投稿画像」「サムネイル資料」「今回のアウトプット」「OpenClawデータ」「OpenClaw作成」の7 symlinkは名前もリンク先も変更禁止。

3台のMacで同じGoogle Driveパスを共有する前提のメディア受け渡しレーン。役割は 今回の収録動画=/work-startの入口、完成動画(アップロード)=完成動画置き場、今回のアウトプット=collect-output.shのジョブ別集約先、OpenClaw系=受付・通知係との受け渡し。

変更禁止: Blog_RoutineLabo配下の特殊フォルダ3つ/Users/senao/Downloads/works/CLAUDE.md (変更禁止セクション)

収録データ/・ショート動画返信/・ショート動画概要欄/ は空でも削除・移動しない。

収録データ/ はblog-create系の収録コピー先で空でも削除禁止。ショート動画返信/ はinstagram_auto_dmのsync_keywords_from_md.pyがDEFAULT_MD_DIRとして読むため移動不可。ショート動画概要欄/ は2026-07-06監査で実行時参照無しと確認済みだが、当面は保護継続・移動しない。

置き場2

ファイルの置き場ルール(5分類)/Users/senao/Downloads/works/CLAUDE.md (ファイルの置き場ルール)

TODO=やること/、設計書=ドキュメント/、バックアップ=_archive/、戦略=運用戦略/、済んだ収録ジョブ=下準備/<サイト>/_済み/ に置く。

TODO・作業メモ・引き継ぎは やること/ に「<トピック>_<内容>_YYYYMMDD.md」形式で。設計書・手順書・テンプレは ドキュメント/(全体設計書.htmlと作業ログ.htmlの置き場)。バックアップ・凍結物は _archive/<元の相対パス>/ へ置き、.bakを作業フォルダに残さない。戦略ドキュメントは 運用戦略/ に置き、追加したらREADMEの一覧表に1行追記する。

命名規則(README補足)/Users/senao/Downloads/works/README.md (命名規則セクション)

作業ドキュメントは<トピック>_<種類>_YYYYMMDD.md、収録ジョブはYYYYMMDD_<ツール名>、_始まりフォルダは作業対象外を意味する。

作業ドキュメントの種類は 提案/実装/引き継ぎ/作業メモ/議論メモ(例: ショート宣伝強化_提案_20260702.md)。収録ジョブIDは下準備・収録動画・ブログ記事フォルダ共通の背番号。「_」始まりフォルダ(_archive・_済み・_テンプレ)はwork-start等が無視する規約。

スキル運用1

スキルの正本と集約(sync-commands.sh)/Users/senao/Downloads/works/CLAUDE.md (スキルの正本と集約)

スキルの正本は各プロジェクトの.claude/commands/で、rootの.claude/commands/は集約コピー。編集後は bash .claude/sync-commands.sh で反映する。

サブフォルダ側のスキルmdを編集したら bash .claude/sync-commands.sh でrootへ反映(スキルmd編集時はhookが自動実行)。root専用スキル(work-start・youtube-publish等、元ファイルが無いもの)だけはrootを直接編集する。

終了チェック6

終了チェック0: ★現在地の更新(最優先)/Users/senao/Downloads/works/CLAUDE.md (作業セクション終了チェックリスト 項目0)

作業終了時は最優先で やること/_現在地.md を更新する(🔥次にやることTOP3/進行中の作業表/回すループ/完了項目の削除)。

_現在地.mdはセッション開始時にhookが自動でコンテキストへ注入する「単一の再開入口」。トークン上限が近い・作業を中断するときは、他のチェック項目より先に✍️中断メモ欄へ「何をしていた/どこまで/次の1手」を書いて即コミットする。2026-07-05導入。

終了チェック1: 成果物の集約(collect-output.sh)/Users/senao/Downloads/works/CLAUDE.md (作業セクション終了チェックリスト 項目1)

動画・画像などのメディア成果物は bash .claude/collect-output.sh <ジョブID> <工程名> <コピー元...> で 今回のアウトプット/(Drive)へ集約する。

Air・mini・スマホから確認できる状態にすることが完成条件。今回のアウトプット/ はDrive symlinkのジョブ別集約先。

終了チェック2: 工程ログ追記(作業ログ.html)/Users/senao/Downloads/works/CLAUDE.md (作業セクション終了チェックリスト 項目2)

ドキュメント/作業ログ.html のWORKLOG配列の先頭に1エントリ追記する。

エントリ形式は { date, area, title, status: "done|wip|hold", items: [], next: "" }。残タスクがあればnextに書く。追記位置は配列の末尾ではなく先頭。

終了チェック3: 分身AIへの蓄積/Users/senao/Downloads/works/CLAUDE.md (作業セクション終了チェックリスト 項目3)

作業で出た「考え方・戦略・判断基準」の気づきがあれば 分身AI/04_学びログ/2026.md に日付つき1行で追記する。

将来のSenao Botの学習素材とするための蓄積。気づきが無ければスキップ可の唯一の任意項目。

終了チェック4: コミット&プッシュ+ハンドオフ文書/Users/senao/Downloads/works/CLAUDE.md (作業セクション終了チェックリスト 項目4)

意味のあるメッセージで git commit → git push origin main し、長期作業ではフェーズ区切りごとに やること/ の進捗ハンドオフ文書を先に更新する。

ハンドオフ文書にはフェーズ状況表・ユーザー待ち・▶再開手順・回すべきループを書き(例: やること/動画編集自動化_進捗ハンドオフ_20260705.md)、突然停止しても「ハンドオフを読む→verify系ループ→続きから」が成立する状態を保つ。個別ハンドオフを作ったら_現在地.mdの進行中の作業表からリンクする(_現在地=全体入口1画面、個別ハンドオフ=詳細の2層)。auto-sync hookが保険で動く(開始時pull ff-only/毎ターン未pushの自動push/終了時自動commit+push)が、hookのメッセージは「auto:」なので手動の意味のあるコミットが基本。

終了チェック5: 構造変更時のドキュメント更新/Users/senao/Downloads/works/CLAUDE.md (作業セクション終了チェックリスト 項目5)

フォルダ構成など構造を変えた場合のみ、ドキュメント/全体設計書.html と root README.md を更新する。

毎回ではなく構造変更時限定の条件付き項目。全体設計書.htmlはプロジェクト全体像をブラウザで見る文書、README.mdは全体マップ。

検証1

検証コマンド(verify-works.sh)/Users/senao/Downloads/works/CLAUDE.md (検証セクション)

構成をいじった後は bash .claude/verify-works.sh で配線の全数検証(スクリプト実在/symlink/スキル同期ドリフト/launchd)を回す。

移動・改名後は bash .claude/verify-works.sh "<旧パス名>" で旧パスの残存参照も同時検索する。bash .claude/sync-commands.sh はスキル集約の同期(正本→root反映)。旧daily-pipeline.shは2026-07-06に_archive/.claude/へ退避済みで、定常ループ(トレンド/維持率/コスト)はSessionStartのloop-catchup+launchdで自動実行(.claude/launchd/README.md参照)。

デザイン1

HTMLの配色(暖色パレット共通デザイントークン)/Users/senao/Downloads/works/CLAUDE.md (HTMLの配色セクション・2026-07-07指示)

worksで作るHTMLは基本ライトテーマの暖色パレット(パーチメント地+アンバーゴールド+ティール)で統一し、ダークのGitHub風配色は使わない。

トークン値: --bg:#f6f2e9(パーチメント地)/--surface:#fffdf8/--surface-2:#f0ead9/--ink:#241f18/--ink-soft:#5c5346/--ink-faint:#8a7f6d/--line:#e2d9c6/--line-soft:#ece4d4/--accent:#b9791a(アンバーゴールド主アクセント)/--accent-ink:#8a5a10/--accent-bg:#f6e7cd/--teal:#2f6f68(副色・見出し/リンク)/--code-bg:#26221b/--code-ink:#ece3d2/--shadow: 0 1px 2px rgba(40,32,18,.05), 0 8px 30px rgba(40,32,18,.06)/--radius:14px。フォントは--font-jp(Hiragino Kaku Gothic ProN等)と--font-mono(SFMono-Regular等)。コードブロックだけ暗背景+明文字、ゴールド+ティールの2色アクセントを守り、紫/青の原色は避ける(使うなら沈んだトーン)。見本= 下準備/Routine Labo/20260703_Fable5準備5選/LINE配布_Fable5重タスクプロンプト完全版.html

環境2

.env(秘密キー)運用/Users/senao/Downloads/works/CLAUDE.md (その他) / README.md (直下の中央ファイル)

秘密キーは中央 .env(パーミッション600)と各プロジェクトの .env に置き、ファイルへの直書きは禁止。

2026-07-04に.gitignore監査済み。キー名の一覧はAPI_CATALOG.md(値は書かない)、キーの地図は.env.example(コミット可)。非秘密の運用パラメータは共通設定.mdに置く。

Python venvの2つの注意点/Users/senao/Downloads/works/CLAUDE.md (その他)

Playwright系(note/X記事投稿)のvenvはPython 3.12固定、Blog_RoutineLabo/AI_prompt(Auto)は ./venv/bin/python3.14 を直接叩く。

Playwright系は3.14だとドライバが落ちるため3.12固定。AI_prompt(Auto)のvenvはactivateが破損しているため、activateせず ./venv/bin/python3.14 を直接実行する。

SKILLS — スラッシュコマンド全量

司令塔/運用3

/output-approveroot直接編集

今回のアウトプット(hub)の成果物をユーザー承認後、下流へ複製配布して/blog-finishまで自動続行する承認ゲートスキル。

引数=ジョブID(省略時は最新フォルダ)。鉄則=hubの生成物は絶対削除しない(配布は常に複製・hub=バックアップ兼正本)。質問はStep1の1回に集約。承認済みショートは/youtubeshort-publishへも連鎖可。

/work-startroot直接編集

「今回の収録動画」の収録素材(本編1+SNS3)から①ブログ②本編カット(/video-cut)③ショート④Xレビュー予約を一括実行する日次投稿パイプラインの司令塔。

引数=省略で全部実行、"blog"/"cut"/"short"/"xreview"で部分実行、動画名指定可。frontmatterでmodel: claude-opus-4-8に固定(2026-07-03方針)。冒頭Step0で全質問を聞き切り、以降ゴールまで追加質問なしで自動進行。

/self-preview(グローバル)~/.claude/commands/self-preview.md(3台配布=Claude設定同期)

HTMLセルフプレビュー(自分専用ギャラリー)へ同期・アップする。引数にHTMLを渡すとそのファイルを日付つきで追加してから同期。

どのプロジェクトからでも実行可。内部でpublish_gallery.shを呼び、進捗ボード/ドキュメント/設定ハブ/HTMLプレビュー/下準備/スライドを全量同期して閲覧URL(gallery-2qc906haso.pages.dev)を返す。固有名サニタイズ+漏れ検査ゲートつき。

ブログ4

/blog-createBlog_RoutineLabo/.claude/commands/blog-create.md

Routine Laboブログの第1段階として、収録動画の文字起こし→記事作成→YouTube SEO情報→WordPress下書きアップまでを一括実行する。

引数=トピック名(例 DomoAI)または空(動画名から自動推測)。SNS発信用コンテンツは含まず、YouTube URL確定後の/blog-snsに委ねる。エラー時はその時点で停止・報告。

/blog-create-site2Blog_AIの教科書/.claude/commands/blog-create-site2.md

AIの教科書(AI図鑑)ブログの記事作成第1段階(文字起こし→記事→SEO情報)を一括実行する。

00_一括実行.mdの「第1段階」に準拠。文字起こしは cd "AI_prompt(Auto)" && python blog_transcribe.py、記事は01_記事作成プロンプト.mdに従いGutenberg(Sangoテーマ)形式で生成。

/blog-finishBlog_RoutineLabo/.claude/commands/blog-finish.md

画像準備済み記事の仕上げ(画像変換→誤字チェック→画像アップ→WP更新→X Article/note投稿→アーカイブ)を一括実行する。

引数=記事フォルダ名(例 20260409 DomoAI)または空(Blog_RoutineLabo直下のYYYYMMDD最新フォルダ自動検出)。対象は*記事完成.md。X/note自動投稿・採点・アフィリエイト誘導文まで含む第2段階。

/blog-finish-site2Blog_AIの教科書/.claude/commands/blog-finish-site2.md

AIの教科書ブログの記事仕上げ第2段階(画像プレースホルダー変換→誤字チェック→以降の仕上げ)を一括実行する。

前提=/blog-create-site2完了+投稿画像/AIの教科書/今回の差し込み画像/に画像配置。画像変換は blog_image_automation.py <記事> step3。最新記事フォルダを自動検出。

本編動画10

/edit-mainClaudecode 動画編集/.claude/commands/edit-main.md

画面収録から本編動画(ジェットカット+字幕+Bロール付き)を焼き込みレンダリングまで生成する。

引数=入力動画パス。input/存在確認→npm install→.envのOPENAI_API_KEY/GEMINI_API_KEY確認→config/bgm/からBGM選択質問→レンダリング。

/review-transcriptClaudecode 動画編集/.claude/commands/review-transcript.md

入力動画の文字起こしを手動修正するための編集ファイル(transcript_edit.md)を生成・案内する。

引数=入力動画パス。無ければnpm run preprocessで生成。角括弧[#番号 開始-終了]の変更・行の追加/削除/並び替えは禁止(テキスト部分のみ編集)。修正完了後は/edit-mainへ。

/scriptroot直接編集

テーマを渡すと横断リサーチ+SEOキーワード設計+知見ベースの壁打ちを経て、①収録用台本と②スライド生成プロンプトの2点を作る。

引数=[routinelabo|aibook]<ツール名/ねらい>。下準備/keyword_research/の無料サジェスト+/deep-researchでKW確定→SEO設計.mdに記録し下流(blog-create/概要欄/目次)と表記統一。②スライドには裏側の都合(CTA/LINE導線等)を一切含めない。

/video-archiveClaudecode 動画編集/.claude/commands/video-archive.md

output/edit/<name>/の編集素材一式(jetcut.mp4+SRT+timeline.xml+markers+broll等)をzip化して別PCへ持ち出せるようにする。

引数=入力動画またはbasename。npm run archive -- で実行、出力=output/edit/<basename>.zip。/video-export-edit未実行なら先に案内して停止。元フォルダは削除しない。

/video-cleanupClaudecode 動画編集/.claude/commands/video-cleanup.md

指定動画のwork/<name>/キャッシュを削除する(output/は保護)。

npm run cleanup -- で実行し削除容量を報告。再処理時はWhisper/Bロール生成のAPIコストが再発生する旨を案内。output/配下や他動画のwork/は絶対に削除しない。

/video-cutClaudecode 動画編集/.claude/commands/video-cut.md

本編カットを1コマンドで完全自動化(無音/非発話/フィラー/AI判断カット+テロップ校正→Premiere直行の非破壊マルチクリップFCP XML)する。

引数=input/xxx.mp4。停止はStep1.5の冒頭一括質問(AskUserQuestion 1回3問)とStep4dのナレーション提案時のみ。テロップテーマ制(config/style.jsonのtelop.themes・既定tech_navy)。出力=output/edit/<name>/(timeline.xml/subtitles.srt/markers/cut_report.md等)。要OPENAI_API_KEY(Whisper)。

/video-export-editClaudecode 動画編集/.claude/commands/video-export-edit.md

Premiere Pro/Filmora等の編集ソフト用に、焼き込みなしの素材セット(カット動画+SRT+FCP XML+マーカー)を出力する。

引数=入力動画パス。npm run export-edit -- で実行。/video-finish(焼き込み版)とは独立。transcript_edit.mdの手動修正が反映される。

/video-finishClaudecode 動画編集/.claude/commands/video-finish.md

2段階ワークフローのStep2として、テロップ修正後の動画をジェットカットから本編レンダリングまで一気に完走させる。

引数=入力動画パス。前提=work/<name>/transcript.jsonとtranscript_edit.md(/video-start済み)。編集が一切無い場合のみ1度確認。BGM選択を挟む。

/video-listClaudecode 動画編集/.claude/commands/video-list.md

work/とoutput/にある全動画の処理状態(preprocess/jetcut/broll進捗・完成物有無・キャッシュ容量)を一覧表示する。

npm run listを実行して結果を表示・補足。クリーンアップしたい動画があれば/video-cleanup <name>を案内する。

/video-startClaudecode 動画編集/.claude/commands/video-start.md

2段階ワークフローのStep1として、文字起こしを実行しテロップ確認用ファイルを生成して停止する。

引数=入力動画パス。input/存在確認→.envのOPENAI_API_KEY/GEMINI_API_KEY確認→preprocess実行。ユーザーがtranscript_edit.mdを修正後、/video-finishへ進む前提。

ショート5

/edit-shortClaudecode 動画編集/.claude/commands/edit-short.md

画面収録からGeminiがハイライトを選び9:16縦型ショート動画を1〜数本生成する。

引数=<動画パス> [本数](省略時2本)。npm run short -- で実行、preprocess/jetcutはキャッシュ再利用。出力=output/shorts/<name>_short*.mp4、選定理由はwork/<name>/highlights.jsonから提示。

/food-talkroot直接編集(root専用・旧AI Food Talk由来、実働はショート動画作成/のTopView i2v)

食材名を渡すと擬人化3D野菜キャラが解説する10秒×3のAIフードトーク風ショート動画を生成する。

引数=食材名。.claude/skills/food-talk.mdのフローに従い、台本承認で1回だけ停止→承認後はキャラ画像3枚→Avatar4リップシンク3本→ffmpeg結合まで全自動。30秒結合版+個別クリップを出力。

/promo-shortショート動画作成/.claude/commands/promo-short.md

本編動画を宣伝するTTSナレーション付きダイジェストショート(形式H・30〜40秒・9:16)を半自動生成する。

TTS=scripts/tts.py(topview text2voice 0.1cr/件)、Bロール=GPT Image静止画+Ken Burns基本+見せ場のみSeedance i2v、組み立て=scripts/promo_assemble.py(純ffmpeg)。コスト目安≈5cr+画像$1弱。固定トップタイトルカード標準。

/short-videoショート動画作成/.claude/commands/short-video.md

Pixar風3Dキャラ等が日本語解説する30秒ショートを半自動生成する主力パイプライン(主に形式A/G担当)。

台本前にAskUserQuestionで形式を必ず確認: A=Avatar4通常(≈5.3cr)/G=ハイブリッド/B=フードトーク(→/food-talk)/C=ティーザー(make_teaser.py)/H=ナレーション宣伝(→/promo-short)。形式G/HはBGM+SE既定ON(scripts/audio_fx.py)。入力=テーマまたは本編動画の2モード。

/topview-short-videoショート動画作成/.claude/commands/topview-short-video.md

Topviewを使いPixar風3Dキャラが日本語解説する30秒ショートを半自動生成する(旧来版パイプライン)。

入力=テーマ入力モードA(Web検索で3選自動選定)または本編動画モード。ショート動画作成/配下がカレントディレクトリ前提(ルートから呼ぶ場合は cd "ショート動画作成" が必要)。

YouTube公開8

/make-tocroot直接編集

完成YouTube動画から実測タイムスタンプ付きの目次(チャプター)を生成する(Routine Labo/AIの教科書両対応)。

引数=[routinelabo|aibook][動画ファイル名(省略可)]。入力=完成動画(アップロード)/のサイト別サブフォルダ、サイト未指定時はどちらに動画があるかで自動判定。目次.mdを同フォルダに保存。

/video-descriptionClaudecode 動画編集/.claude/commands/video-description.md

編集済み文字起こしからYouTube概要欄(タイトル案3つ+概要文+章立て+ハッシュタグ+タグ)を生成する。

引数=入力動画パス。前提=work/<name>/transcript.jsonとcut_plan.json(無ければ/video-start・/video-finishを案内)。npm run youtube -- で実行、Geminiが生成し出力=output/edit/<name>/youtube.md。

/video-embedBlog_RoutineLabo/.claude/commands/video-embed.md

公開したYouTube本編動画をWordPress記事とnote記事の両方へ1コマンドで埋め込む(Routine Labo専用)。

引数=記事フォルダ名/YouTube URL/空(最新自動検出)。差し込み先はタグ情報.md・R6_記事インデックス.mdから自動取得。WP=REST更新、note=note_auto_publisher/note_video_embed.pyのブラウザ操作。note URLは初回タイトル照合で自動取得し索引に保存。

/youtube-desc-site2Blog_AIの教科書/.claude/commands/youtube-desc-site2.md

AIの教科書の記事に対応するYouTube構成案・概要欄(VSEOタイトル3案ほか)を作成する。

対象=指定フォルダまたは2026 ブログ記事/内の最新フォルダ。記事完成.md・文字起こし.md・タグ情報.mdを読み込み、AI_prompt(Auto)/03_YouTube_SEO情報.mdのルールで生成。タイトルは40〜60文字。

/youtube-publishroot直接編集

完成動画から実測目次生成→概要欄埋め込み→YouTube非公開アップまで一括実行し、公開後は/blog-sns→/video-embedへ自動連鎖する。

引数=[routinelabo|aibook][動画ファイル名(省略可)]。/make-tocと/youtube-uploadの合体。チャプターは手元mp4からGroq Whisperで実測(アップ前に目次確定)。公開・予約は人間がYouTube Studioで行う。

/youtube-thumbnailroot直接編集

本編動画やタグ情報から太線アニメイラスト調のYouTubeサムネ(16:9)を感情5パターン自動生成する。

エンジン=GPT Image 2.0(ai_image_gpt.py・1792x1008・quality high・AI_IMAGE_CMDで切替可)。既定デザイン=design4(感情訴求型)・--design Nで切替。実体=サムネイル資料/プロンプト参考/thumbnail_generator.py、検品=thumb_verify.py。キャラは毎回ローテーション(--charで前回と別キャラ指定)。

/youtube-uploadYouTube自動投稿/.claude/commands/youtube-upload.md

完成動画をタイトル・概要欄・タグ・サムネ付きでYouTubeへ非公開(private)アップロードする(公開はStudioで人間が実施)。

引数=完成動画パス(任意・未指定なら完成動画(アップロード)/等から確認)。実体=YouTube自動投稿/youtube_upload.py、メタ情報はYouTube構成案・概要欄.mdから自動抽出。鍵は~/.config/youtube-upload/(Drive同期外)に配置済みが前提。

/youtubeshort-publishroot直接編集

縦型ショートをYouTubeショート(即時公開)+TikTok(受信箱下書き)+Instagramリール(即時公開)へ同時アップし、公式LINEキーワード自動返信も有効化する(Routine Labo専用)。

引数=動画ファイル名(省略時は完成動画(アップロード)/ショート動画/直下の最新)。YT=youtube_upload.py --shorts --privacy public、TikTok=SNS自動投稿/tiktok_upload.py、IG=wp_video_upload.py+instagram_reels_upload.py --mode url、LINE=register_keyword.py(Step4.7)。YT/IGは即ライブなのでStep3.5でタイトル/概要を必ず目視。通常は/output-approveが承認済みショートを配置してから呼ぶ。

SNS/X6

/blog-snsBlog_RoutineLabo/.claude/commands/blog-sns.md

YouTube本編URL確定後に、ショート概要欄・返信テンプレ・SNS共有投稿・Discord/LINE更新メッセージを1ファイルにまとめて生成する第3段階スキル。

引数=フォルダ名または空(最新フォルダ自動検出。/blog-finishアーカイブ後は年別フォルダも検索)。/blog-create→/blog-finish→YouTube投稿→本スキルの流れの最終段階。Discord Webhook自動投稿(STEP2.8)も連動。

/x-postX Post/.claude/commands/x-post.md

海外のX投稿を取得して日本語に翻訳・再構成し、Typefullyに下書き保存する。

引数=XポストURL(翻訳モード・FxTwitter APIで取得)またはテキスト(独自投稿モード)。引用リポスト風コメントは言い切り/インフルエンサー調のスタイルルールあり。

/x-researchX Post/.claude/commands/x-research.md

AI業界の最新ニュースをリサーチし、厳選3件を最適時間にTypefullyで予約投稿する(毎日午前4時タスク想定)。

引数=キーワード(任意・例 "OpenAI")。Bright Data MCPでXの実エンゲージメント上位5件を実数ベースで取得(未接続時はWebSearchのみ)。Typefully Creatorプラン・1日3件がアルゴリズム最適値。

/x-sns-shareX Post/.claude/commands/x-sns-share.md

ブログ・YouTubeのSNS共有投稿mdを読み取り、翌日の最適時間帯にTypefullyで予約投稿する。

引数=SNS共有投稿のmdパス(例 SNS共有投稿/20260331 YouWare.md)または空(フォルダ内最新を自動選択)。SNS共有投稿作成.mdのテンプレ形式(タイトル+✅ポイント)前提。

/x-tool-reviewX Post/.claude/commands/x-tool-review.md

音声入力テキストからツール紹介文を作り、30-40秒ショート動画付きでX/Threadsに投稿する。

引数=ツール名と機能説明(音声入力テキスト)。動画は X Post/動画アップロード/ 直下の.mp4/.movを自動検出。Web検索でツール情報を補完し統一スタイルで作成。

/blog-sns-embedBlog_RoutineLabo/.claude/commands/blog-sns-embed.md

本編公開後の後工程 /blog-sns(SNS発信用生成)→ /video-embed(WP+note埋込)を1コマンドで連続実行するラッパースキル。

引数=記事フォルダ名/本編URL/空(最新自動)。本編URLをStep0で1回だけ確定し二重に聞かない。本編が非公開ならSTEP1(SNS発信用生成)のみで停止→公開後の再実行でSTEP2が冪等に進む。/blog-sns・/video-embed本体は壊さず順に呼ぶだけ。/youtube-publish Step6の自動連鎖と同内容の手動入口。

メンバーシップ3

/ai-weeklyBlog_メンバーシップ/.claude/commands/ai-weekly.md

メンバー限定「AI週報」の台本とスライド資料を、直近1週間のAIニュースのDeep Researchから一発生成する。

引数=[配信日YYYY-MM-DD省略可][実使用ツール(🟢用・任意)]。Bright Data MCP主軸の5観点並行調査→Blog_メンバーシップ/週報/<配信日>/に①台本②スライド資料を出力。週報_フォーマット.md準拠、🟢実体験/🟡ニュースの2モード・出典付き・盛らない。

/member-pickBlog_メンバーシップ/.claude/commands/member-pick.md

メンバー週次配信コーナー②「今週の当たり」の台本とスライド資料を🟢実体験ベースで生成する。

引数=<ツール/プロジェクト名> | <なぜ良かったか(任意)>。型=前の困りごと→見つけた→どう変わった→誰に効く。🟢は実際に使ったものだけ・盛らない・機微情報は出さない。週次メンバー配信フォーマット.md準拠。

/pro-revenueBlog_メンバーシップ/.claude/commands/pro-revenue.md

ビジネスAIプラン(¥5,400)限定「開発と収益化」シリーズの台本+スライドを、自作プロジェクトのread-only調査から生成する。

引数=<プロジェクトのフォルダパス(必須・例 /Users/senao/VideoEditor)>[回番号][配信日]。出力=Blog_メンバーシップ/プロ限定_開発と収益化/第NN回_<名>_<日付>/。機微情報は出さない・未公開数字は「設計値」明記。

その他1

/share-htmlroot直接編集

自己完結HTMLをGitHub Pages公開URL(視聴者=yt-share/メンバー=member-share)にして共有リンクを返す。

引数=--target <yt|member> <HTMLパス> [slug]。実体=共有ページ/publish_share.sh。memberはslugにランダム付与で推測回避。業者向けは別コマンド bash 共有ページ/publish_vendor.sh pr-<vendor> <html>(Cloudflare Pages・案件ごと独立)。公開前に裏側情報の有無を必ず目視確認。

AUTOMATION — hooks / launchd / スクリプト / 公開システム

hooks7

SessionStart hook: auto-commit-push.sh pull/Users/senao/Downloads/works/.claude/hooks/auto-commit-push.sh(設定: .claude/settings.json)

セッション開始時にGitHubから最新をfast-forwardのみで自動pullする。

トリガーはSessionStart(timeout 30秒)。`auto-commit-push.sh pull` として実行され、mainブランチ以外・マージ/リベース中・gitリポ外では何もしない安全装置つき。失敗しても常にexit 0でセッションをブロックしない。

SessionStart hook: _現在地.md 自動注入/Users/senao/Downloads/works/.claude/settings.json(inlineコマンド)

セッション開始時に「やること/_現在地.md」をcatしてコンテキストへ自動注入する。

トリガーはSessionStart(timeout 10秒)。`$CLAUDE_PROJECT_DIR/やること/_現在地.md` が存在すれば「🧭 作業再開ポイント」ヘッダ付きで全文出力し、単一の再開入口として機能する。作業終了チェックリスト項目0でこのファイルを更新する運用とセット。

SessionStart hook: check-symlinks.sh/Users/senao/Downloads/works/.claude/hooks/check-symlinks.sh

セッション開始時にworks内の全symlinkの生存を確認し、切れている時だけ警告を出す。

トリガーはSessionStart(timeout 20秒)。findで.git/node_modules/venvを除く全symlinkを走査し、リンク切れがあれば「⚠⚠⚠ symlink切れを検出」とリンク先つきで出力。Drive側フォルダ誤削除で7本切断されたインシデント(2026-07-05)を契機とした観測ループ。

SessionStart hook: loop-catchup.sh(アンアクロン式)/Users/senao/Downloads/works/.claude/hooks/loop-catchup.sh

セッション開始のたびに鮮度切れの定常ループ(trend/retention/costs)だけをバックグラウンド実行する。

トリガーはSessionStart(async・timeout 30秒)。trendは今日のレポートが無ければ実行など鮮度判定つきのanacron方式で、launchdがTCC未付与で動けない環境でも「Macを開いた日は必ずループが回る」主経路。launchdは無人日カバーの補完扱い。

PostToolUse hook: post-edit-sync-commands.sh/Users/senao/Downloads/works/.claude/hooks/post-edit-sync-commands.sh

Edit/Writeでスキルmd(*/.claude/commands/*.md)を編集した直後にsync-commands.shを自動実行してroot集約へ即反映する。

トリガーはPostToolUse(matcher: Edit|Write、timeout 60秒)。正本(プロジェクト側)編集→sync自動実行、root集約コピーを直接編集した場合は「次のsyncで上書きされて消える」警告を出す。対象外ファイルの編集では即終了する軽量設計。

Stop hook: auto-commit-push.sh push-only/Users/senao/Downloads/works/.claude/hooks/auto-commit-push.sh

毎ターン終了時に未pushコミットがあればGitHubへ自動pushする。

トリガーはStop(async・timeout 60秒)。`auto-commit-push.sh push-only` で未pushコミットの有無だけ確認してpushする。コミット作成は行わないため、意味のある手動コミットが基本という運用と両立する。

SessionEnd hook: auto-commit-push.sh full/Users/senao/Downloads/works/.claude/hooks/auto-commit-push.sh

セッション終了時に未コミット変更を「auto:」で自動commitしてからpushする(反映忘れの最終保険)。

トリガーはSessionEnd(timeout 90秒)。`auto-commit-push.sh full` として実行。機械的なコミットメッセージになるため、あくまで保険であり手動の意味あるコミットが優先という位置づけ。なお .claude/settings.json にはhooksのみで、permissionsセクションは定義されていない。

launchd6

launchdジョブ: trend(トレンド収集)~/Library/LaunchAgents/com.senao.works.trend.plist(実体: ショート動画作成/トレンド収集/trend_scout.py、配線: .claude/launchd/install.sh)

毎朝07:00にtrend_scout.pyで日次トレンドレポートを生成する。

run-job.shラッパ経由で実行され、ログは .claude/launchd/logs/trend.log、非0終了時はnotify.shでDiscord警告。~/DownloadsのTCC保護のため /bin/bash へのフルディスクアクセス付与が有効化条件(未付与だとOperation not permitted)。手動発火は `launchctl kickstart -k gui/$(id -u)/com.senao.works.trend`。

launchdジョブ: retention(ショート維持率)~/Library/LaunchAgents/com.senao.works.retention.plist(実体: 維持率観測/retention_report.py)

毎週日曜08:00にretention_report.pyでショート維持率の週次レポートを生成する。

run-job.sh経由でlogs/retention.logへ記録・失敗時Discord通知。launchdはMacスリープ中は発火せず起動後に持ち越し実行(cronと違い取りこぼさない)。TCC未付与時はSessionStartのloop-catchup.shが代替経路。

launchdジョブ: costs(コスト集計)~/Library/LaunchAgents/com.senao.works.costs.plist(実体: コスト管理ダッシュボード/collect_costs.py)

毎月1日09:30にcollect_costs.pyで全API課金の月次集計を実行する。

run-job.sh経由でlogs/costs.logへ記録・失敗時notify.shでDiscord警告。Python標準ライブラリのみで動く設計(venv不要)。登録/更新は `bash .claude/launchd/install.sh`(冪等)、解除は `--uninstall`。

launchdジョブ: watchdog(ループ鮮度番犬)/Users/senao/Downloads/works/.claude/launchd/watchdog.sh(plist: com.senao.works.watchdog)

毎日09:00に全ループの鮮度・symlink・git未push・本編差し込み漏れを監視し、異常時のみDiscordへ通知する。

「実行」と「実行されなかったことの観測」を分離する番犬。監視6点=①今日のtrendレポート有無 ②retentionが8日以内 ③cost_data.jsonが32日以内 ④symlink切断(check-symlinks.sh) ⑤origin/mainより先行の未pushコミット ⑥YouTube公開済なのにWP/note未埋込の記事(embed_gap_check.py)。正常時は無音、手元実行は `bash .claude/launchd/watchdog.sh`。

run-job.sh(launchd共通ラッパ)/Users/senao/Downloads/works/.claude/launchd/run-job.sh

全launchdジョブの共通ラッパとして、ログ追記と失敗時のDiscord通知を保証する。

使い方は `run-job.sh <ジョブ名> <作業dir> <コマンド...>`。出力を .claude/launchd/logs/<ジョブ名>.log に追記し、非0終了なら .claude/scripts/notify.sh でDiscordへ警告(サイレント失敗の撲滅)。launchdの最小PATH問題対策でhomebrewをPATH先頭に追加する。

notify.sh(共通Discord通知)/Users/senao/Downloads/works/.claude/scripts/notify.sh

全ループ・hook・launchdジョブから呼ばれる共通のDiscord警告通知スクリプト。

使い方は `bash .claude/scripts/notify.sh "⚠️" "本文"`。DISCORD_WEBHOOK_URLは環境変数>中央.envの順で解決し、通知自体の失敗では絶対にブロックしない(常にexit 0)。2026-07-06ループ監査で「失敗が人間に届く経路ゼロ」と判明したことを受けて新設された観測の脚。

スクリプト8

verify-works.sh(配線の全数検証)/Users/senao/Downloads/works/.claude/verify-works.sh

構成変更後に手動実行し、パイプラインが呼ぶスクリプト・symlink・スキル集約の健全性を一括検証する。

旧DRY_RUN daily-pipelineの後継。チェック内容=①中核スクリプトのマニフェスト全数 test -e ②Drive symlink 7本の生存(check-symlinks.sh流用)③スキル集約ドリフト等。使い方は `bash .claude/verify-works.sh`、移動・改名後は `bash .claude/verify-works.sh "旧パス名"` で残存参照も検索できる。

sync-commands.sh(スキル集約同期)/Users/senao/Downloads/works/.claude/sync-commands.sh

各プロジェクトの .claude/commands/*.md(正本)をroot直下の .claude/commands/ へ集約コピーする。

正本は各プロジェクト側で、rootは生成先(元ファイルは一切書き換えない)。各コピー先頭に `<!-- 集約元: <相対パス> -->` を付与し、frontmatterがある場合は終了---直後に挿入。root専用スキル(元がないもの)は削除しない。手動実行のほか、post-edit-sync-commands.sh hookから自動実行される。

collect-output.sh(成果物集約)/Users/senao/Downloads/works/.claude/collect-output.sh

作業セクション終了時に成果物を「今回のアウトプット/<ジョブID>/<工程>/」(Drive)へ集約コピーする。

使い方は `bash .claude/collect-output.sh <ジョブID> <工程サブフォルダ> <コピー元...>`。元の保存先は残したままコピーし、Air・mini・スマホから確認できる状態にするのが完成条件。ユーザー確認・公開後に手動削除する運用。

distribute-output.sh(承認後の複製配布)/Users/senao/Downloads/works/.claude/distribute-output.sh

/output-approveスキルの実体として、承認済みhub「今回のアウトプット/<ジョブID>/」から下流フォルダへ成果物を複製配布する。

hub側は絶対に削除しない(複製のみ・バックアップ扱い)、配布先の既存ファイルは上書きしない(手動差し替えが常に勝つ・冪等)が2大原則。配布内容=①差し込み画像→投稿画像/<サイト>/今回の差し込み画像/ ②サムネ→アイキャッチ画像/ ③アップ用JPG→完成動画(アップロード)/<サイト>/(youtube-publishのサムネ自動検出が拾う)。

制作ライン進捗ボード(進捗の自動可視化)ドキュメント/進捗ボード/(_build_board.py・index.html・overrides.json)+ .claude/hooks/regen-board.sh

収録→ブログ→本編・ショート→承認→公開→SNS共有の12工程を、hubの job_manifest / selected.txt / timeline.xml やタグ情報.mdのURL欄など「作業の副産物ファイル」から自動判定し、工場ライン風HTML(全体%ドーナツ+NOW PROCESSING+工程コンベア+シグナルボード+完了棚)に描画するダッシュボード。

再生成は python3 "ドキュメント/進捗ボード/_build_board.py"(標準ライブラリのみ・1〜2秒)。Stop/SessionStart hook の regen-board.sh が作業が進むたび自動再生成(120秒ガード)し、ページ自体も60秒ごと自動リロード=開きっぱなしでライブ表示。12工程中11工程は実ファイルで全自動判定、ショート公開のみ overrides.json に手動記録(done/skip/_archived)。判定スナップショットは board_data.json。macOSのNFD正規化とDrive symlinkに対応。デザインは_デザインサンプル.htmlの暖色トークン準拠。

プロジェクト×スキル マップ(_scan_skills.py)共有ページ/設定ハブ/_scan_skills.py

Mac内の全プロジェクト(works各サブ/~project配下/グローバル/公式スキル/プラグイン)の.claude/commandsを決定的に走査し、どのプロジェクトで何のスキルが使えるかをdata/スキルマップ.jsonに書き出す。

_build_site.pyがビルド前に毎回自動実行するため、他プロジェクトでスキルが登録されると次のビルドで設定ハブの🗺️セクションに自動反映される。node_modules/venv等は除外・深さ3制限。regen-hub.sh(Stop/SessionStart hook)で無人更新。2026-07-07新設。

AIオフィス(Claude Codeセッションのライブ可視化)AI Office/(server/office_server.py・ui/office_page.html・office_config.json・verify.sh)

このMacの全Claude Codeセッションを「AI社員が働くドット絵オフィス」としてライブ表示するローカルサーバー(ゲームUI)。背景とプロジェクト固有キャラ11体はGPT Image 2.0製。1セッション=1社員が入口から出社してデスクへ歩き、作業中は吹き出し・放置で休憩ラウンジへ移動。キャラをクリックするとRPG風会話ウィンドウで「いまの作業・未回答の質問・承認待ちの可能性・直近の報告」を話してくれて、✅承認/🛑停止/📝報告のクイック返答や📨指示ポストでそのセッションに指示を届けられる。

起動= python3 "AI Office/server/office_server.py" → http://localhost:4780(UI=office_page.html・再起動なしで編集反映)。3カラム=指示センター(送信履歴・配達状況)/オフィス/社員詳細+フィード。データ源=~/.claude/projects/*.jsonl末尾解析(読み取りのみ)。承認待ち推定=最終イベントがtool_useのまま75秒超。指示配達=office_inbox+グローバルStop hook(asyncRewake)。アセット再生成=assets_gen.py(gpt-image-2・スプライトはマゼンタ背景→PILクロマキー透過)。キャラ割当=office_config.jsonのsprite。標準ライブラリのみ。

進捗ボード ライブサーバー(board_server.py)ドキュメント/進捗ボード/board_server.py(起動: board-live.sh・SessionStart hook自動起動)

進捗ボードをリアルタイム反映するローカルライブサーバー。ソース変更を1秒監視→変化時のみ再ビルド→SSE(/live)でブラウザへ即プッシュ。

標準ライブラリのみ・http://localhost:4788。http経由で開くとEventSourceで版変化の瞬間だけreload(無変更時リロードせずチラつきなし)、file://は従来60秒にフォールバック。多重起動しない。ポート=BOARD_PORT・ログ=.server.log。

公開システム6

yt-share(視聴者向けHTML公開)/Users/senao/Downloads/works/共有ページ/publish_share.sh(リポ: senao-routine/yt-share、clone: ~/project/senao-yt-share)

YouTube視聴者向けの自己完結HTML(プロンプト配布等)をGitHub Pagesの公開URLで配る。

実行は `bash 共有ページ/publish_share.sh --target yt <html> <slug>` またはスキル `/share-html --target yt`。URLは `https://senao-routine.github.io/yt-share/<slug>.html` で配布前提の完全公開。載せるHTMLは画像data URI等の自己完結が前提で、公開取り消し後もキャッシュに残り得るため機密は載せない。

member-share(メンバー限定HTML公開)/Users/senao/Downloads/works/共有ページ/publish_share.sh(リポ: senao-routine/member-share、clone: ~/project/senao-member-share)

メンバー限定資料をランダムslug付きURLで実質限定公開する(GitHub公開リポだが推測不可URL)。

実行は `bash 共有ページ/publish_share.sh --target member <html>` でslugに自動でランダム文字列を付与(URL推測回避)。ただしgithub.com側でリポの中身自体は見えるため、秘密度が高いものは③業者向けの独立入れ物へ回す。ルートに一覧index.htmlを置かず、勝手に全ページを辿らせない設計。

vendor公開(業者向け・Cloudflare Pages案件別)/Users/senao/Downloads/works/共有ページ/publish_vendor.sh(デプロイ一時フォルダ: ~/project/cf-vendor/<project>/)

業者向け台本共有を案件ごとに独立したCloudflare Pagesプロジェクトへデプロイし、他業者から存在が見えない構造で配る。

実行は `bash 共有ページ/publish_vendor.sh pr-<vendor> <共有用HTML>` → `https://pr-<vendor>.pages.dev/`(wranglerアカウント=routinelabo_senao・無料)。GitHub公開リポだとアカウントのリポ一覧で「複数社とPR中」がバレる+git履歴は消えないため、案件ごと完全分離を構造で担保(削除は任意: `wrangler pages project delete pr-<vendor>`)。業者向けは必ず裏側なしの共有用版にしつつPR/提供表記は残す(景表法/ステマ規制)。初弾実績=pr-hi3d。

HTMLプレビュー化プロンプト(視聴者配布 + CLAUDE.md/hook自動化)共有ページ/HTMLプレビュー/20260708_ClaudeCode_HTMLプレビュー.html(公開: senao-routine.github.io/yt-share/20260708-claude-code-html-preview.html)

作業やプロジェクト全体の状態を、Markdownの長文でなく1枚のHTMLダッシュボードに書き出させるプロンプト2種と、それをCLAUDE.md+Stop hookで毎回自動化する型。20260707視認性HTMLプレビュー動画の視聴者プレゼント。

①タスク完了→HTML(チャット貼付) ②プロジェクト全体→HTML(一撃)の2プロンプト+レベル1(CLAUDE.mdに数行)/レベル2(regen-preview.sh=120秒ガード・常にexit0のStop hook自動再生成)。実配線のregen-board.shを汎用化。works共通パレット・4タブ・全プロンプトにコピーボタン。publish_share.sh --target yt でGitHub Pages公開。

/html-report(グローバルスキル・全プロジェクト共通)~/.claude/commands/html-report.md

worksの共通デザイン(暖色ライトテーマ)で自己完結HTMLレポートを一発生成するグローバルスキル。テーマCSSを埋め込み済みでworks以外のプロジェクトでも同じ見た目で動く。

引数=レポートのテーマ/対象/空。:rootトークン(パーチメント地+アンバーゴールド+ティール)と部品CSS(カード/kicker/表/状態バッジ/進捗バー)を雛形として内包。外部CDN/フォント禁止・自己完結・レスポンシブ。works内はHTMLプレビュー運用+設定ハブ統合に従い、他プロジェクトはreports/へ。正本パレット=共有ページ/HTMLプレビュー/_デザインサンプル.html。

公開リポREADME一覧自動生成 (_build_share_readmes.py)/Users/senao/Downloads/works/共有ページ/HTMLプレビュー/_build_share_readmes.py(publish_share.sh末尾で自動実行)

yt-share / member-share の README.md に「どのURLを叩けば表示されるか」の一覧(公開日・タイトル・URL)を自動生成してcommit&pushする。

各公開リポの*.htmlを実スキャンし、タイトル(titleタグ)と公開日(git初回コミット)つきの表を生成。publish_share.sh実行のたびに公開リンク台帳と一緒に最新化されるので作りっぱなしにならない。コミット作者はsenao固定(公開ポリシー準拠)。

MCP/自動化1

AI Office MCPサーバー (mcp_office.py)AI Office/server/mcp_office.py(登録: claude mcp add --scope user aioffice)

他のClaude Codeセッションやツールから AI Office を操作する自作MCPサーバー(stdio JSON-RPC・標準ライブラリのみ)。ツール=office_status(全セッション要約)/office_instruct(指定セッションへ指示投函)。

MCP SDKを使わず標準ライブラリで stdio JSON-RPC を手書き(server/=stdlib縛りの価値を守る)。office_server を import して office_json/post_instruction を再利用・ネットワーク非開放・stdout純度厳守・EOF exit0・version交渉4版。OpenClaw連携用に中継Workerへ RELAY_POST_TOKEN(投函/状況取得のみ)+tools/office_send.py(HMAC署名CLI)。検証=verify.sh ▶11+test_mcp_office。設計WF4体+敵対的レビューWF28体→23所見修正で堅牢化。

スマホ連携/自動化1

AI Office QRペアリング (vendored segno)AI Office/tools/qr_gen.py+tools/vendor/segno/

スマホペアリングのQRコードを信頼ライブラリsegno(vendored・pip不要)でサーバー側生成。手書きエンコーダの『壊れQR』リスクを回避し、中継設定済み時のみ描画。

office UIの『📱スマホ連携』でpair_urlをQR画像化。segnoのencoder+constsのみvendorしてclone即動作を維持しつつ正しいQRを保証。qr_gen.pyがpayloadをstdinで受けてSVG生成(ps露出回避)、office_serverはsubprocessで呼び出しstdlib純度を保つ。matrix KATでピン・256px。同フェーズP6でbg軽量化(2.7MB→0.9MB)・history flock・relay_agent常駐化(P4.5)も実装。

自動化1

HTMLセルフプレビュー (publish_gallery.sh)/Users/senao/Downloads/works/共有ページ/publish_gallery.sh(生成: HTMLプレビュー/_build_gallery.py・フック: .claude/hooks/sync-preview-gallery.sh)

各プロジェクトの自分用HTML(台本・設定・進捗・配布物)をGitHubプライベートリポ(senao-routine/html-self-preview)へ集約し、Cloudflare Pagesの推測困難URLでプロジェクト別×日付一覧のギャラリーを自動生成する。

取り込み元=進捗ボード/worksドキュメント/設定ハブ/HTMLプレビュー/台本・下準備/スライド制作(_build_gallery.pyのSOURCES)。固有名サニタイズ+漏れ検査ゲート(禁止語が残るとexit 2で公開停止・公開ポリシー準拠)。①GitHubプライベートリポへcommit/push(作者senao固定)②Cloudflare Pages gallery-2qc906haso.pages.dev(noindex+推測困難URL)へデプロイ。Stopフックsync-preview-gallery.shが状態ハッシュ(--state)の変化時だけ自動実行・スキル/self-previewで手動即時反映も可(冪等)。

配布/可視化HTML1

AI Office 進捗マップ(プロジェクト全体の可視化HTML)共有ページ/HTMLプレビュー/20260709_AIOffice進捗マップ.html

AI Officeプロジェクトの全体像と現在地を1枚で可視化(フェーズ進捗P0-P6・アーキテクチャ図・品質の仕組み・ユーザー操作待ち2件・次の一手)。

Mac全体のClaude Codeセッションをドット絵オフィスでライブ表示するAI Officeの進捗マップ。3レーンのアーキテクチャ図(Macローカル/Cloudflare中継/MCP予定)、敵対的レビュー累計112+体→70+所見修正の品質体制、P3実deploy・P4実loadのユーザー手順コード付き。デザインは_デザインサンプルの暖色パレット準拠。