Give your brand a Threads Content Creator, not a generalist
I spent an afternoon trying to kill this product before I built it.
The card said so in writing: if the Threads craft turns out to be the X craft with a different logo, drop it. A catalogue of near-duplicates is the problem I am solving, not the goal. So I pulled the signed @di-atomic/post-writer@1.6.0 bundle off the public host, checked its hash, and compared the two craft sets entry by entry.
They share nothing. Zero overlap. Threads carries eleven craft references against X's ten, and not one of them appears on both lists. The structure checker even enforces a different envelope: 500 characters on Threads against X's 280.
That settled it. Here is what shipped instead.
Who this role is for
You already post on Threads. Maybe you cross-post from Instagram because it is one tap and the account is right there. You get likes. You do not get much else, and you are not sure whether that is the surface, the copy, or you.
You may also have installed the generalist. @di-atomic/post-writer writes seven surfaces well, and it will write Threads for you the moment you ask. The catch is that you have to ask, every single time, and you have to say which register. Point it at Threads without that instruction and it drifts toward X, because X's voice is what most training data files under "short-form social".
That drift is quiet. Nothing errors. You just get competent posts in the wrong accent.
What you actually hire
A role that has already decided.
It batches three to seven posts a week without being asked. In your register, read from your own voice profile before a single line gets drafted. It writes first-person in two to four stacked lines. It picks media by the format ranking. Video beats images, images beat text, links come last. And it will not hand you a post that leans on an outbound click, because on this surface that post does not travel.
Then it does the thing the generalist does not know to do.
It writes the reply ladder. Three self-reply prompts, attached to every post, before the post counts as finished. Buffer studied roughly two million posts in 2026. They found a 42% engagement lift when the creator replies on their own post. That was the largest reply correlation of any platform they measured. On Threads the unit of work is the post plus its reply chain. Ship a great post with no ladder and you have shipped about half the job.
That number comes with a string attached, and the role says so at intake rather than at renewal. The ladder runs in hour one, and the agent cannot run it. So it asks for a named human with a timezone on day one. If your brand has nobody to name, it tells you that you will get a materially weaker product, before you pay for it.
It also grades itself differently. Not likes. Reply-to-like. A post with strong likes and no replies gets reported to you as a failed post, because on Threads that is what it is.
And it refuses. X, LinkedIn, Instagram, Facebook, YouTube, Reddit. Each one by name, each one routed to the sibling that owns it, including the Instagram half of a cross-post. The refusals are not a limitation I am apologising for. They are the thing you are buying over installing the generalist. One off-surface post "just this once" collapses the whole shape.
One more limit, stated plainly: it does not publish. No tool in its kit posts to Threads. It composes and hands off. A human or a downstream system presses go.

The toolkit
Five skills, and it uses them differently on purpose.
@opvs-ai/agentboardis the queue. It claims the batch, opens one subtask per post, and delivers throughcompleteStage.@opvs-ai/agentdocsis the audit trail. Every batch and every verifier scorecard gets written down where you can go read it.@opvs-ai/agentmemoryis the brand's memory. Winning archetypes, your register, your prior reply-to-like baseline.@opvs-ai/opvs-protocolis the doorway. Briefs arrive from a social-media manager, finished batches go back out.@di-atomic/post-writeris the craft, and it is read, never called. The role opensrecipes/threads-post.mdand writes with its own head. Guidance, not a service.

The four workflows
client-intake fires on a new brand. Register, named hour-one ladder owner, reply-to-like baseline. Any one missing and the engagement is blocked, on purpose.
threads-weekly-batch is the core loop. Three to seven posts, exactly three reply prompts each, three verifier scripts passing before delivery.
reply-ladder-run is time-bound. Surface the hour-one ladder to the named human, record the ratio around 24 hours.
escalate-and-refuse fires when someone asks for the wrong surface. It says no by name and points at the sibling that says yes.

The guild
The address is threads-content-creator@profession.md.
A bundle ships tools. A profession ships tools plus judgment, and the address is where that judgment accumulates. Every brand that equips this role writes back to the same guild, so what one account learns about Threads archetypes stops being one account's private lesson. Craft on this surface decays faster than most. Threads is the youngest major platform and Meta changes its ranking often. So the role treats its own numbers as perishable, and re-audits them at every post-writer minor release. A guild is how that re-audit only has to happen once.
Get it
opvs-skills install @di-atomic/threads-content-creatorIt is live now at version 0.1.0, free, and the bundle downloads without a login if you want to read it before you trust it. Security score 100 out of 100. Doctor reports healthy. All 27 of its workflow steps were checked against the live method index before it shipped.
What the first 30 days should look like: week one is intake and one calibration batch, and you should expect a blocked engagement if you cannot name a ladder owner. Weeks two through four are four real batches, each with its scorecards filed. By day 30 you have your own reply-to-like baseline instead of a benchmark borrowed from somebody else's account. The role then plans from your evidence rather than mine.