shipped@di-atomic/post-writer · v1.6.0 · beta

Your post isn’t underperforming. It’s being graded on the wrong scoreboard.

Every platform rewards a different action, so one formula pasted into five boxes and measured by likes reads a number that barely counts anywhere. post-writer drafts each post — and now each long-form Article — against the scoreboard that surface actually uses, checks it with five scripts that return PASS or FAIL, and knows the cases where it should add nothing at all.

For founders and small teams posting on more than one platform, who suspect cross-posting is costing them reach but do not want a tool that turns every human moment into a funnel.

A chalk pitcher labelled ONE FORMULA pouring into four separate boxes tagged replies, ratio, saves and dwell
Built by Di-Atomic Marketing & compliance agency LinkedIn · X · Instagram · Threads · Facebook · YouTube · Reddit 7-language team Runs Di-Atomic’s own channels
74real posts behind it, each with its source and its number
5scripts that fail a draft instead of warning about it
11recipes across posts and long-form Articles
Freewhile it’s in beta
Installopvs-skills install @di-atomic/post-writer

Then say: “draft a LinkedIn post about this”, “write a LinkedIn article about this” or “score this post”

Why cross-posting quietly caps your reach

One formula, five boxes, judged by likes
write once → paste ×5 → publish
check likes            ✓ feels efficient

(X ranks replies + bookmarks,
 Threads ranks reply-to-like ratio,
 Instagram ranks saves,
 LinkedIn ranks dwell + comments)

Likes rank lowest on most of them. The post did not fail. You read the one number that platform cares about least.

post-writer writes to the scoreboard in play
pick platform → load its recipe
→ structure + CTA tuned to ITS KPI
verify-post-structure     PASS
lint-ai-slop              PASS
lint-tone-drift           PASS
→ or: no-mechanics-mode, add nothing

A save request on LinkedIn is noise. A comment request on Instagram is a wasted line. The CTA changes because the KPI changes.

Every platform keeps its own scoreboard. One formula cannot win them all.

What you actually get

🎯

A different post per platform, on purpose

Eleven recipes covering LinkedIn posts and Articles, X posts, threads and Articles, Instagram caption and carousel, Threads, Facebook, YouTube and Reddit. Structure, length band and call-to-action all move with the surface, because what that surface counts moves too.

It knows when to stop optimizing

The most-liked posts ever recorded carry no hook framework, no call to action and no growth mechanic. For emotional, reactive or announcement posts the skill drops its own machinery, because adding it there makes the post worse.

🚫

Five scripts that will tell your agent no

Length band and hook truncation, a 55-entry zero-tolerance slop blacklist, a tone check against your own voice file, an Article CTA gate, and a coordination check. They exit 1 and print the numbers, so a draft cannot talk its way to shipped.

New in v1.6.0 — the Article is its own artifact

Long-form treated as a longer post
no article recipe anywhere in the fleet
→ invent the process live
2,894w → 1,440 → 1,306 → 1,459
       → 1,592 → 850   (six drafts)

verify-post-structure  FAIL
  reason: over the 3,000-char POST ceiling

Graded against a post’s length ceiling, a real Article fails for the wrong reason — and editing it until it passes destroys the piece.

The Article gets its own recipe
recipes/linkedin-article.md
  cover 1920×1080 16:9
  desktop/tablet web editor only
  post verifier: explicitly excluded
verify-article-cta ....... PASS

recipes/x-article.md
  every number: hypothesis-stamped

Its own structure, length regime, media spec and publish route. The X recipe ships with no measured corpus behind it, and says so on every number rather than borrowing LinkedIn’s.

An Article is a different artifact from a post. v1.6.0 stops pretending otherwise.

Why the closing ask changed

> which CTA closes an ICP-pillar article?

  corpus ............ 328 posts / 12 queries / 299 authors

  compliance ........ median  0 comments   68% zero   c:l 0.000
  buyer-language .... median  1 comment    42% zero   c:l 0.057
  practitioner ...... median 15 comments               c:l 0.42

  → the audience READS. buyer-language out-reads compliance.
    it just will not perform in public.
  → the gate cannot be baited: found in 2 of 151 and 5 of 177

  verify-article-cta   comment-gate ..... FAIL
                       direct message ... PASS

On an ICP-pillar article the conversion event is a direct message, not a comment. Success counts as connection requests, DM replies and profile views — and because LinkedIn exposes no clean API read for those on a personal profile, that counting is manual, which the skill says out loud rather than implying a dashboard.

The rules that make it different

A post card crowded with hook and CTA badges struck through, beside a nearly empty post card carrying a gold 6.6M tag
The all-time most-liked posts have none of the mechanics. no-mechanics-mode switches them off rather than forcing a human moment into a funnel.
A draft passing through chalk gates labelled structure, slop and tone toward a gold exit 1 tag that loops back to the start
Guidance an agent can ignore is not guidance. Five scripts gate every draft and send failures back around.

A real run — same news, two platforms, two answers

> draft a post about our new pricing page. LinkedIn and Threads.

  read voice.md ........ first person, short sentences  ✓
  LinkedIn → recipes/linkedin-post.md
    KPI: dwell + comments → longer setup, CTA asks a question
    verify-post-structure .. 1 CTA, hook survives 140c    PASS
    lint-ai-slop ........... 0 of 55 banned terms         PASS
    lint-tone-drift ........ Flesch 68, first-person 4.1  PASS
  Threads → recipes/threads-post.md
    KPI: reply-to-like ratio → shorter, self-reply planned (+42%)
    3 scripts .............. PASS

  Two posts. Different length, different CTA, same voice.

post-writer is guidance-only. Your agent writes the words following SKILL.md; the scripts grade them. Nothing is sent to a model of mine.

Why this exists

I built this to run my own channels, in seven languages.

post-writer is one skill in the system behind Di-Atomic — the marketing and compliance agency that runs cognitoAI, SpiderIQ and OPVS. The slop blacklist is English-only and the skill says so instead of pretending, and the X Article recipe ships stamped as untested because I own no X corpus. That is the same honesty I owe a client. If you want this run properly for your brand, that is the day job. Let’s talk.

Book a 30-min call with Di-Atomic

Just want the skill? Install @di-atomic/post-writer free.