kai-repurpose

SkillCommunication

Take one pillar content piece and produce 15-25 derivative assets across platforms — social posts, email, LinkedIn article, video scripts, newsletter section, infographic brief, and more. The ultimate content multiplier. Use when "repurpose this", "turn this into", "make social posts from this blog", "content repurposing", "1 to many", "atomize this content", "extract posts from", or any request to derive multiple pieces from one source.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the kai-repurpose skill

What this skill tells your AI

The instructions your AI receives, as published by cgallic/kai-cmo-harness in harness/skills/kai-repurpose/SKILL.md and read by ahel’s review.

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 passes banned_word_check with zero violations, respects its platform's character and format limits, and a non-author read the set end to end for hook repetition.
  • O4 — reach, engagement, and click-through against a threshold declared before the first post, read at the declared window from platform insights.

Constraints

  • Read MARKETING.md from the project root first. If it does not exist, build it from the codebase — CLAUDE.md, README.md, PROJECT.md, package.json, landing pages, email/ad/analytics config — using the template from /kai-email-system, and confirm the draft. Do not ask the user what the product is.
  • Three things must be known before production: the source content (pasted, linked, or a file path), which platforms get derivatives, and what matters most (social reach, email engagement, SEO, video views).
  • Transcript, podcast, webinar, interview, or long-article sources require a quote mining pass first, and harness/references/transcript-video-research-rules.md loads before mining any third-party video, audio, podcast, webinar, or transcript material.
  • Every quote keeps its exact source location — file path, URL, episode name, transcript timestamp, or paragraph locator — so any derivative can be traced back.
  • Never invent quotes, credentials, or expert authority. Quote mining is source extraction; rewriting happens only in derivative files.
  • Draft as a dry run. Publishing or scheduling requires explicit human approval.
  • Each derivative stands alone — no "as I wrote in my blog post." Credit the pillar only where platform norms expect it.
  • Different hook for every piece, even two pieces built on the same insight.
  • Tone adapts to platform: LinkedIn professional, X punchy, TikTok conversational.
  • Every piece runs the quality gate: zero banned words, zero AI slop, platform limits respected.
  • Stagger the release over 1–2 weeks. Lead with the highest-reach platform, follow with niche channels.

Context

NeedLoad
Repurposing mechanics and channel fitknowledge/playbooks/content-repurposing.md
Mining third-party video, audio, or transcriptsharness/references/transcript-video-research-rules.md
Organic social format contract and gate minimumsharness/skill-contracts/social-post.yaml
Product, ICP, voice, current channelsMARKETING.md (project root)

Extraction map at workspace/repurposed/_extraction-map.md — one row per extract, with type, best channel, and format. Extract six kinds of material: key insights (3–5 standalone ideas), data points (stats, numbers, results), quotable lines (bold claims, memorable phrases), steps and frameworks, stories and examples, and contrarian takes.

Quote bank at workspace/repurposed/_quote-bank.md — per entry: source location; the quote or paraphrase, with direct quotes marked clearly and kept short; use case (hook, proof, objection, story, CTA, email subject, clip candidate); risk note (unsupported claim, private detail, medical/legal/financial claim, needs approval); and attribution requirement (guest name, customer approval, anonymous/internal, source citation).

Standard derivative set — adapt to the platforms chosen, but these are the format contracts:

#AssetPlatformFormat
1–2Text post per insightLinkedIn1200 chars
3Carousel (framework)LinkedIn8–10 slides outline
4Thread (full argument)X5–7 tweets
5–6Single tweet per data pointX280 chars
7Single tweet (contrarian take)X280 chars
8Carousel (key takeaways)Instagram5–7 slides outline
9Caption (story/example)Instagram150–300 words
10Video script (hook + insight)TikTok30–60 seconds
11Video script (contrarian take)TikTok15–30 seconds
12Newsletter sectionEmail100–200 words
13Standalone value-add emailEmail300–500 words
14Expanded-angle articleLinkedIn2,200–3,000 words
15Shorts scriptYouTube30–60 seconds
16–25Additional platform-specific variantsVariousVarious

Output tree — same paths as v1:

workspace/repurposed/
├── _extraction-map.md
├── _quote-bank.md
├── _source-pillar.md          # copy of original for reference
├── linkedin/                  # post-insight-1.md, post-insight-2.md, carousel-framework.md, article-expanded.md
├── x-twitter/                 # thread-full.md, tweet-stat-1.md, tweet-stat-2.md, tweet-contrarian.md
├── instagram/                 # carousel-takeaways.md, caption-story.md
├── tiktok/                    # script-insight.md, script-contrarian.md
├── email/                     # newsletter-section.md, standalone-email.md
├── youtube/                   # shorts-script.md
└── _quality-report.md

Escalate when

  • The pillar does not contain 15 distinct ideas — padding produces derivatives that hurt the brand.
  • A quote's source location cannot be established, or its attribution requirement is unresolved.
  • Source material contains medical, legal, or financial claims that need substantiation before any derivative repeats them.
  • A third-party transcript's usage permission is unclear.
  • The user wants the set scheduled or published without approval.

Signals

GitHub stars
47
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
kai-repurpose
Source
github.com/cgallic/kai-cmo-harness