end-cardlisted
Install: claude install-skill jperrello/C0BALT_CUT
# end-card
Closing-beat overlay. Runs in the finishing phase AFTER `bg-music` and BEFORE
`qc-clip`, the last visual touch before the short is saved. Addresses the
"ends abruptly / no loop or CTA" retention leak: the few viewers who reach the
end get a branded call-to-action instead of a hard stop on a half-finished
word.
```
end-card.sh <in.mp4> <out.mp4> [dur=2.5] [line1="FOLLOW FOR MORE"] [line2="@C0BALT_CUT"]
```
- **Timeline-preserving.** The card is an overlay that fades in over the final
`dur` seconds of the existing footage. Audio is stream-copied; total duration
is unchanged, so no downstream timestamp moves.
- **Brand.** Impact, Platinum `#E8ECF1` headline + Sapphire Glow `#2E6BFF`
handle, thick black stroke — rendered by `render_endcard.py` to a transparent
PNG (the stack has no drawtext/libass), composited by ffmpeg.
- **Placement.** Centered horizontally; vertical center at `END_CARD_Y_FRAC`
(default 0.60) so it sits above the lower-third caption band.
- **Idempotent** via `.ecmeta` signature. **Non-fatal**: any probe/render/encode
failure falls back to a stream-copy passthrough. `END_CARD=0` disables.
Knobs: `END_CARD` (0 disables), `END_CARD_DUR` (default 2.5), `END_CARD_TEXT`,
`END_CARD_HANDLE`, `END_CARD_Y_FRAC` (default 0.60).