shot-list について
shot-listは、脚本から共同で計画した印刷可能なPDFショットリストを作成するスキルです。複数の脚本形式からシーン情報を抽出し、シーンごとに撮影範囲を検討できます。
主な機能
- 01Fountain、FDX、TXT、PDF、DOCXの解析
- 02シーン、登場人物、アクション、時間の抽出
- 03シーンごとの撮影範囲の計画
- 04ショット、カメラ移動、アングルの参考情報
- 05印刷可能なPDFショットリストの生成
活用シーン
- 01脚本からショットリストを準備
- 02シーンの撮影範囲と視覚表現を検討
- 03印刷可能な制作資料を作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jakerains/ agentskills --skill shot-listインストール後、Claude Code で/shot-listを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.claude-plugin/plugin.jsonreferences/coverage_patterns.mdshot_terminology.mdscripts/generate_shot_list_pdf.pyparse_screenplay.py詳細
ショットリストジェネレーター
脚本を解析し、ショットを共同で決定して、制作ですぐに使えるPDFショットリストを生成します。
ワークフローの概要
- 脚本を解析 → シーン、ロケーション、登場人物、アクションを抽出
- 共同で検討 → ユーザーとシーンごとにショットの選択について話し合う
- PDFを生成 → プロ仕様の印刷可能なショットリストを作成
ステップ1:脚本を解析する
対応形式:.fountain、.fdx、.txt、.pdf、.docx
シーン抽出パターン
脚本から以下を抽出します:
- シーン番号(ない場合は自動生成)
- シーン見出し(INT./EXT.、ロケーション、時間帯)
- シーン内の登場人物
- 重要なアクションの節目(映像で押さえる必要のある物語上の瞬間)
- ページ数/所要時間の目安
Fountain/テキストの解析
import re
def parse_screenplay(text):
"""Extract scenes from screenplay text."""
scenes = []
scene_pattern = r'^((?:INT\.|EXT\.|INT\./EXT\.|I/E\.)\s+.+)$'
lines = text.split('\n')
current_scene = None
scene_num = 0
for i, line in enumerate(lines):
line = line.strip()
if re.match(scene_pattern, line, re.IGNORECASE):
if current_scene:
scenes.append(current_scene)
scene_num += 1
current_scene = {
'number': scene_num,
'heading': line,
'characters': set(),
'action_beats': [],
'content': []
}
elif current_scene:
current_scene['content'].append(line)
if line.isupper() and len(line) > 1 and len(line) < 40:
if not any(t in line for t in ['CUT TO', 'FADE', 'DISSOLVE']):
current_scene['characters'].add(line.split('(')[0].strip())
if current_scene:
scenes.append(current_scene)
for s in scenes:
s['characters'] = list(s['characters'])
return scenes
ステップ2:共同でショットを計画する
解析後、シーンを提示して、必要なカバレッジについて話し合います。各シーンについて、次の点を確認します:
- 感情の流れはどうなっていますか?(フレーミングの選択に影響します)
- 誰に焦点を当てますか?(カバレッジの優先順位を決めます)
- 重要な瞬間はありますか?(特定のショットが必要な節目)
- 実際上の制約はありますか?(ロケーション、機材、時間)
- 映像スタイルの参考はありますか?(参考にする映画や番組)
ショットタイプのリファレンス
| タイプ | コード | 用途 |
|---|---|---|
| ワイド/エスタブリッシング | WS | ロケーション、グループ |
| フルショット | FS | 全身、アクション |
| ミディアムショット | MS | 会話、やり取り |
| ミディアムクローズアップ | MCU | 感情的な会話 |
| クローズアップ | CU | リアクション、感情 |
| エクストリームクローズアップ | ECU | 重要なディテール |
| オーバー・ザ・ショルダー | OTS | 会話のカバレッジ |
| ツーショット | 2S | 2人の登場人物 |
| インサート | INS | 小道具、ディテール |
| POV | POV | 登場人物の視点 |
カメラ移動のリファレンス
| 移動 | コード | 効果 |
|---|---|---|
| 固定 | STATIC | 安定感 |
| パン | PAN | 水平方向に追う |
| チルト | TILT | 高さを見せる |
| ドリー | DOLLY | 接近/後退 |
| トラッキング | TRACK | 動きを追う |
| クレーン | CRANE | 壮大なスケール感 |
| ハンドヘルド | HH | 緊張感、躍動感 |
| ステディカム | STEDI | 滑らかな追従 |
アングルのリファレンス
| アングル | 効果 |
|---|---|
| アイレベル | 中立 |
| ローアングル | 力強さ |
| ハイアングル | 脆弱さ |
| ダッチアングル | 不安感 |
ステップ3:ショット項目を作成する
shot_entry = {
'scene': 1,
'shot': 'A',
'setup': 1,
'shot_type': 'MS',
'framing': 'Medium on Sarah',
'angle': 'Eye Level',
'movement': 'STATIC',
'lens': '50mm',
'description': 'Sarah enters, sees the letter',
'characters': ['SARAH'],
'notes': 'Practical window light'
}
カバレッジのパターン
マスター → ミディアム → クローズアップ → インサート
ステップ4:PDFを生成する
プロ仕様の出力には scripts/generate_shot_list_pdf.py を使用します。
PDFの列
| 列 | 内容 |
|---|---|
| ショット番号 | Scene.Shot ID |
| セットアップ | カメラのセットアップ |
| タイプ | ショットタイプのコード |
| フレーミング | 説明 |
| 移動 | カメラ移動 |
| アクション | 起きること |
| 備考 | 技術的なメモ |
出力先:/mnt/user-data/outputs/shot_list_{project}.pdf
参考資料
references/shot_terminology.md- 用語集の全容references/coverage_patterns.md- 一般的なカバレッジ戦略
コメント
Markdown 対応