mcpField
P
papercut-hook

papercut-hook

github.com/0xs4n4tgクリエイティブ・メディア9951 回インストール2 週間前に更新
リポジトリ

papercut-hook について

papercut-hookは、短尺リールの冒頭フックを作成・確認するワークフロー用スキルです。音声、画面上の文字、映像の3要素を定め、事実との整合性などで案を評価します。

主な機能

  1. 013層構成のフックブロック
  2. 025案のフック採点
  3. 03初フレームのタイトル設定
  4. 04映像と文字の整合性確認
  5. 05シーン転換の動きの指針

活用シーン

  1. 01台本執筆前のリール冒頭作成
  2. 02調査した事実に基づくフック選定
  3. 03episode.jsonでのタイトル設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/0xs4n4tg/papercut-explainer --skill papercut-hook

インストール後、Claude Code で/papercut-hookを入力して読み込まれたか確認します。

同梱ファイルreferences/hook-patterns.md

詳細

Papercut フック

フックは最も重要なステップです。リールのフックは、明示された3つの独立したレイヤーで構成されており、どれも省略したり、暗示にとどめたりしてはいけません。スクリプトでは、ほかの内容を書く前にすべて作成してください。

事前確認

  • インストール:最小限で十分です。ライブラリは必要ありません。
  • episodes/NN-slug/research/facts.md の先頭にある BRIEF(トピック、形式、対象者、CTA)とファクトリストを読み、すべての主張を確認できるようにします。BRIEF がない場合は、先に papercut-strategy を実行してください。
  • 対象者のレベルと地域を確認するため、SERIES.md を読みます。

HOOK ブロック

HOOK
SAY:   <the first spoken sentence>
WRITE: <the frame-0 title, 2-5 words, ideally a number; the episode.json "hook">
SHOW:  <what frame 0 and the first 2 s show: the mid-action moment, the camera move>
ALIGN: <the one idea all three point at>

4行すべてが埋まり、整合性テストに合格するまで、シーンを作成してはいけません。

レイヤールール
SHOW、最初のフレーム最も印象的な瞬間で、すでに動作の途中です。状況説明のためのショット、フェードイン、何もない部屋は避けます。音声なしでも意味が伝わる必要があります。
WRITE、画面上のタイトルカバータイトル(2~5語、できれば数字を含む)は、フレーム0から約2~3秒間、完全に表示します。ギャップのもう半分を担い、音声と同じ言葉は使いません。
SAY、読み上げるセリフ約10語以内でギャップを作ります。誰に向けた内容かを明示します。賭けとなるものや数字は早めに出します。自分で答えを明かしてはいけません。匿名のニュース風の導入(「誰かがたった今、オープンソース化しました……」)は避けます。信頼できる、名前のある情報源を挙げるのは問題ありません。

背骨のビート1にある「ニュースとして述べる」導入(「ある個人開発者がたった今、オープンソース化しました……」)は使わないでください。代わりにギャップと賭けとなるものを提示し、視聴者がすでに知っている大手ブランド名を最初の文に入れます。

整合性テスト

見せるもの、書くもの、話すものは、すべて同じ1つのアイデアを指しています。言葉は異なっても、主題は同じです。たとえば、音声で「スクリーンショットが漏えいしました」と言っているのに、フレーム0には落ち着いたデスクが映り、タイトルが星の話題なら、各レイヤーが別々の疑問を生み、どれも伝わりません。どの2つのレイヤーを隠しても、残った1つが同じアイデアをほのめかす必要があります。

バリエーションとフックのチェック

  1. references/hook-patterns.md にある7つのパターンのうち、少なくとも3つを使って、5つのバリエーションを作成します(権威の借用+特典、視聴者を名指ししてから数字を提示、物1つ・数字1つ・ひねり1つ、価格の衝撃、苦痛、評決または対立、自分自身の権威)。
  2. それぞれを、次の質問に「はい」と答えられるごとに1点で採点します。
    1. 読み上げるセリフは、約10語以内でギャップ(視聴者が答えを知りたくなる疑問や緊張感)を生み出していますか?
    2. 誰に向けた内容か、または何が賭けとなるかを伝えていますか?
    3. 曖昧な主張ではなく、具体的な数字、物、またはひねりを1つ含んでいますか?
    4. 答えを後に残していますか?
    5. 音声をオフにしても、フレーム0とタイトルが機能しますか?
    6. すべての主張がファクトシートの内容と一致していますか?
  3. 最も得点の高いバリエーションを選びます。質問6に不合格のバリエーションは除外してください。

フレーム0のタイトル(episode.json の「hook」)

どのリールもフックから始まります。episode.json の hook キーは、フレーム0からカバータイトルを画面に表示します(build_vo.py が plan.json に書き込みます)。タイトルが消えるまで、バナーは表示されません。

"hook": {"lines": [["AI", "LEAKED"], ["13,000+"]], "hot": ["13,000+"], "until": "yes", "size": 108, "top": 220}
  • lines:WRITE のテキストを、ちぎったタグのように行ごとに分けます。各行は単語の配列です。hot:黄色いタグを付ける単語です。
  • タイトルは、until の単語が現れた時点(2回目の出現なら ["yes", 2])、または "hold" 秒後(デフォルトは2.4秒)に消えます。
  • タイトルは2~5語にし、SAY で使う単語と重複させません。

フックからのカットに動きを持たせる

ポーズを保ったまま終わるフックは唐突に感じられ、せっかく得た注目を失います。

  • フックのシーンの最後の約10フレームに、加速するプッシュインを入れます(最初にほんの少し引きます)。
  • シーン2は、焦点となる小道具へのインパクトから始め、その後カメラをゆっくり引いてセットを見せます。たとえば、証拠カードを stamp でボードに勢いよく貼り付け、カメラを1.17倍から始め、キャラクターをフレーム外から急いで登場させます。
  • "hook": {"hold": <S01 seconds>} を指定して、カットと同時にタイトルを終わらせます。シーン2の最初のフレームにタイトルがかぶるのではなく、プッシュイン中にタイトルが消えます。

ゲート

  • SHOW はフレーム 0 で動作の途中にあり、音量が小さくなっています。
  • WRITE はフレーム 0 にあり、話されている言葉ではありません。
  • SAY は 10 語以内にギャップを作ります。
  • 3 つすべてがアラインメントテストに合格し、ALIGN で 1 つのアイデアが示されています。
  • 最も高いスコアを獲得したバリアントが質問 6 に合格しています。

引き継ぎ

episodes/NN-slug/papercut/STORYBOARD.md の先頭に HOOK ブロックを記述します(ファイルがない場合は作成してください)。フックの重要な単語または数字を記録します。スクリプトの最後の行でそれを繰り返します。次は papercut-script で、SAY を narration/script.json の l1_hook 行にも記述します。

コメント