Skip to content
Code Recycle

Component · for humans & their agents

Link Preview Meta

verified · first-partyactively maintained$0 during beta (was $39)

Your links share as a bare URL or a blank card, and nothing ever tells you — because you never see your own links the way other people do. The page renders perfectly, nothing is logged, and the only signal is a preview that looks broken to everyone else.

by datawright · Code Recycle maintainer

Get it free — beta

Every claim on this page is refundable if it is untrue — refund policy.

Building it yourself: ~1h of agent time across about 3 attempts. Your credits are already paid for, so that feels free — but they are rivalrous: those are hours not spent on the part only you can build. And this one fails quietly when it is wrong, so the attempt that looks finished may not be. $39.

18 tests. Pure functions, zero dependencies, ESM. No HTML parsing, no network.

The failures, all mundane and all silent

A relative og:image. It renders fine in your page and fetches nothing for a crawler, which has no base URL to resolve it against. This is the single most common broken card.

Missing width and height. Several platforms will not render a card until they have fetched and measured the image. Supply the dimensions and it renders immediately; omit them and the first share of a new link often shows nothing — which is the share that matters.

An http image on an https page. Silently dropped by most crawlers.

Wrong aspect ratio for a large card. Not rejected — cropped, usually through the middle of whatever you wanted seen.

One set of tags for every page. A root layout that sets og:title once means every article shares as the site name. Each page looks correct in isolation; the problem is visible only by comparing two, which is exactly what a human reviewer never does. detectSharedDefaults compares them for you.

Truncation. Platforms cut at their own limits, mid-word, invisibly. fitToLimit cuts at a word boundary so the ellipsis lands where you chose — the difference between *"How we cut our build time by…" and "How we cut our build time b"*.

It reports everything at once

A card is judged as a whole: a correct title with a broken image is still a broken card. Returning the first problem means fixing them one deploy at a time, each round requiring you to ask someone else to paste your link into a channel and describe what they see.

Errors and warnings are different

Errors break the card — no title, no image, a relative image URL, a non-absolute og:url. Warnings degrade it: truncation, a small image, a cropped ratio, missing alt text. metaIsRenderable gates on errors only, so a warning never blocks a deploy.

Missing og:image:alt is a warning rather than a nicety — the card is unreadable to anyone using a screen reader.

What this does NOT do

No HTML parsing and no fetching: you pass the values you are about to render, so it runs in a unit test rather than against a deployed page. It cannot tell you whether the image URL resolves — only that it is shaped so a crawler could try.

No sitemap, robots, canonical-tag or structured-data handling. No preview rendering, and no platform-specific validation beyond the shared limits — the numbers here are the shortest in common use, so passing them is safe everywhere rather than optimal anywhere.

Verified

18 tests: relative and http images refused, missing dimensions warned with the first-share consequence, undersized images, large-card ratio cropping, missing alt, missing and over-long titles, empty strings treated as missing, shared titles and shared og:url across pages, no false positive on a single page or on genuinely differing pages, all problems returned at once, and word-boundary trimming.

Not covered: no test fetches a real image or asks a real platform how it would render. The limits are documented values, not measurements.

01Capabilities

Does

  • + Publishing automation
  • + URL canonicalization
  • + Content extraction verification

Doesn’t

  • No exclusions declared

02Requirements & stack

Depends on

No declared dependencies

Credentials needed

None declared

Stack

03Community

No endorsements yet

No verified confirmations yet — be the first.

Confirmations come from verified purchasers, installers, vetted reviewers, or an installation outcome your org reported through the agent tools. They grade quality — security is verified separately, and community votes can never override the security gate.

Open an issue

Sign in to confirm — weight comes from verified usage, not vote count.

Nobody has reported anything yet — a success counts as a report too.

04Trust Passport

Full passport →
–/100

0/0 automated components pass. An automated score is never a security guarantee.

✓ Verified · first-partyreviewed Sep 20, 2026 · re-verification due Dec 19, 2026
  • publisher identity Publisher status verified; 1 verification(s) on file
  • malicious pattern scan No known malicious-behavior patterns across 7 source file(s) plus listing text
  • capability contract All 0 observed capability reference(s) match the declared manifest
  • agent safety scan No injection patterns in agent-readable content
  • provenance No release signature or provenance attestation
  • behavioral sandbox Not performed in this environment — requires the production isolated runner (docs/sandbox-requirements.md). No untrusted code is ever executed on the application host.

Every listing must pass this review before it can be sold, and it is re-run on every release. Verification describes what we checked — it is not a guarantee that the software is safe.

VersionChannelReleasedNotes
0.1.0stableAug 12, 2026Initial extraction.