kai-repurposelisted
Install: claude install-skill cgallic/kai-cmo-harness
> **Kai root note:** `knowledge/`, `harness/`, and `scripts/` paths in this skill live in the Kai install, not the user's project. Resolve them against the first ancestor directory of this SKILL.md that contains a `knowledge/` folder (the Kai plugin root, `~/.claude/kai`, or the kai-cmo-harness repo). `MARKETING.md`, `memory/`, and any output files live in the current project. If a referenced `scripts/` command is not available in this install, say so, skip it, and continue with the file-based guidance — never fabricate its output.
## Objective
One pillar piece turned into 15–25 channel-native assets, each standing on its own, staged into a posting schedule that keeps them from cannibalizing each other. A derivative that reads as a repost of the pillar has failed — the same insight gets a different hook, a different length, and the platform's own register every time it appears.
## Done when
Work type `campaign` — floor **E5/C3/O4** (`harness/eco-floors.yaml`), composite. Every derivative is a child work item under its own type: `social-post` (E5/C2/O3), `email-lifecycle` (E5/C3/O3), `blog-post` for the expanded LinkedIn article (E5/C3/O3). The campaign is CLOSED only when every child is CLOSED and the campaign-level threshold is met; one unshipped asset keeps it open.
- **E5** — each published derivative returns a provider id and its public permalink reads back matching the approved text. This skill drafts; publishing is a separate approved action.
- **C3** — every piece