papercut-hook について
papercut-hookは、短尺リールの冒頭フックを作成・確認するワークフロー用スキルです。音声、画面上の文字、映像の3要素を定め、事実との整合性などで案を評価します。
主な機能
- 013層構成のフックブロック
- 025案のフック採点
- 03初フレームのタイトル設定
- 04映像と文字の整合性確認
- 05シーン転換の動きの指針
活用シーン
- 01台本執筆前のリール冒頭作成
- 02調査した事実に基づくフック選定
- 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つが同じアイデアをほのめかす必要があります。
バリエーションとフックのチェック
references/hook-patterns.mdにある7つのパターンのうち、少なくとも3つを使って、5つのバリエーションを作成します(権威の借用+特典、視聴者を名指ししてから数字を提示、物1つ・数字1つ・ひねり1つ、価格の衝撃、苦痛、評決または対立、自分自身の権威)。- それぞれを、次の質問に「はい」と答えられるごとに1点で採点します。
- 読み上げるセリフは、約10語以内でギャップ(視聴者が答えを知りたくなる疑問や緊張感)を生み出していますか?
- 誰に向けた内容か、または何が賭けとなるかを伝えていますか?
- 曖昧な主張ではなく、具体的な数字、物、またはひねりを1つ含んでいますか?
- 答えを後に残していますか?
- 音声をオフにしても、フレーム0とタイトルが機能しますか?
- すべての主張がファクトシートの内容と一致していますか?
- 最も得点の高いバリエーションを選びます。質問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 行にも記述します。