Changelog Social Recap
FlorianBruniaux/claude-code-ultimate-guide
Turns CHANGELOG.md entries for a release or a week into LinkedIn, Twitter/X, newsletter and Slack posts in French and English.
新闻站点内容提取。支持 12 个平台:微信公众号、今日头条、网易新闻、搜狐新闻、腾讯新闻、BBC News、CNN News、Twitter/X、Lenny's Newsletter、Naver Blog、Detik News、Quora。当用户需要提取新闻内容、抓取公众号文章、爬取新闻、或获取新闻JSON/Markdown时激活。
$ npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NanmiCoder/NewsCrawler news-extractor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/NanmiCoder/NewsCrawler.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/news-extractor .claude/skills/news-extractor && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "news-extractor" agent skill from https://github.com/NanmiCoder/NewsCrawler/tree/main/.claude/skills/news-extractor into .claude/skills/news-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "news-extractor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/NanmiCoder/NewsCrawler/tree/main/.claude/skills/news-extractorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NanmiCoder/NewsCrawler news-extractor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NanmiCoder/NewsCrawler.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/news-extractor .agents/skills/news-extractor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "news-extractor" agent skill from https://github.com/NanmiCoder/NewsCrawler/tree/main/.claude/skills/news-extractor into .agents/skills/news-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "news-extractor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NanmiCoder/NewsCrawler news-extractor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NanmiCoder/NewsCrawler.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/news-extractor .cursor/skills/news-extractor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "news-extractor" agent skill from https://github.com/NanmiCoder/NewsCrawler/tree/main/.claude/skills/news-extractor into .cursor/skills/news-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "news-extractor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/NanmiCoder/NewsCrawler.git --path .claude/skills/news-extractor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NanmiCoder/NewsCrawler news-extractor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NanmiCoder/NewsCrawler.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/news-extractor .gemini/skills/news-extractor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "news-extractor" agent skill from https://github.com/NanmiCoder/NewsCrawler/tree/main/.claude/skills/news-extractor into .gemini/skills/news-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "news-extractor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install NanmiCoder/NewsCrawler news-extractorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NanmiCoder/NewsCrawler.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/news-extractor .github/skills/news-extractor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "news-extractor" agent skill from https://github.com/NanmiCoder/NewsCrawler/tree/main/.claude/skills/news-extractor into .github/skills/news-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "news-extractor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NanmiCoder/NewsCrawler news-extractor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NanmiCoder/NewsCrawler.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/news-extractor .opencode/skills/news-extractor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "news-extractor" agent skill from https://github.com/NanmiCoder/NewsCrawler/tree/main/.claude/skills/news-extractor into .opencode/skills/news-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "news-extractor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
news-extractor新闻站点内容提取。支持 12 个平台:微信公众号、今日头条、网易新闻、搜狐新闻、腾讯新闻、BBC News、CNN News、Twitter/X、Lenny's Newsletter、Naver Blog、Detik News、Quora。当用户需要提取新闻内容、抓取公众号文章、爬取新闻、或获取新闻JSON/Markdown时激活。
News Extractor is an agent skill from NanmiCoder/NewsCrawler. 新闻站点内容提取。支持 12 个平台:微信公众号、今日头条、网易新闻、搜狐新闻、腾讯新闻、BBC News、CNN News、Twitter/X、Lenny's Newsletter、Naver Blog、Detik News、Quora。当用户需要提取新闻内容、抓取公众号文章、爬取新闻、或获取新闻JSON/Markdown时激活。
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 27 other files, including scripts and reference files (for example `references/platform-patterns.md`, `scripts/crawlers/__init__.py` and `scripts/crawlers/base.py`).
It sits in Writing & Content, covering Newsletters and Markdown. It works with X (Twitter). The repository describes itself as: 多平台新闻 & 内容爬虫集合 | Multi-platform News & Content Crawler Suite 支持:微信公众号、Twiiter、今日头条、网易新闻、搜狐新闻、腾讯新闻、Naver、Detik、Quora 等主流平台 Supports crawling news & content from WeChat, Toutiao…. The licence is GPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 25fb3b4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 15 files in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
uvFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
x.commp.weixin.qq.combbc.comtoutiao.com163.comsohu.comnews.qq.comedition.cnn.comlennysnewsletter.comblog.naver.comnews.detik.comquora.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
News Extractor loads about 1.3k tokens when it runs, and up to ~2.6k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 198 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from NanmiCoder/NewsCrawler at commit 25fb3b4, republished under its GPL-3.0 licence (© NanmiCoder). 198 words, ~1,310 tokens.
.claude/skills/news-extractor/SKILL.md (or your agent's skills folder). This skill also uses 24 other files; get the full folder from GitHub.从主流新闻平台提取文章内容,输出 JSON 和 Markdown 格式。
标准兼容、独立可迁移:本目录遵循 Agent Skills 规范,包含完整的 SKILL.md、脚本与依赖,不依赖 NewsCrawler 的其他模块。通过兼容的 Skills 安装器安装后,运行一次 uv sync 即可使用。
运行环境需要 Python 3.9+、uv 和目标站点的网络访问。
| 平台 | ID | URL 示例 |
|---|---|---|
| 微信公众号 | https://mp.weixin.qq.com/s/xxxxx | |
| 今日头条 | toutiao | https://www.toutiao.com/article/123456/ |
| 网易新闻 | netease | https://www.163.com/news/article/ABC123.html |
| 搜狐新闻 | sohu | https://www.sohu.com/a/123456_789 |
| 腾讯新闻 | tencent | https://news.qq.com/rain/a/20251016A07W8J00 |
| 平台 | ID | URL 示例 |
|---|---|---|
| BBC News | bbc | https://www.bbc.com/news/articles/c797qlx93j0o |
| CNN News | cnn | https://edition.cnn.com/2025/10/27/uk/article-slug |
| Twitter/X | https://x.com/user/status/123456789 | |
| Lenny's Newsletter | lenny | https://www.lennysnewsletter.com/p/article-slug |
| Naver Blog | naver | https://blog.naver.com/username/123456 |
| Detik News | detik | https://news.detik.com/internasional/d-123456/slug |
| Quora | quora | https://www.quora.com/question/answers/123456 |
本 skill 使用 uv 管理依赖。首次使用前需要安装:
cd <Agent Skills 目录>/news-extractor
uv sync重要: 所有脚本必须使用 uv run 执行,不要直接用 python 运行。
| 包名 | 用途 |
|---|---|
| pydantic | 数据模型验证 |
| requests | HTTP 请求 |
| curl_cffi | 浏览器模拟抓取 |
| tenacity | 重试机制 |
| parsel | HTML/XPath 解析 |
| demjson3 | 非标准 JSON 解析 |
# 以下命令均在 news-extractor Skill 目录内执行
# 提取新闻,自动检测平台,输出 JSON + Markdown
uv run scripts/extract_news.py "URL"
# 指定输出目录
uv run scripts/extract_news.py "URL" --output ./output
# 仅输出 JSON
uv run scripts/extract_news.py "URL" --format json
# 仅输出 Markdown
uv run scripts/extract_news.py "URL" --format markdown
# Twitter 受保护推文 (需要 Cookie)
uv run scripts/extract_news.py "URL" --cookie "auth_token=xxx; ct0=yyy"
# 列出支持的平台
uv run scripts/extract_news.py --list-platforms脚本默认输出两种格式到指定目录(默认 ./output):
{news_id}.json - 结构化 JSON 数据{news_id}.md - Markdown 格式文章{
"title": "文章标题",
"news_url": "原始链接",
"news_id": "文章ID",
"meta_info": {
"author_name": "作者/来源",
"author_url": "",
"publish_time": "2024-01-01 12:00"
},
"contents": [
{"type": "text", "content": "段落文本", "desc": ""},
{"type": "image", "content": "https://...", "desc": ""},
{"type": "video", "content": "https://...", "desc": ""}
],
"texts": ["段落1", "段落2"],
"images": ["图片URL1", "图片URL2"],
"videos": []
}# 文章标题
## 文章信息
**作者**: xxx
**发布时间**: 2024-01-01 12:00
**原文链接**: [链接](URL)
---
## 正文内容
段落内容...

---
## 媒体资源
### 图片 (N)
1. URL1
2. URL2uv run scripts/extract_news.py \
"https://mp.weixin.qq.com/s/ebMzDPu2zMT_mRgYgtL6eQ"uv run scripts/extract_news.py \
"https://www.bbc.com/news/articles/c797qlx93j0o"# 公开推文 (无需认证)
uv run scripts/extract_news.py \
"https://x.com/BarackObama/status/896523232098078720"
# 受保护推文 (需要 Cookie)
uv run scripts/extract_news.py \
"https://x.com/user/status/123456" --cookie "auth_token=xxx; ct0=yyy"| 错误类型 | 说明 | 解决方案 |
|---|---|---|
无法识别该平台 | URL 不匹配任何支持的平台 | 检查 URL 是否正确 |
平台不支持 | 非支持的站点 | 本 Skill 仅支持列出的 12 个平台 |
提取失败 | 网络错误或页面结构变化 | 重试或检查 URL 有效性 |
认证失败 | Twitter Cookie 无效 | 重新获取 Cookie |
news-extractor/
├── SKILL.md # [必需] Skill 定义文件
├── pyproject.toml # 依赖管理
├── references/
│ └── platform-patterns.md # 平台 URL 模式说明
└── scripts/
├── extract_news.py # CLI 入口脚本
├── models.py # 数据模型
├── detector.py # 平台检测
├── formatter.py # Markdown 格式化
└── crawlers/ # 爬虫模块
├── __init__.py
├── base.py # BaseNewsCrawler 基类
├── fetchers.py # HTTP 获取策略
├── wechat.py # 微信公众号
├── toutiao.py # 今日头条
├── netease.py # 网易新闻
├── sohu.py # 搜狐新闻
├── tencent.py # 腾讯新闻
├── bbc.py # BBC News
├── cnn.py # CNN News
├── twitter.py # Twitter/X
├── twitter_client.py # Twitter API 客户端
├── twitter_types.py # Twitter 数据类型
├── lenny.py # Lenny's Newsletter
├── naver.py # Naver Blog
├── detik.py # Detik News
└── quora.py # Quora© NanmiCoder, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 24 other files (scripts, references) in .claude/skills/news-extractor of NanmiCoder/NewsCrawler.
Open the folder on GitHubat commit 25fb3b4
News Extractor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| News Extractor this skillNanmiCoder/NewsCrawler | 622 | — | ~1.3k | Automated safety check: Pass | GPL-3.0 | |
| Changelog Social RecapFlorianBruniaux/claude-code-ultimate-guide | 6.1k | — | ~1.8k | Automated safety check: Notes | CC-BY-SA-4.0 | |
| Voice Buildercharlie947/social-media-skills | 3.8k | — | ~3.3k | Automated safety check: Pass | MIT | |
| AI News Digestlselector/seminar | 164 | — | ~1.6k | Automated safety check: Pass | None | |
| ShareSerhiiKorniienko/bullshit-detector | 154 | — | ~857 | Automated safety check: Pass | MIT | |
| Content Repurposer Smsblacktwist/social-media-skills | 560 | — | ~3.7k | Automated safety check: Pass | MIT |
FlorianBruniaux/claude-code-ultimate-guide
Turns CHANGELOG.md entries for a release or a week into LinkedIn, Twitter/X, newsletter and Slack posts in French and English.
charlie947/social-media-skills
Build a personalised voice profile inside a Codex or Claude project from a short interview plus 3 to 5 sample pieces of writing.
lselector/seminar
Extract the last N days of AI/tech newsletters from the local Thunderbird mail folder and write a deduplicated markdown digest of the most important events, each with a short description and 1-2…
SerhiiKorniienko/bullshit-detector
Turn a BS report (or any analysis result) into ready-to-paste posts for X/Twitter, LinkedIn, Facebook, Reddit, Hacker News, or a newsletter issue — plus a branded image carousel (PNGs + PDF) for…
blacktwist/social-media-skills
When the user wants to turn one piece of content into multiple formats or adapt content across text-first and visual-first platforms (LinkedIn, Twitter/X, Threads, Bluesky, Facebook, Instagram…
AlphaMao1/AlphaMao_Skills
把 X/Twitter 博主、YouTube 博主、newsletter、播客或类似个人信息源的持续更新转成 progressive-investment-research 研究工作区的可审计增量。适用于:跟踪博主更新、生成每日报告、通过 Chrome 登录态或本地 browser bridge 抓 X、用 yt-dlp 抓 YouTube 字幕、把观点拆成 source…
Works with
Categories
新闻站点内容提取。支持 12 个平台:微信公众号、今日头条、网易新闻、搜狐新闻、腾讯新闻、BBC News、CNN News、Twitter/X、Lenny's Newsletter、Naver Blog、Detik News、Quora。当用户需要提取新闻内容、抓取公众号文章、爬取新闻、或获取新闻JSON/Markdown时激活。. News Extractor is an agent skill from NanmiCoder/NewsCrawler.
News Extractor fits situations like: tasks that involve Newsletters; tasks that involve Markdown.
Run `npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a claude-code`. Or copy the skill folder (.claude/skills/news-extractor in NanmiCoder/NewsCrawler) into .claude/skills/news-extractor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a codex`. Or copy the skill folder (.claude/skills/news-extractor in NanmiCoder/NewsCrawler) into .agents/skills/news-extractor in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NanmiCoder/NewsCrawler --skill news-extractor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/news-extractor, .gemini/skills/news-extractor, .github/skills/news-extractor and .opencode/skills/news-extractor in your project.
Going by SKILL.md and its folder, News Extractor needs Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3.
SKILL.md names 12 domains. In commands or code: x.com, mp.weixin.qq.com, bbc.com, toutiao.com, 163.com, sohu.com, news.qq.com, edition.cnn.com, lennysnewsletter.com, blog.naver.com, news.detik.com and quora.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
News Extractor is published under the GPL-3.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with News Extractor: Changelog Social Recap (FlorianBruniaux/claude-code-ultimate-guide, 6.1k stars), Voice Builder (charlie947/social-media-skills, 3.8k stars), AI News Digest (lselector/seminar, 164 stars) and Share (SerhiiKorniienko/bullshit-detector, 154 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NanmiCoder (a GitHub user) maintains it in NanmiCoder/NewsCrawler, which has 622 GitHub stars. The repository was last updated on August 8, 2026.
Source: NanmiCoder/NewsCrawler on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.