mvanhorn/last30days-skill
GitHub: mvanhorn/last30days-skill
一款Claude Code技能插件,可跨Reddit、X、YouTube等十多个平台研究任意主题,并生成带引用的综合简报。
Stars: 14553 | Forks: 1156
# /last30days v2.9.5
### Claude Code (推荐)
```
/plugin marketplace add mvanhorn/last30days-skill
/plugin install last30days@last30days-skill
```
[](https://clawhub.ai/skills/last30days-official)
```
clawhub install last30days-official
```
**AI 世界每个月都在重塑自己。这项技能让你保持前沿。** /last30days 在 Reddit、X、Bluesky、YouTube、TikTok、Instagram、Hacker News、Polymarket 和网络上研究你过去 30 天的主题,找出社区真正在点赞、分享、下注和在镜头前讨论的内容,并为你撰写一份带有真实引用的详实报告。无论是 Seedance 2.0 访问、paper.design 提示词,还是最新的 Nano Banana Pro 技巧,你都能了解那些关注这些领域的人已经知道的信息。
**v2.9.5 新增功能 — Bluesky、比较模式和配置改进:**
- **Bluesky/AT Protocol** 现已作为社交来源支持。通过 `BSKY_HANDLE` + `BSKY_APP_PASSWORD`(在 bsky.app/settings/app-passwords 创建)选择启用。完整流程:搜索、评分、去重、渲染。
- **比较模式** - 询问 "X vs Y"(例如 `/last30 cursor vs windsurf`),将获得 3 次并行研究以及并排比较:优势、劣势、正面对比表和数据驱动的结论。
- **按项目 .env 配置** - 在项目根目录放置 `.claude/last30days.env` 文件,用于设置项目专属的 API 密钥。
- **SessionStart 配置检查** - Claude Code 会话开始时自动验证你的配置。
- **扩展测试覆盖** - 覆盖所有模块的 455+ 测试。
**v2.9.1 新增功能 — 自动保存到 ~/Documents/Last30Days/:** 每次运行现在都会将完整的简报保存为以主题命名的 `.md` 文件到你的 Documents 文件夹。自动构建个人研究库。灵感来自 [@devin_explores](https://x.com/devin_explores)。
**v2.9 新增功能 — ScrapeCreators Reddit + 热门评论 + 智能发现:**
Reddit 现在默认使用 [ScrapeCreators](https://scrapecreators.com) 运行 —— 一个 `SCRAPECREATORS_API_KEY` 覆盖 Reddit、TikTok 和 Instagram(3 个来源,1 个密钥)。智能 subreddit 发现可自动找到正确的社区,热门评论享有 10% 的评分权重提升,并显示 `💬` 标记及点赞数。[详情见下文。](#whats-new-in-v29)
**v2.8 新增功能 — Instagram Reels + ScrapeCreators:**
Instagram Reels 现已成为第 8 个信号来源。TikTok 和 Instagram 均通过 ScrapeCreators 运行 —— 一个 API 密钥覆盖两者。[详情见下文。](#whats-new-in-v28)
**V2.5 新增功能 - 结果显著改善:**
1. **Polymarket 预测市场和 Hacker News。** 查看人们正在用真金白银押注什么,以及技术社区真正在讨论什么。搜索 "Arizona Basketball" 获取 NCAA 锦标赛冠军赔率(Arizona: 12%)、#1 种子概率(88%)和 Big 12 夺冠赛况(69%)——这些数据来自 10 个赛事的 50+ 开放市场,而不仅仅是 Reddit 的观点。搜索 "Iran War" 可获得 15 个实时预测市场,包含打击概率、政权更迭押注和宣战赔率。带有基于标签的域桥接的双遍查询扩展可以发现你的主题作为结果隐藏在更广泛赛事中的市场,而不仅仅是标题关键词匹配。HN 故事、Show HN 帖子和评论洞察按 points + comments 评分,并参与跨来源趋同检测。
2. **多信号质量排序相关性评分。** 所有六个来源的每个结果都经过复合评分流程:具有同义词扩展和 token 重叠的双向文本相似度、互动速度归一化、来源权威权重、通过混合 trigram-token Jaccard 相似度进行的跨平台趋同检测,以及时间新近度衰减。Polymarket 市场按 5 因子加权组合排名 —— 文本相关性(30%)、24 小时交易量(30%)、流动性深度(15%)、价格变动速度(15%)和结果竞争力(10%)—— 具有结果感知评分,将你的主题与个别市场仓位匹配,而不仅仅是赛事标题。盲测评估显示,在 5 个测试主题中,v2.5 得分为 4.38/5.0,而 v1 为 3.73/5.0。
3. **X handle 解析。** 搜索 "Dor Brothers",技能会解析他们的 handle (@thedorbrothers),然后直接搜索他们的帖子 —— 找到关键词搜索完全错过的 5,600 点赞爆款推文。适用于人、品牌、产品和工具。
**V2.1 新增功能:** 开放类技能,支持观察列表、YouTube 字幕作为来源,可在 OpenAI Codex CLI 中工作。[完整更新日志见下文。](#whats-new-in-v21)
**V2 新增功能:** 更智能的查询构建、两阶段补充搜索、通过捆绑 Bird 客户端的免费 X 搜索、`--days=N` 标志、自动模型回退。[完整更新日志见下文。](#whats-new-in-v2)
**权衡:** /last30days 会找到大量内容,但根据你主题的小众程度,需要 2-8 分钟。最多并行搜索 10 个来源,对结果进行评分、去重和综合。我们认为这种深度值得等待,但如果你需要速度而非详尽,可以使用 `--quick` 模式。
**最适合提示词研究**:通过学习真实的社区讨论和最佳实践,发现适用于任何工具(ChatGPT、Midjourney、Claude、Paper 等)真正有效的提示词技巧。
**但也非常适合任何趋势话题**:音乐、文化、新闻、产品推荐、病毒式趋势,或任何"人们现在在说什么"很重要的问题。
## 安装
### Claude Code 插件 (推荐)
```
/plugin marketplace add mvanhorn/last30days-skill
/plugin install last30days@last30days-skill
```
### Gemini CLI
```
gemini extensions install https://github.com/mvanhorn/last30days-skill.git
```
### 手动安装 (Claude Code / Codex)
```
# 克隆 repo
git clone https://github.com/mvanhorn/last30days-skill.git ~/.claude/skills/last30days
# 添加您的 API keys(如果已登录 Codex 则可选)
mkdir -p ~/.config/last30days
cat > ~/.config/last30days/.env << 'EOF'
SCRAPECREATORS_API_KEY=... # Reddit + TikTok + Instagram (one key, all three) - scrapecreators.com
OPENAI_API_KEY=sk-... # optional - legacy Reddit fallback if using `codex login`
AUTH_TOKEN=... # recommended for X search - copy once from x.com cookies
CT0=... # recommended for X search - copy once from x.com cookies
XAI_API_KEY=xai-... # optional - X fallback if you do not want cookie-based auth
BSKY_HANDLE=you.bsky.social # optional - Bluesky search (create app password below)
BSKY_APP_PASSWORD=xxxx-xxxx-xxxx # optional - bsky.app/settings/app-passwords
EOF
chmod 600 ~/.config/last30days/.env
```
如果你已登录 Codex (`codex login`),技能将使用你的 Codex 凭证调用 OpenAI Responses API,你可以省略 `OPENAI_API_KEY`。如果你未登录,请先运行 `codex login`。
对于项目特定的覆盖设置,请在 repo 根目录创建 `.claude/last30days.env`。它会覆盖全局的 `~/.config/last30days/.env`。
### X Search 认证
X 搜索偏好显式环境认证。这使本地运行保持无头模式,并避免浏览器 cookie 和 macOS Keychain 提示。
**推荐设置:**
1. 登录 x.com 一次后,打开浏览器开发工具,复制 `x.com` 的 `auth_token` 和 `ct0` cookies。
2. 将它们保存为 `AUTH_TOKEN` 和 `CT0`,存入 `~/.config/last30days/.env`,在 shell 中导出它们,或添加到 `.claude/last30days.env` 用于单个项目。
3. 重新运行 `/last30days`。
**xAI 回退:** 如果你不想提供 `AUTH_TOKEN` 和 `ct0`,设置 `XAI_API_KEY`,技能将改用 xAI 的 `x_search` 后端。
**验证是否工作:**
```
node ~/.claude/skills/last30days/scripts/lib/vendor/bird-search/bird-search.mjs --whoami
```
**要求:** Node.js 22+(用于内置的 Twitter GraphQL 客户端)。
### Codex CLI
此技能也可在 OpenAI Codex CLI 中工作。改为安装到 Codex skills 目录:
```
git clone https://github.com/mvanhorn/last30days-skill.git ~/.agents/skills/last30days
```
相同的 SKILL.md,相同的 Python 引擎,相同的脚本。`agents/openai.yaml` 提供 Codex 特定的发现元数据。使用 `$last30days` 或通过 `/skills` 菜单调用。
### 开放变体 (观察列表 + 简报) - 适用于常驻 Bot
**专为 [Open Claw](https://github.com/openclaw/openclaw) 和类似的常驻 AI 环境设计。** 将你的竞争对手、特定人员或任何主题添加到观察列表。当配合 cron 作业或常驻 bot 使用时,/last30days 会按计划重新研究它们,并将发现累积到本地 SQLite 数据库中。随时请求简报。
**重要:** 观察列表将计划存储为元数据,但没有任何东西会自动触发运行。你需要外部调度器(cron、launchd 或像 Open Claw 这样的常驻 bot)来定时调用 `watchlist.py run-all`。在普通 Claude Code 中,你可以手动运行 `watch run-one` 和 `watch run-all`,但没有后台调度。
```
# 启用 open 变体
cp variants/open/SKILL.md ~/.claude/skills/last30days/SKILL.md
# 将主题添加到您的 watchlist
last30 watch my biggest competitor every week
last30 watch Peter Steinberger every 30 days
last30 watch AI video tools monthly
last30 Y Combinator hot companies end of April and end of September
# 手动运行研究(或让您的 bot 的 cron 处理)
last30 run all my watched topics
# 搜索积累的知识
last30 what have you found about AI video?
```
开放变体在一次性研究之上增加了四种模式:
- **观察列表** - 使用 `watch add "topic"` 跟踪主题,手动运行或通过 cron 运行
- **简报** - 从累积的发现中综合生成的每日/每周摘要
- **历史记录** - 通过全文搜索查询和搜索你的研究数据库
- **原生网页搜索** - 内置网页搜索后端在 Reddit/X/YouTube 之外并行运行
两种变体使用相同的 Python 引擎和脚本目录。开放变体添加了命令路由(`watch`、`briefing`、`history`)并引用模式特定的指令文件。
**可选网页搜索 API 密钥**(添加到 `~/.config/last30days/.env`):
```
PARALLEL_API_KEY=... # Parallel AI (preferred - LLM-optimized results)
BRAVE_API_KEY=... # Brave Search (free tier: 2,000 queries/month)
OPENROUTER_API_KEY=... # OpenRouter/Perplexity Sonar Pro
```
**可选 Bluesky 凭证**(添加到 `~/.config/last30days/.env`):
```
BSKY_HANDLE=you.bsky.social # Your Bluesky handle
BSKY_APP_PASSWORD=xxxx-xxxx-xxxx # Create at bsky.app/settings/app-passwords
```
检查来源可用性:`python3 scripts/last30days.py --diagnose`
## 用法
```
/last30days [topic]
/last30days [topic] for [tool]
```
示例:
- `/last30days prompting techniques for ChatGPT for legal questions`
- `/last30days iOS app mockups for Nano Banana Pro`
- `/last30days What are the best rap songs lately`
- `/last30days remotion animations for Claude Code`
## 它能做什么
1. **研究** - 扫描过去 30 天内 Reddit、X、Bluesky、Truth Social、YouTube、TikTok、Instagram、Hacker News、Polymarket 和网络上的讨论
2. **综合** - 识别模式、最佳实践和真正有效的方法
3. **交付** - 为你的目标工具编写可直接复制粘贴的提示词,或为你提供精心策划的专家级答案
### 用途:
- **提示词研究** - "ChatGPT 法律问题的提示词技巧有哪些?"
- **工具最佳实践** - "人们如何在 Claude Code 中使用 Remotion?"
- **趋势发现** - "现在最好的说唱歌曲是什么?"
- **产品研究** - "人们怎么看新的 M4 MacBook?"
- **病毒式内容** - "ChatGPT 上的狗像人趋势是什么?"
## 示例:Nano Banana Pro 提示词(图像生成)
**查询:** `/last30days nano banana pro prompting`
**研究输出:**
**发现的关键模式:**
1. JSON > 纯文本 - 将提示词构建为包含 subject、composition、lighting、camera、style 键的 JSON 对象 - 来自 @Xmira_belle, @Cicily_aura
2. 5 元素公式 - Subject + Composition + Action + Setting + Style - 来自 r/nanobanana2pro
3. 将主体分离为独立对象 - 多角色场景需要每个人物都在自己的 JSON 块中,以防止 "concept bleeding" - 来自 fofr.ai
4. 使用 camera/lens 元数据 - Aperture、focal length、ISO、film stock 作为 JSON 键,用于隐藏的逼真度控制
5. 最多 14 张参考图片 - 提供最多 14 张参考图片以保持品牌/角色一致性 - 来自 Google DeepMind
**研究统计:** 8 个 Reddit 帖子(455 点赞)+ 31 条 X 帖子(183 喜欢,68 转发),来源包括 r/nanobanana2pro, r/promptingmagic, @Xmira_belle (106 喜欢), @Cicily_aura (45 喜欢)
**然后询问:** "为游泳的妈妈们制作一个应用模型"
**生成的提示词:**
```
{
"image_type": "UI mockup",
"device": {
"frame": "iPhone 16 Pro",
"display": "realistic screen with subtle reflection",
"orientation": "portrait"
},
"app_concept": "SwimMom - fitness and community app for mothers who swim",
"screen": "home dashboard",
"design_system": {
"style": "iOS 18 native",
"corners": "rounded, 16px radius",
"shadows": "soft drop shadows, subtle depth",
"spacing": "8pt grid, generous whitespace"
},
"color_palette": {
"primary": "calming aqua blue (#4ECDC4)",
"secondary": "warm coral (#FF6B6B)",
"background": "clean white with soft blue gradient header"
},
"layout": {
"header": "greeting 'Good morning, Sarah' with wave icon, profile avatar top right",
"hero_card": "today's swim stats - laps, calories, time - with circular progress ring",
"section_2": "horizontal scroll of upcoming mom swim meetups with location pills",
"section_3": "two cards - 'My Goals' with streak counter, 'Find a Pool' with map pin",
"bottom_nav": "5 icons - Home (active), Workouts, Community, Schedule, Profile"
},
"visual_details": {
"illustrations": "friendly, minimal line art of swimming figure",
"typography": "SF Pro Display, clean hierarchy",
"mood": "energizing yet calm, supportive community feel"
}
}
```
**结果:**
→
标签:Bluesky, Claude 插件, ClawHub, Hacker News, MITM代理, Petitpotam, Polymarket, Reddit, SEO 检索, TikTok, URL抓取, X/Twitter, YouTube, 信息综合, 内容摘要, 对比分析, 市场情报, 引用生成, 技术趋势分析, 技能插件, 数据抓取, 知识管理, 社交媒体监控, 自动化报告, 自动化研究, 跨平台搜索, 逆向工具