diff --git a/plugins/linkedin-thought-leadership/commands/newsletter.md b/plugins/linkedin-thought-leadership/commands/newsletter.md index c5334b1..cb11e50 100644 --- a/plugins/linkedin-thought-leadership/commands/newsletter.md +++ b/plugins/linkedin-thought-leadership/commands/newsletter.md @@ -70,10 +70,11 @@ single most important correction from the Seres process (plan §0.4, principle 5 | 9 | **Hook / conversion gate** | persona gate on the distribution text post-lock: "would YOU click?" | **`persona-reviewer`** (conversion mode) | | 10 | **Scheduling** | register the edition in the plugin queue/state for native scheduling | `hooks/scripts/queue-manager.mjs` | -> **Build status:** Steps 0–2 are implemented below. Steps 3–10 are added in -> subsequent build sessions (plan steps S8–S10). Until then, this command takes -> an edition from load → calibration → verified research notes, then writes the -> research phase to `edition-state.json` and HANDOVER and stops cleanly. +> **Build status:** Steps 0–4 are implemented below. Steps 5–10 are added in +> subsequent build sessions (plan steps S9–S10). Until then, this command takes +> an edition from load → calibration → verified research → draft → +> consistency/quality pass, persisting each phase to `edition-state.json` and +> the HANDOVER and stopping cleanly between sessions. --- @@ -221,12 +222,128 @@ Next session: Step 3 — Draft. --- -## Steps 3–10 (added in subsequent build sessions) +## Step 3: Draft — dramaturgical order, voice-matched -Drafting, consistency/quality, the fact-check sweep, the pre-lock persona sweep, -optional annotation, lock/delivery, the post-lock hook-gate, and scheduling are -implemented in plan steps S8–S10. Each will append its phase here, reading the -phase contract from `config/edition-state.template.json` and the long-form +Turn the verified research notes (Step 2) into a full draft. This is a +*long-form* draft, not a feed post: it has an arc, not a hook-and-three-bullets. + +> **This phase may span multiple sessions.** A long edition can exceed a single +> session's context budget. If you approach the budget mid-draft, stop cleanly, +> write the partial draft to the edition folder, record `currentPhase: "draft"` +> with a section-level cursor in `edition-state.json`, and append a precise +> "draft resumes at section " pointer to the edition-HANDOVER §6. The next +> session re-reads Step 0, picks up the cursor, and continues. Never start the +> consistency pass (Step 4) on a half-written draft. + +**Procedure:** + +1. **Re-read the voice profile** (`assets/voice-samples/`) before writing a single + sentence — this is the existing LTL rule and it is not optional for long-form. + The draft must read as the author, not as generic LinkedIn prose. + +2. **Lay out the dramaturgical order** from the brief (Step 1) and notes (Step 2): + - **Ingress + first paragraph** establish ONE clear premise (this is the front + half of the premise→conclusion arc enforced in Step 4). + - **Body** develops the 2–4 key points in the order that builds tension, each + anchored to a verified note. Carry each note's source marker inline as a + comment so the Step 5 fact-check sweep can find it. + - **Conclusion** grips the premise concretely and twists it forward (direction + + one concrete grip) — it does not merely summarize. + +3. **Draft with the `content-repurposer` muscle.** Reuse `agents/content-repurposer.md` + (its article→long-form conversion discipline) for the section-to-prose work — + invoke it via `Task` for individual sections when useful, *from this command + layer* (foreground, principle 4). The command owns assembly and voice; the + agent assists with conversion. The draft is voice-matched by THIS session, not + self-certified for voice — voice-match remains an `[OPERATØR]` / `[GATE: + voice-trainer]` judgment, never auto-passed (plan §10.0). + +4. **Write the draft** to the edition folder (`/linkedin/
.draft.md`), + set `currentPhase: "draft"` in `edition-state.json`, and append a + "draft complete → next: consistency/quality" pointer to the HANDOVER §6. + +``` +Draft complete (or: partial — resumes at section ). +- Premise established: +- Key points drafted: / +- Voice-match: [OPERATØR]/[GATE: voice-trainer] — NOT self-certified +Draft written: /linkedin/
.draft.md +Next: Step 4 — Consistency + quality. +``` + +## Step 4: Consistency + quality + +Run the draft through the long-form quality rules. This is a *tightening* pass — +the gap between draft and final is closed by **swapping weaker for sharper and +cutting, not by expansion**; hold the length flat (plan §8). + +> **Inlined rules (forward-reference note).** The canonical long-form quality +> rules live in `references/longform-quality-rules.md` — but that file is not +> authored until plan step S12. So the rules are **inlined here now**. When S12 +> lands, this block is EXTRACTED to that reference file and replaced with a +> pointer; there is no dangling reference at any point. + +**Calibration first (a per-sweep user choice, not a default — plan §8):** before +running this pass, confirm fold-in aggressiveness (conservative vs. aggressive), +jargon handling, and — when it matters later — persona weighting on conflict. Ask +once if the Step 1 brief did not already settle it. + +Apply each rule and report a pass/flag per rule: + +1. **Threads.** Every thread opened in the ingress/body resolves by the + conclusion — no dropped setups, no orphaned promises. + +2. **Premise→conclusion arc.** The premise set in the ingress (Step 3) is the same + premise the conclusion grips and twists forward. If the draft drifted to a + different premise, realign the conclusion or the ingress — do not leave two + premises. + +3. **Leader-takeaway.** The edition lands ONE clear takeaway + ONE concrete action. + Cut references hard; hands-on credibility beats a citation-pile. If the reader + cannot state the takeaway in one sentence, tighten until they can. + +4. **AI-slop removal (forbidden phrases — strip on sight).** These are the Seres + ban-list; they read as machine-written and must not appear: + - "her må jeg være ærlig" / "for å være ærlig" + - "ikke bare X, men Y" + - gratuitous three-item listing (rule-of-three as a tic) + - "i en stadig mer kompleks verden" + - tacked-on summary sentences that restate what was just said + +5. **General, not org-/person-specific.** No personal agency anecdotes; present + opportunities, not provocations. At most ONE structural anchoring reference per + text — never repeated criticism of a named person. + +6. **Formatting dose (minimal).** Bold = at most one point per section. Short lists + (2–4 items) only where the text already enumerates — never turn load-bearing + reasoning into bullets. Tables sparingly. *"No article should look like a + PowerPoint printout."* + +7. **Close gaps by tightening, not expanding.** Swap weaker passages for sharper + ones; keep the length flat. + +After the pass, set `currentPhase: "quality"` in `edition-state.json` and append a +"quality pass complete → next: fact-check sweep" pointer to the HANDOVER §6. + +``` +Consistency + quality pass complete. +- Threads resolved: +- Premise→conclusion arc: +- Leader-takeaway: +- AI-slop phrases removed: +- Formatting dose: +- Length delta vs. draft: (target: flat) +Next: Step 5 — Fact-check sweep (guilty-until-disproven, BEFORE lock). +``` + +--- + +## Steps 5–10 (added in subsequent build sessions) + +The fact-check sweep, the pre-lock persona sweep, optional annotation, +lock/delivery, the post-lock hook-gate, and scheduling are implemented in plan +steps S9–S10. Each will append its phase here, reading the phase contract from +`config/edition-state.template.json` and (once extracted in S12) the long-form quality rules from `references/longform-quality-rules.md`. ---