linkdigest-social-link-reader – skill Marketing & SEO cho agent AI
Đọc một bài viết công khai từ liên kết Xiaohongshu, Douyin, TikTok, YouTube, X hoặc WeChat thành văn bản để agent sử dụng (bản chép lời, văn bản trong ảnh, ý chính) qua LinkDigest API hoặc MCP server.
Cài skill linkdigest-social-link-reader bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/linkdigest-social-link-reader-5ae8b.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /linkdigest-social-link-reader – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/linkdigest-social-link-reader-5ae8b.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $linkdigest-social-link-reader – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/linkdigest-social-link-reader-5ae8b.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /linkdigest-social-link-reader – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/linkdigest-social-link-reader-5ae8b.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /linkdigest-social-link-reader – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
LinkDigest Social Link Reader
Overview
A plain fetch of a Xiaohongshu, Douyin or TikTok link returns an app-download page or a login wall, and the content is inside the images and the speech anyway. This skill hands one public post link to LinkDigest and gets back text: the caption, the spoken transcript, the text written on screen or inside images, key points with quotes checked word for word against the source, and a coverage receipt that says what was read and what was not.
It works through either the REST API (POST https://linkdigest.dev/api/v1/digest) or the hosted MCP server (https://linkdigest.dev/mcp, one read-only tool digest_url). The user brings their own LINKDIGEST_API_KEY; the service is pay as you go after 10 free credits.
When to Use
- Use when the user pastes a Xiaohongshu / RedNote (
xiaohongshu.com,xhslink.com,rednote.com), Douyin (douyin.com,v.douyin.com), TikTok, YouTube, X or WeChat 公众号 (mp.weixin.qq.com) link and asks what it says, wants a summary, a translation, or the text for research. - Use when you already tried to fetch such a link and got an app shell, a login wall, or a page with a title and no body.
- Use when the content of a post is inside the images (Xiaohongshu image notes, WeChat long images) or inside the speech (Douyin, TikTok, YouTube) and you need it as text.
- Use when the user wants to learn how a post is built (optional breakdown: hook, timed beats, title formula, call to action, reusable template).
Do not use it for an ordinary article that fetches fine; read that directly, it is faster and free.
Setup
1. The user creates an API key at https://linkdigest.dev/app/keys (sign in with Google or an email link). The key starts with ld_live_. New accounts get 10 free credits once; no card is needed.
2. The user puts the key in the environment of the shell or agent config:
export LINKDIGEST_API_KEY=the_key_the_user_created # starts with ld_live_Keep the key in an environment variable or the agent's config. Never paste it into the conversation, a file that is committed, or a log.
Docs: https://linkdigest.dev/docs (English) and https://linkdigest.dev/zh/docs (中文).
How It Works
Step 1: Pick the transport
- REST API: one
curlor oneurllibcall. Use it from scripts and from agents without MCP. - MCP server: add the remote server once and the agent calls
digest_urlitself when it meets a link it cannot read. Streamable HTTP, headerAuthorization: Bearer <key>. - Python SDK / CLI (a separately reviewed SDK installation (not installed by this skill), standard library only) if the user prefers a typed client. It also ships
linkdigest-mcp, a stdio MCP server that forwards to the hosted endpoint.
Step 2: Read the link (REST)
curl -sS -X POST "https://linkdigest.dev/api/v1/digest" \
-H "Authorization: Bearer $LINKDIGEST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.xiaohongshu.com/explore/<note-id>", "format": "json", "max_credits": 1}'Request fields (only url is required):
| Field | Meaning |
| --- | --- |
| url | The post link, including any share tokens. The whole share text copied from the app also works; the link is picked out server side. |
| format | json (structured fields plus the whole digest as markdown) or markdown. |
| translate_to | A language code (en, ja, zh-CN): adds a translation beside the original. +1 credit. |
| breakdown | true: adds the structure breakdown. +1 credit. |
| depth | transcript for long videos: full transcript with few frames, 1 credit per 2 minutes. |
| max_credits | Your own ceiling for this link. Over it the API answers 402 and spends nothing. |
| partial_ok | true: read the opening minutes a budget allows instead of refusing a long video. |
Step 3: Collect a long job
A short post or a cached link returns 200 with the digest. A long video returns 202 with a jobId. Poll with the job id; do not resend the url, that starts the work again and charges twice.
curl -sS "https://linkdigest.dev/api/v1/digest/<jobId>?format=json&wait=20" \
-H "Authorization: Bearer $LINKDIGEST_API_KEY"wait=20 holds the request open up to 20 seconds; poll with bounded retries until200 or a terminal error/deadline; do not loop indefinitely. Read coverage and degraded before quoting anything.
Step 4: Or use the MCP server instead
Claude Code:
claude mcp add --transport http linkdigest https://linkdigest.dev/mcp \
--header "Authorization: Bearer $LINKDIGEST_API_KEY"Cursor or any client that reads an mcp.json:
{
"mcpServers": {
"linkdigest": {
"type": "streamable-http",
"url": "https://linkdigest.dev/mcp",
"headers": { "Authorization": "Bearer ${LINKDIGEST_API_KEY}" }
}
}
}The server exposes one tool, digest_url(url, format, job_id, translate_to, breakdown, partial_ok). When a long video returns a job id, call the tool again with job_id and no url. The server is listed in the official MCP registry as dev.linkdigest/linkdigest.
What comes back
With format: json: platform, author, title, posted_at, caption, transcript ([{t, text}]), on_screen ([{t, text}]), ocr_text, images ([{description, ocr}]), key_points (each with a quote checked word for word against the source), stats (likes, comments, saves, shares, plays as the platform reported them), tags, links (links and QR codes the post points to; listed, never opened), coverage (what was read and what was not), degraded (what did not fully work), transcript_source (native_captions, asr, gemini_video or none), credits, cached, markdown, plus breakdown and translation when asked for.
Per platform:
- Xiaohongshu / RedNote image notes: caption plus the text inside every image, up to 60 images; video notes: transcript and on-screen text.
- Douyin: transcript, on-screen text with times, the post's own chapters and category when Douyin provides them.
- TikTok: transcript and on-screen text.
- YouTube: published captions where they exist, otherwise a model watches the video and writes the transcript (
transcript_source: gemini_video). - X: posts with video or images.
- WeChat 公众号 articles: full text plus every image's text, and the links the article points to.
- Ordinary web pages: readable article text, title, author, date.
Examples
Example 1: Summarise a Xiaohongshu note in English
curl -sS -X POST "https://linkdigest.dev/api/v1/digest" \
-H "Authorization: Bearer $LINKDIGEST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://xhslink.com/o/<share-id>", "format": "json", "translate_to": "en", "max_credits": 3}'Then answer from key_points and translation, and tell the user what coverage says was not read (for example images past the budget).
Example 2: Transcript of a Douyin video, capped at 5 credits
curl -sS -X POST "https://linkdigest.dev/api/v1/digest" \
-H "Authorization: Bearer $LINKDIGEST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://v.douyin.com/<short-id>/", "format": "markdown", "max_credits": 5}'If the answer is 402, the video would cost more than 5 credits; nothing was spent. Ask the user before raising the cap, or add "partial_ok": true to read the opening minutes.
Example 3: Python, standard library only
import json, os, urllib.request
req = urllib.request.Request(
"https://linkdigest.dev/api/v1/digest",
data=json.dumps({"url": "https://mp.weixin.qq.com/s/<article-id>", "format": "json", "max_credits": 1}).encode(),
headers={
"Authorization": "Bearer " + os.environ["LINKDIGEST_API_KEY"],
"Content-Type": "application/json",
},
)
with urllib.request.urlopen(req, timeout=120) as r:
body = json.load(r)
if r.status == 202:
print("long job, poll /api/v1/digest/" + body["jobId"])
else:
print(body["title"], body["credits"], body["cached"])
print(body["markdown"])Pricing
Stated so the agent can tell the user before spending:
- 10 free credits on sign-up, once.
- Then $5 for 250 credits (1 credit is about $0.02; Alipay accepted, settled as ¥36) or Dev $9/month for 500 credits. See
https://linkdigest.dev/pricing. - An image post of up to 6 images: 1 credit. A video: 1 credit plus 1 per started minute. Breakdown or translation: +1 each. Long videos in transcript mode: 1 credit per 2 minutes.
- Links already read by anyone are cached and free (
cached: true,credits: 0). - HTTP 402 (out of credits or over
max_credits) and 422 (unreadable post) spend nothing.
Best Practices
- ✅ Set
max_creditson every call and tell the user the cost before reading a long video. - ✅ Quote only from
transcript,ocr_text,images[].ocrorkey_points; say which, and checktranscript_sourcefi
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- linkedin-profile-optimizer – Chuyên gia hiệu suất cao về kiểm tra hồ sơ LinkedIn và tối ưu SEO. Âm thầm kiểm tra và…
- x-twitter-growth – Công cụ tăng trưởng X/Twitter để xây dựng lượng người theo dõi, tạo nội dung lan truyền…
- local-seo-audit-checklist – Local SEO Audit Checklist. Dùng khi làm việc với loại hình doanh nghiệp, vị trí và thông…
- lognorm – Xử lý danh sách tồn đọng SEO và khả năng hiển thị AI (GEO) của trang web qua máy chủ MCP…
- mailtrap-sending-emails – Cấu hình hoặc khắc phục sự cố gửi email thực tế với Mailtrap qua Email API, SMTP, luồng…
- marketing-ideas – Đề xuất chiến lược marketing và ý tưởng tăng trưởng đã được kiểm chứng cho sản phẩm SaaS…
- marketing-mindset – Dùng khi người dùng hỏi cách có khách hàng đầu tiên, liệu làm X có cho ra Y không, cách…
- marketing-plan – Dùng khi người dùng cần một kế hoạch marketing toàn diện cho khách hàng, công ty họ tư…