# -*- coding: utf-8 -*-
"""手順をスキルにする(ショート専用・舞台型・2026-11-07)
エイイチの言葉: 自分で試してみた回の型を持ち、ネタをはめ込んで作れるようにしておきたい(2026-10-15)
事実: 解説動画づくり(p2m-explainer-video)・ロボット動画の運用分析(robot-video-ops-analysis)・事実確認(fact-checker)は Claude のスキルとして登録して使っている。舞台型は video_rules.md の12節"""
from butai_parts import *
OUTRO_K = 5
NAME, VER = "手順をスキルにする", 3
HEAD = "動画づくり
毎回ゼロから?"
T_ON = (0, 0.6)
def scene(T, S):
h = CSS
# 0: 毎回ゼロから?
t0 = T(*T_ON)
h += win(t0, T(1, 0), kick("動画づくり")
+ f'
0から?
')
# 1: 手順はスキルにして残してある(札が1枚ずつ重なって束になる)
t1, s1 = T(1, 0), S(1)
stack = "".join(f'' for k in range(4))
h += win(t1, T(2, 0), kick("残してあるもの") + stack
+ f'Claude のスキル
')
# 2: 解説動画・ロボット動画の分析・事実確認(話している1つだけオレンジ)
t2, s2 = T(2, 0), S(2)
names = ["解説動画", "ロボット動画
の分析", "事実確認"]
st = [0.1, s2 * 0.3, s2 * 0.72]
cc = ""
for k, nm in enumerate(names):
an = a("up", t2 + st[k]) + ", " + a("on", t2 + st[k], .2)
if k < 2:
an += f", off{k} .2s linear {t2 + st[k + 1]:.3f}s forwards"
cc += (f'{nm}
')
h += win(t2, T(3, 0), f''
+ kick("いま使っているスキル") + cc)
# 3: 型を持って、はめ込んで作る(型の空いた所に、ネタがはまる)
t3, s3 = T(3, 0), S(3)
h += win(t3, T(4, 0), kick("エイイチの考え")
+ f'型
'
+ "".join(f'' for k in range(3))
+ "".join(f'ネタ
' for k in range(3)))
# 4: この舞台も、型のひとつ(モニターの中に、この舞台の小さな絵)
t4 = T(4, 0)
mini = (f'')
h += win(t4, None, kick("この舞台も") + mini
+ f'型のひとつ
')
h += outro(T, OUTRO_K)
return h
def OVER(T):
return stage_fx(T, shakes=[(T(0, 1.4), 0.4)], fx=[dict(kind="stars", t=T(3, 0.0), d=2.9), dict(kind="rays", t=T(4, 1.0), d=2.2)])
FACE = [(-1, 0.0, 1.0, "smile"), (1, 0.0, 3.3, "joy"), (2, 0.0, 3.9, "smile"), (3, 0.0, 2.9, "think"), (4, 0.0, 2.1, "joy"), ("end", 0.0, 3.0, "smile")]
POSE = [(-1, 0.0, 1), (0, 0.0, 3), (1, 0.0, 1), (3, 0.0, 2), (4, 0.8, 4)]
LEAN = []
INTRO = "hop"
MOVES = [(1, 0.2, "dash", 1.0), (2, 0.2, "tilt", 1.0), (4, 0.2, "jump", 1.0)]
SE = [(-1, 0.0, "se_whoosh", -9), (0, 0.6, "se_boot", -12), (0, 1.4, "se_pechin", -9),
(1, 0.3, "se_pop", -14), (1, 0.55, "se_pop", -14), (1, 0.8, "se_pop", -14), (1, 1.05, "se_pop", -14), (1, 2.0, "se_ding", -11),
(2, 0.1, "se_tick", -12), (2, 1.15, "se_tick", -12), (2, 2.8, "se_tick", -12),
(3, 0.6, "se_pop", -12), (3, 1.25, "se_pop", -12), (3, 1.9, "se_pop", -12), (4, 1.0, "se_jaran", -10)]
ENDING = dict(kind="jump", at=(4, 1.0))