SuperAPI AI Directory

content-write

Writing & research

View repository

Updated 10-16 10:16

About this skill

06 · Write — post for the creative

Sixth step (after the swap — the text AFTER the creative). Takes the Idea Pool card + the finished creative (05) and writes publish-ready text in the author's voice. Doesn't write from scratch itself — a router over the process linkedin-post-writing (Viktor's steps: idea → problem+meat → copywriting framework → summary → trailer → humanize → format), tied to the idea/creative, and closes grade gate (blind judge by rubric, step 8) before showing.

Input: $ARGUMENTS — idea (with creative from 05) + client. If there's no creative yet and the format ≠ text-only — first content-engine:content-creative.

What we read

  1. Idea Pool card: hook draft · pillar · funnel · format · competence proof · notes · source.
  2. Creative (05): for a carousel — slide content (text = only a one-line caption); for single image / infographic — the full post for the visual.
  3. Strategy (Notion) Section 6 Voice + author profile skill, if it's set (e.g. about-<автор>): tone, signature, signature patterns, "WHAT WE NEVER WRITE".
  4. Rules: ${CLAUDE_PLUGIN_ROOT}/reference/hook-bank.md (hooks) + ${CLAUDE_PLUGIN_ROOT}/reference/methodology.md §3 (frameworks/structure/formatting), §4 (distribution).

Process (reuse linkedin-post-writing)

  1. Framework by type: PAS (contrarian/problem) · BAB (case/how-i) · AIDA (giveaway/hand raiser).
  2. Hook: take the hook draft from the card → generate 2-3 variants per the hook bank (7-10 words, a number in 8/10, no emoji in the 1st line, 2 keywords) → pick the best, save the rest in Notes for reuse.
  3. Structure (all formats EXCEPT carousel): trailer(hook+rehook) → problem(+reinforcement) → meat → summary(+CTA). Case study (BOFU) — 8 elements (§3.7). Carousel — only a one-line caption.
  4. Numbers — only from patron facts (strategy Section 9), not invented.
  5. Humanize: run through anticopywriting-ai — remove AI traces (long dashes, the "not X, but Y" template, bureaucratese); check against "WHAT WE NEVER WRITE".
  6. Format: "fir trees", short lines, rhythm; target 120-250 words (900-1700 characters), ceiling 300 (§3.5).
  7. CTA: directives — a command, a comment gate, or "DM me". NEVER a question.
  8. Grade gate (blind judge): run the assembled draft through ${CLAUDE_PLUGIN_ROOT}/reference/grader-rubric.md.
    • First a structural pre-gate (section in the rubric): myth flip, triad, mirror pair, reversal, comma upsell, empty warm-up, dash, even rhythm. It worked → fix and check again, spawn the judge only on a clean draft. Automated by a detector from the skill anticopywriting-ai.
    • A separate subagent (Task, clean context) — do NOT grade in the same call, otherwise self-deception. Gives ONLY: text + type/format + "WHAT WE NEVER WRITE" + the rubric. Does not give backstory (why the idea, reference, hook draft).
    • The judge returns JSON: scores across 7 categories · total · hard_fails · lowest · one_fix.
    • Gate = pre-gate clean AND total ≥ 90 AND hard_fails empty. Not passed → fix hard_fails first, then lowest (apply one_fix) → rescore with a fresh subagent (not "tweak"). Repeat.
    • Stop after 3 iterations without the gate → show the draft with the note "gate not passed, weakest = X", the decision is the human's. Silent auto-ship below 90 is forbidden.
    • Skipping the gate is not allowed: we show the post to the user only after it is passed (or with an explicit flag).

Distribution playbook (add to the post)

З methodology.md §4: T-20min comments to the cluster · time · first hour nurture · link in body (conversion) or without links (reach) — NOT in the first comment · self-repost 4-6h ×1 · 0 hashtags · saves-CTA.

Output

  1. Publish-ready post (text + link to the creative) — show to the user only AFTER the gate is passed; in the summary the final total score.
  2. Posts DB: create a draft (Name=hook, pillar/funnel/format copy, Idea relation, draft status, grader_score = final total, grader_iterations = how many rounds).
  3. Idea Pool: card → Status = written, Last used = date.
  4. Telegram channel "LinkedIn Drafts" (when we connect the token/n8n): post + creative + playbook.
  5. Summary: ready post, what's next (publish manually → then metrics into the tracking tool).

Definition of Done

  • Text in the author's voice; anticopywriting passed; "WHAT WE NEVER WRITE" observed.
  • Hook per hook-bank (≤10 words, a number if appropriate); 2-3 variants, the best one chosen.
  • Structure by type (carousel = caption; case = 8 elements); numbers only from fact-cartridges.
  • No comment-to-get; distribution playbook attached.
  • Grade gate passed (blind subagent, total ≥ 90, 0 hard_fails) OR explicit flag "gate not passed" after 3 iterations.
  • Posts DB draft created (with grader_score); Idea Pool → written; summary returned (with final score).