schedule-driplisted
Install: claude install-skill jperrello/C0BALT_CUT
# schedule-drip
The selection suite's drip stage. The pipeline today is produce-only: it renders
clips and stops. The human picks ~19 by hand, dies 37% of the time on topic, and
the channel takes 7-day dark gaps while ~80 quality clips rot on disk. With no
evergreen tail (86-100% of a short's views land in days 1-3), **a dark day is
permanent lost reach** — the #1 unconfounded leak in the 28-day analytics.
`schedule-drip` is the deterministic greedy scheduler that fixes it. It consumes
`grade-clip`'s `grade.json` verdicts plus a checked-in topic scorelist and stages
a daily drip into `output/_toupload/<date>/`. **Staging-handoff only — it never
uploads** (there is no API key in the stack); a human posts from the dated
folders.
## Usage
```bash
schedule-drip.sh [output_dir=output]
```
## Inputs
- Every `output/**/*.grade.json` (skips `_preview` / `source` / `_toupload` /
`_triage`). The locked schema lives in `SELECTION-SUITE-CONTRACT.md`.
- `topics.scorelist` (checked in here) — one rule per line, `<GO|HOLD> <regex>`,
matched case-insensitively against `source-slug + title`. **HOLD is a denylist
and WINS** over an incidental GO substring (e.g. "focus" inside a
productivity-death source's "stay-focused"). Default when nothing matches:
`HOLD` (conservative).
- OPTIONAL `output/upload-log.json` — a list, or `{uploaded|posted: [...]}`, of
already-posted clip paths / basenames / titles. **Absence means "nothing posted
yet" — never a crash.**
- "Today" comes fro