ktg-plugin-marketplace/plugins/linkedin-studio/references/longform-quality-rules.md
Kjell Tore Guttormsen b6bb61246b refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0)
BREAKING CHANGE: the marketplace slug, the agent namespace
(linkedin-studio:<agent>), and the runtime state-file path
(~/.claude/linkedin-studio.local.md) all change. Reinstall required;
existing state migrated in place (post metrics, streak, history preserved).
The /linkedin:* commands are unchanged — the command namespace is set
per-command in frontmatter and was always independent of the plugin slug.
Functionality is byte-identical to v2.4.0; this release is pure identity.

- dir + manifests: plugins/linkedin-studio + plugin.json + root marketplace.json
- agent namespace updated in commands/newsletter.md (only functional invoker)
- state path updated in 4 hook scripts + topic-rotation prompt + state template
- catch-all skill dir renamed skills/linkedin-studio (5 functional skills unchanged)
- docs + version bump to 3.0.0 across README badge, CHANGELOG, root README/CLAUDE.md
- historical records (CHANGELOG past entries, docs/ build artifacts,
  config-audit v5.0.0 snapshots) intentionally retain the old slug

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 11:32:02 +02:00

10 KiB
Raw Permalink Blame History

Long-Form Quality Rules

Canonical quality rules for long-form LinkedIn content (newsletter editions, essays, series articles). These are enforced by the /linkedin:newsletter pipeline — primarily in Step 4 (Consistency + quality), reinforced by the fact-check sweep (Step 5) and the persona sweeps (Steps 6 + 9).

Provenance. Distilled from the Seres series production (the operator's first full long-form run) and codified as the authoritative spec in plan §8. Source of truth: this file. commands/newsletter.md Step 4 points here rather than restating the rules — there is exactly one place to change them.

Scope. These rules are for long-form only. Short-form feed posts are governed by the PreToolUse content-gatekeeper / voice-guardian hooks, which are calibrated for feed posts and stay short-form-only (plan decision B). Long- form quality is enforced by pipeline phases, not by those hooks.


The rules

1. Leder-takeaway (lead takeaway)

Every text lands ONE clear takeaway + ONE concrete action. The reader should be able to state, in a single sentence, what they now think differently and what they will do about it.

  • Cut references hard. Hands-on credibility beats a citation-pile — a text that shows you have done the work outweighs one that quotes everyone who has written about it.
  • If the reader cannot state the takeaway in one sentence, the text is not done — tighten until they can.
  • Serve what the reader can DO, not what the author knows. The text exists to give the primær reader (the non-technical line manager) something they can act on from their own chair — not to demonstrate the author's breadth. Completeness is not a virtue: if a passage exists to be thorough rather than to move the reader's decision forward, cut it. Choose ONE concrete, verifiable (preferably Norwegian) case over an exhaustive list.

Pass/flag: PASS when the one-takeaway + one-action is stated and unmistakable; FLAG when the text carries two competing takeaways or ends without a concrete action.

2. Premiss→konklusjon-bue (premise→conclusion arc)

Establish one clear premise early (in the ingress + first paragraph), then let the conclusion grip that premise concretely and twist it forward — give a direction plus one tangible grip. The conclusion does not merely summarize.

  • The premise the conclusion grips must be the SAME premise the ingress set. If the draft drifted to a different premise mid-text, realign the conclusion or the ingress — never leave two premises standing.

Pass/flag: PASS when ingress-premise == conclusion-premise and the close moves it forward; FLAG when the conclusion only restates, or grips a premise the opening never set.

3. AI-slop-fraser (forbidden phrases — strip on sight)

These phrases read as machine-written and are banned. They are the Seres ban-list; strip them on sight (the list is Norwegian because the target text is Norwegian):

  • «her må jeg være ærlig» / «for å være ærlig»
  • «ikke bare X, men Y» (the not-just-X-but-Y construction as a tic)
  • gratuitous three-item listing (rule-of-three used as a reflex, not because the content actually enumerates three things)
  • «i en stadig mer kompleks verden» (and equivalent throat-clearing openers)
  • tacked-on summary sentences that restate what was just said
  • modell-/navne-katalog — reeling off product names, model names, or benchmarks (Qwen3-14B, Ministral 3, SWE-bench, Arena, «parametere», «vekter») for completeness' sake. A list of names is a jargon wall to the primær reader; pick ONE concrete, verifiable case instead (see rule 1). This is a hard fail for the primær persona, not a stylistic nit — it is the failure mode that nearly shipped in the Seres process.
  • selvrefererende overhead-åpning — meta-commentary about what the text will or will not do, warm-ups, and openers like «Det er bra. Det er ikke det denne teksten handler om». Start on the reader's problem, not on the text's own framing.

Pass/flag: PASS when none appear; FLAG (with count) and remove each occurrence. A modell-/navne-katalog or a sjargong-mur is a hard fail (treat as BLOCK-level for the primær reader in the persona sweep), not a soft flag.

4. Generell, ikke etat-/person-spesifikk (general, not org-/person-specific)

Write for a broad reader, not as an internal memo or a grievance.

  • No personal agency anecdotes.
  • Present opportunities, not provocations.
  • At most one structural anchoring reference per text — never repeated criticism of a named person or organization.

Pass/flag: PASS when the text reads as generally useful and carries ≤1 structural anchor; FLAG personal anecdotes, provocations, and any repeated naming.

5. Formaterings-dose (minimal formatting dose)

"No article should look like a PowerPoint printout."

  • Bold = at most one point per section.
  • Short lists (24 items) only where the text already enumerates — never turn load-bearing reasoning into bullets. Prose carries the argument; lists carry genuine enumerations.
  • Tables sparingly.

Pass/flag: PASS when formatting stays within these bounds; FLAG (and trim) when bold is scattered, reasoning has been bulletized, or tables proliferate.

6. Gap lukkes med stramming, ikke utvidelse (close gaps by tightening, not expanding)

The gap between a draft and the final is closed by swapping weaker passages for sharper ones and cutting — not by adding material. Hold the length flat.

This rule holds across every later phase too: fact-check fixes (Step 5), persona rework (Step 6), and hook revisions (Step 9) all close their gaps by tightening, never by expansion.

Pass/flag: target a flat length delta vs. the prior draft; FLAG when a revision grew the word count to cover a weakness instead of sharpening it.

7. Kalibrering per sweep (per-sweep calibration — a user choice, not a default)

Before each quality / fact-check / persona sweep, the operator calibrates — this is a per-sweep user choice, never a silent default:

  • Fold-in aggressiveness — conservative vs. aggressive when folding flags back into the text.
  • Jargon handling — keep, gloss, or cut domain jargon.
  • Persona weighting on conflict — how to weigh a secondary persona's flag against the primær when they disagree (the primær trumfer rule still governs the final gate, but the calibration sets how hard a secondary signal is chased).

Ask once if the Step 1 brief did not already settle it. Do not assume an aggressiveness; the same draft can be tightened conservatively or aggressively and the operator owns that dial.

8. Skjelett før prosa (skeleton before prose — pre-condition for every other rule)

The argument-line — premiss, problem, anbefaling, gevinst, vei videre — must be explicit, visible, and confirmed before the first sentence of prose is written. None of the other rules can bite reliably on a draft whose spine was never declared: Rule 1 (leder-takeaway) and Rule 2 (premiss→konklusjon-bue) in particular collapse into post-hoc reconstruction if the spine was never gated.

  • Write the five-line skeleton (premiss / problem / anbefaling / gevinst / vei videre) and the section pitches before any prose. Both the operator and the persona-skjelett-sweep (persona-reviewer mode: skjelett) must say JA on this skeleton before Step 3a (spine prose) starts.
  • A spine error caught at the skeleton stage costs 515 min; the same error caught at Step 6 (resonance) costs 412 h; caught post-lock it costs a day of cascading rework. The cheapest gate is also the earliest.
  • The skeleton format is identical to the Maskinrommet writing-contract §A (premiss / problem / anbefaling / gevinst / vei videre). Pipeline editions produced through /linkedin:newsletter therefore satisfy that contract at the structural level by construction.

Pass/flag: PASS when the skeleton + pitches exist as <serie>/NN-skjelett.md and both the operator-gate AND the persona-skjelett-sweep returned JA before prose started; FLAG retroactively if a draft turns out to have skipped this gate (treat as a process miss and harvest the lesson — do not retrofit a skeleton to a finished draft and call it gated).


How the pipeline uses these rules

Phase Where the rules bite
Step 2.5 — Skeleton + section pitch Primary enforcement of rule 8: skeleton + pitches MUST exist and be JA from operator + persona-skjelett-sweep before prose.
Step 3a — Spine prose Rule 6 applies even within spine prose (tighten, don't expand the spine); rule 8 is the gate that lets 3a start.
Step 4 — Consistency + quality Primary enforcement: apply rules 16, calibrate per rule 7, report a pass/flag per rule. Rule 8 is verified as historical fact (skeleton existed + was gated).
Step 5 — Fact-check sweep Fixes obey rule 6 (tighten, don't expand).
Step 6 — Persona sweep (pre-lock) Rework obeys rule 6; the leader-takeaway (rule 1) and arc (rule 2) are what the reader jury judges for resonance. A draft that passed rule 8 typically lands here with far fewer spine-level reworks.
Step 9 — Hook / conversion gate Hook revisions obey rule 6 (sharpen the krok by tightening, body stays locked).

Self-certification boundary

Whether a text lands, matches voice, is original, or reaches prose quality is subjective judgment and is NEVER self-certified green by Claude (plan §10.0). These rules give objective-where-possible checks (forbidden-phrase presence, length delta, formatting counts, one-takeaway test), but the resonance verdict is routed to the persona sweep ([GATE]) or the operator ([OPERATØR]), never auto-passed.

  • commands/newsletter.md — Step 4 applies these rules; the whole pipeline references them.
  • agents/fact-checker.md — Step 5 sweep (guilty-until-disproven).
  • agents/persona-reviewer.md — Step 6 (resonance) + Step 9 (conversion) reader jury.
  • config/personas.template.md — the reader personas + "primær trumfer" rule.
  • references/newsletter-strategy-guide.md — strategic context for long-form.