distro-link-post turns a URL into a short, original-worded news brief on a Distro newslode — a headline, a tight summary written in the publication's own voice, and the source credited in the dedicated fields.

The skill drafts the brief for you. Hand it a link and it re-reports the news in the publication's words, attributes the outlet and the reporter, and invents no facts along the way. If you supply your own body text, it posts that faithfully instead, with nothing prepended or appended.

v2.1.0 tightens the guardrails around that draft. The skill now loads the distro-house-style rules before it writes a word; it refuses to draft from secondary coverage when the original is paywalled, blocked or dead, and says so in chat rather than quietly building a brief from aggregator summaries; it identifies companies a general reader won't know on first reference, even when that means cutting other words to fit the headline cap; it files every post under the "DeAI News staff" byline and re-asserts it on updates, because the author field silently reverts otherwise; and it counts the words and grafs before showing you anything, so a runaway draft gets cut before it reaches you rather than after.

The "DeAI takeaway" also got a leash: one sentence, two at the most, and analysis only. Caveats and backstory the source supplied are reporting, not your read, and belong in a context graf ahead of it.

What you'll need

  • The Distro Publisher MCP connected, so Claude can call distro_content_publish and distro_content_update.
  • The distro-house-style skill installed — this skill loads it before drafting and assumes its headline caps, sentence case, brand-name capitalization and paragraph rules.
  • A target newslode you own or have publish rights to.

What it does

  • Drafts an original-worded news brief from just a URL — re-reporting the news in the publication's own voice, never copy-pasting the source
  • Loads distro-house-style first, so headline caps, sentence case and the em-dash ban come from one place
  • Stops and tells you when it can't read the original, instead of drafting from aggregators, other outlets' writeups or search snippets
  • Shows you the draft first, and asks about newslode and draft-vs-live second
  • Identifies companies the reader may not know on first reference — "crypto exchange Bybit," "AI compute network Akash" — with the identifier beating the headline cap when they collide
  • Picks the right register: a one-to-two-sentence wire brief, or a fuller take with context, an optional quote, and an optional "DeAI takeaway"
  • Keeps the takeaway to one sentence of genuine analysis, with the source's own caveats and backstory kept out of it
  • Attributes every lede to the outlet and, where available, the specific reporter — and hyperlinks the source URL on the attribution word itself
  • Applies punctuation discipline: at most one dash construction and one pair of parentheses per summary, with paragraphs capped at two sentences
  • Counts words and grafs before showing the draft, and reports the count
  • Files every post under the "DeAI News staff" byline, and re-asserts it on updates so it doesn't revert
  • Puts source name and URL in the dedicated sourceName / sourceUrl fields — not duplicated inside the body
  • Sends explicit HTML to dodge Distro's faint-text / dropped-break rendering bug

Install the skill

Ask Claude:

"Please fetch the distro-link-post skill from Distro Skills and give me a .skill file I can install."

Claude will pull this story, extract the SKILL.md from the fenced block below, and package it as distro-link-post.skill. The file will appear in your chat with a Save skill button — click it to install directly. That registers the skill with your Claude app so it shows up in your skills list and triggers on matching requests.

Requires the Distro Reader or Distro Publisher MCP connected so Claude can pull the story. While Distro Skills is private, this works for account holders with access. Public read access is coming.

Claude Code users: you have a direct path — ask Claude to drop the unzipped folder into ~/.claude/skills/distro-link-post/ and restart the session. No packaging step needed.

No Distro MCP connected? Copy the SKILL.md contents from the fenced block below into a file called SKILL.md inside a folder called distro-link-post, zip it (folder as zip root), and upload through Settings → Capabilities → Skills → Upload skill.

The skill source

This is the canonical SKILL.md:

---
name: distro-link-post
description: "Use this skill when the user asks to post, share, or publish a link/URL to a Distro publication (newslode) using the Distro MCP tools. Triggers on requests like \"post this to my newslode\", \"share this link on Distro\", or when a URL is provided alongside a Distro publishing request. Handles headline casing, headline length, source attribution, the \"DeAI News staff\" byline, and the HTML-vs-markdown quirks of the Distro content tools."
---

# Distro link-style post skill

## Load the house-style rules first

Before drafting anything, read the `distro-house-style` skill and apply it on top of
everything below. It carries the rules this skill assumes but does not restate: the
headline character caps, sentence case, capitalizing lowercase-styled brand names at
the start of a hed or sentence, the ban on em dashes, and paragraph length. Do not
rely on remembering them — load the file.

One house-style rule matters enough here to appear in both places: identifying
companies the reader may not know. It is restated below.

## Philosophy

These are link-style posts — short, **original-worded** news briefs that credit the source and point readers to the original story. They are two things at once: (1) copyright-respecting — never copy-paste the source's sentences; re-report the news in the publication's own words — and (2) not bare links — the house style is a written brief, not a naked URL.

**When the user supplies body text, that text IS the body — post it faithfully, nothing prepended or appended.** When the user supplies only a URL (or a URL plus a loose instruction), **draft the body yourself** in the house style below, then show it for approval before filing. This is the normal case, and "keep it to one sentence / invent nothing" is NOT the default anymore.

The one hard rule on invention: **invent no facts.** Every factual claim must trace to the source. The only original layer you add is the clearly-framed analysis graf (the "DeAI takeaway"). No `**Source:** [headline](URL)` link-out line at the top of the body, no horizontal-rule dividers, no "Publisher's take" label.

When in doubt on length, err shorter.

## Draft first, filing questions second

When the user has not already said where the post is going, show the drafted headline,
body and preview **in chat first**, then ask about the target newslode and
draft-vs-live. Do not open with a filing question — the draft is what the user wants
to see, and logistics can wait until they have read it.

If the user has already named the newslode and the status, skip the question entirely
and file as soon as they approve the draft.

## If you can't read the original, stop and say so

Every fact in a link post has to come from the source article itself. So the first
requirement is actually reading it.

If the original is unavailable for any reason — a paywall, a bot block, a 403, a
dead link, a JavaScript-only page that returns nothing — **say so plainly in chat
and stop.** Do not draft the body from secondary coverage: aggregator summaries,
other outlets' writeups of the same story, the underlying report the article was
pegged to, social posts about it, or search-result snippets. Those sources
routinely get the specifics wrong, and a brief built from them can end up
attributing claims to the original that it never made.

When you hit a wall, tell the user what you tried and offer the ways forward:

- They may be logged in to the publication in their browser — offer to read the
  page through Claude in Chrome (this works well and is usually the fastest fix).
- They can paste the article text into the chat.
- They can point you at a different, readable source for the same news.
- They can explicitly tell you to draft from third-party coverage anyway.

That last one is the only condition under which you write from secondary sources.
If the user does instruct it, say clearly in chat which sources you actually read
and that the original was not among them, so they can weigh the draft accordingly.

## What goes where

A link-style post has these pieces:

1. **Headline (title field)** — User provides it. If they don't, shorten the original publisher's headline to fit. Sentence case, **60 characters or fewer**. Capitalize only the first word and proper nouns.

2. **Body (content field)** — If the user supplied body text, post exactly that: nothing prepended, appended, or wrapped around it; preserve paragraph breaks and quotations faithfully. If the user supplied only a URL, **draft an original-worded news brief** following the Body conventions below (lede + optional context + optional quote + optional "DeAI takeaway" + optional primary-source link), then show it for approval. No link-out line at the top, no deck, no horizontal rule, no "Publisher's take" label.

3. **Source URL (sourceUrl field)** — The URL the user provided. Strip tracking parameters (`utm_*`, etc.) when cleanly possible.

4. **Source name (sourceName field)** — The publisher name extracted from the URL (e.g., "The Block", "CoinDesk", "WSJ", "Reuters", "Bloomberg").

5. **Byline (author field)** — Always pass `author: "DeAI News staff"`. Every link post files under the staff byline, never a personal one and never the authenticated account's default. Set it explicitly on `distro_content_publish` and preserve it on any `distro_content_update`.

6. **Preview (preview field, required by the API)** — Prefix with the source name, then a one-sentence summary drawn from the body's lede (e.g., `The Block: The fundraise was led by Fulgur Ventures...`). Use the user's lede if they supplied one; otherwise use the lede you drafted. Keep it to facts that appear in the body — don't add a claim the body doesn't make. If a sentence runs long, truncate at a clean clause break. Aim for roughly 100–120 characters but don't pad.

## Identify companies the reader may not know

Carried from `distro-house-style`, restated because link posts break it most often.

Any company outside the top tier gets a two- or three-word identifier on first
reference: "crypto exchange Bybit," "AI compute network Akash," "custody firm BitGo."
It goes in the lede always, and in the headline when the hed still fits the cap. When
the identifier and the cap collide, **the identifier wins** — cut other modifiers to
make room.

Skip it only for names a general reader knows unaided: OpenAI, Anthropic, Google,
Coinbase, Nvidia, Meta. If you are unsure, identify it.

## Headline conventions

- Sentence case, ≤60 characters.
- If the user-provided headline is longer than 60 chars, shorten it while preserving the core hook. Don't ask permission — just shorten and post.
- Capitalize only the first word and proper nouns.

### Good headline (sentence case, ≤60 chars)
"China's selective AI censorship is a tell" (41 chars)

### Bad headline (title case, too long)
"China's Selective AI Censorship Is A Tell And Here's Why It Matters" (67 chars)

## Body conventions

When the user supplies the body, it IS the body — post it faithfully. When the user gives only a URL, draft the body in the house style below and show it for approval before filing.

The house body is a short, original-worded news brief — never a copy-paste of the source. It runs in two registers:

- **Wire brief (~18–50 words, 1–2 sentences):** just the lede, maybe one extra detail. Use it when the item is minor or self-explanatory.
- **Full take (~70–160 words, 2–5 short grafs):** lede + context + optional quote + optional takeaway. Use it when the story ties to a bigger theme.

Keep paragraphs short: two sentences is the ceiling in normal cases, and a paragraph of three or more sentences should be rare. Build the body from these parts, in order:

1. **Lede (required).** One or two sentences restating the news in the publication's own words, with the source attributed. Name the outlet and, where available, the specific reporter — "Decrypt's Jason Nelson reported," "as reported by The Block's Danny Park," "according to Crypto Briefing." For first-party sources (blog post, press release, investor letter, S-1, X post), attribute to the company and name the document — "the company said in a June 1 announcement," "wrote in Pantera's monthly investor letter." **Hyperlink the `sourceUrl` on the attribution word itself** — the verb or phrase that carries the credit, e.g. `<a href="URL">reported</a>`, or the outlet name in "according to [Outlet]." The Distro layout already links the hero image back to the source, but an in-text link on the sourcing is standard here and never hurts; add it to every drafted lede.

2. **Context (optional).** One or two grafs of specifics from the source — figures, names, mechanism, background. Gloss jargon for a general reader (e.g., MCP as the "USB-C of AI"; x402 as the agent-payments standard).

3. **A quote (optional).** A single vivid direct quote, inline or as a Markdown blockquote (`>`), always attributed.

4. **A takeaway (optional — skip it when the point is obvious).** Add a closing graf ONLY when it says something the news itself doesn't already make plain: why it matters, or how it connects to the beat (open vs. closed models, decentralized compute, agentic payments, AI geopolitics). If the story speaks for itself, leave it out — most wire briefs need no takeaway at all. When you do include one, two forms work: an explicit bold label, **The DeAI takeaway:**, or an unlabeled analytical graf ("The results land amid…," "The rollout is among the clearest signs yet…," "The whiplash might reveal a tell about…"). This is the only place you add analysis beyond the source's facts — so don't force it.

   **Keep it to one sentence, two at the absolute most.** A takeaway that runs to a
   full graf, or spills into a second one, has stopped being a takeaway and become an
   essay. Cut it to the single claim that earned its place.

   **The takeaway holds analysis only, never the source's facts.** Caveats the source
   raised (that figures could not be independently verified, that a company declined
   to comment) and backstory the source supplied (a prior hack, an earlier funding
   round) are reporting, not analysis. Filing them under a **The DeAI takeaway:** label
   mislabels the source's work as your own read. Put them in a context graf ahead of
   the takeaway instead.

5. **Primary-source link (optional).** A link out to the original report / blog / press release / X post, or to the publication's own prior coverage — inline, or as a short "To go directly to the [report], go here" line.

**Punctuation discipline — caps apply to the whole summary, not per paragraph.** In a multi-graf full take, budget these across all grafs; do not reset per paragraph.

- **Dashes:** Use at most ONE dash construction in the entire post. That is either a single parenthetical pair of em-dashes (like this) OR one lone dash used to set off a clause — never both, and never a second one. If you have used a parenthetical em-dash pair anywhere in the summary, use no other dash anywhere else in it.
- **Parentheses:** At most one pair of parentheses per summary.

Never drop source attribution. Never copy the source's sentences verbatim. No "Publisher's take" label, no top-of-body link-out line, no horizontal-rule divider.

### Good body — wire brief (drafted from a URL; single attributed sentence)
```markdown
MoonPay has launched PayBox, an AI payment vault that lets users connect OpenAI's ChatGPT and Anthropic's Claude to make payments directly from a conversation, The Block [reported](https://www.theblock.co/...).
```

### Good body — full take (lede + context + why-it-matters, all facts traced to the source)
```markdown
An AI-driven security review of the Bitcoin ecosystem turned up 4,962 findings across 390 projects in about 30 hours, including 85 critical and 635 high-severity issues, according to Decrypt.

The scan was run by the Bitcoin Red Team, a volunteer group led by the pseudonymous developer calle, which pointed AI agents at open-source code.

The results land amid alarm over how fast AI can surface old vulnerabilities. Last month's Coldcard incident, in which users lost as much as $130 million to a 2021 firmware flaw, drove the point home.
```

### Good body — labeled takeaway (first-party source + explicit DeAI read)
```markdown
Anthropic, the AI developer behind the Claude family of models, confidentially submitted a draft Form S-1 to the SEC for a proposed IPO of its common stock, the company said in a June 1 announcement.

**The DeAI takeaway:** Anthropic's IPO could well mark peak hype in the current AI speculation cycle. A post-IPO comedown would not be atypical — and decentralized compute networks could be positioned to mop up excess capacity if the data-center build-out lands just as demand growth slows.
```

### Bad body (copy-pastes the source, drops attribution, adds a link-out line, deck, divider, and label)
```markdown
**The Block:** [Article headline](URL)

[Sentence lifted verbatim from the source.]

---

**Publisher's take:**

[Analysis with no connection to the source's facts...]
```

## Count before you show

The word and graf ranges above are **limits, not targets**, and they are easy to blow
past without noticing. Before showing a drafted body, count it: words, and paragraphs.
If it runs past ~160 words or 5 grafs, cut it down **before** showing, not after the
user calls it out.

Report the count when you present the draft, e.g. "158 words, 5 grafs." It costs one
line and lets the user see the piece is within bounds rather than taking your word
for it.

## Preview conventions

Prefix with the source name; summarize the body's lede in one sentence. Draw only on facts that appear in the body.

### Good preview
"The Block: The fundraise was led by Fulgur Ventures with participation from Arche Capital." (~90 chars)

### Bad preview (claim the body never makes)
"The Block: Bitcoin hardware wallet maker Foundation raised $6.4M and is expanding into AI agent approval flows." (fine ONLY if the body actually says this)

## Distro tool quirks

- **Always send explicit HTML, never markdown — regardless of paragraph count.** Wrap every paragraph in `<p>` tags and set `contentFormat: "html"` on **both** `distro_content_publish` and `distro_content_update`. Do not rely on markdown auto-conversion for any body. It has rendered the body in a faint/muted gray that is nearly unreadable, and dropped breaks between paragraphs (observed on Liqquidity's Newslode, pub 69, May 2026 for multi-paragraph bodies, and again on DeAI News, pub 109, July 2026 for a **single-paragraph** body). Single-paragraph bodies are NOT an exception — they hit the same faint-text bug. Explicit HTML guarantees regular body text and preserved paragraph breaks.
- `distro_content_update` never auto-converts markdown regardless of content — always pass HTML with `contentFormat: "html"` when updating a body.
- **The `author` field is not sticky.** Omitting it on a publish or an update silently reverts the byline to the authenticated account. Pass `author: "DeAI News staff"` on every call.
- `distro_newslode_list` surfaces private publications — use it to discover pub IDs.
- Set `status: "draft"` when the user wants to review before going live; otherwise publish live.

## When not to use this skill

- Longform original essays published directly on Distro (not link-style reposts) — those follow different conventions.
- Wire-service / Distrowire posts — those have their own formatting requirements.
- Press-release rewrites — use the `distro-release-rewrite` skill instead.

When to use this skill

  • You have a URL and want a ready-to-file link post in the publication's own voice
  • You want the brief drafted for you — attributed, punctuation-disciplined, counted, with an optional "DeAI takeaway" — from just the link
  • You've written your own body and want it posted exactly as written, with the source in the dedicated fields

When not to use this skill

  • Longform original essays published directly on Distro — those follow different conventions
  • Wire-service / Distrowire posts — those have their own formatting requirements
  • Press-release rewrites — use the distro-release-rewrite skill instead

Feedback

This is v2.1.0. Edge cases or suggestions → reply or ping Brad.