用途
last30days 是一个研究工具,用于了解近 30 天内人们围绕任意话题实际说了什么。它从 Reddit、X、YouTube、TikTok、Hacker News、Polymarket 等平台抓取帖子和互动数据,并按照一套明确的指令契约生成研究输出。
主要能力
- 跨平台抓取:从 Reddit、X、YouTube、TikTok、Hacker News、Polymarket 等来源拉取帖子与互动数据。
- 查询类型区分:区分 GENERAL、NEWS、PROMPTING、RECOMMENDATIONS 与 COMPARISON(含 vs / versus 的话题)等查询类型,并套用不同输出模板。
- 引擎输出:Python 引擎以 --emit=compact 输出,首行为强制徽章,末尾为 emoji-tree 页脚。
- 查询计划:支持通过 --plan 传入由推理模型生成的 JSON 查询计划。
使用方式
该技能以 SKILL.md 指令契约形式运行,包含 1400+ 行说明。使用前需执行 STEP 0 规范路径自检,确认加载的是版本化缓存副本而非过期的 marketplace 克隆。规范根路径为 $HOME/.claude/plugins/cache/last30days-skill/last30days。
输出契约要求:
- 徽章(强制,输出第一行):🌐 last30days v{VERSION} · synced {YYYY-MM-DD},其后空一行再开始综合内容。
- 版本号可通过 jq -r '.version' "$SKILL_ROOT/../../.codex-plugin/plugin.json" 或 jq -r '.version' "$SKILL_ROOT/.claude-plugin/plugin.json" 获取。
- 引擎调用示例:python3 scripts/last30days.py "$TOPIC" --emit=compact。
- 命名实体话题必须传入 --plan '$JSON'。
格式法则(LAW 1-8)摘要:
- LAW 1:不得在结尾附加 Sources: 块,引擎的 🌐 Web: 行是唯一可见引用。
- LAW 2:GENERAL/NEWS/PROMPTING/RECOMMENDATIONS 查询不得自造标题行,正文首行为 What I learned:;COMPARISON 查询例外,需使用 # {TOPIC_A} vs {TOPIC_B}: What the Community Says (/Last30Days)。
- LAW 3:不得使用 em-dash 或 en-dash,改用带空格的单连字符。
- LAW 4:正文不得使用 ## 或 ### 章节标题;COMPARISON 查询例外,需使用 ## Quick Verdict、## {Entity}、## Head-to-Head、## The Bottom Line、## The emerging stack。
- LAW 5:必须原样包含引擎页脚(✅ All agents reported back! emoji-tree 块),位于 KEY PATTERNS 之后、邀请语之前。
- LAW 6:不得在正文中输出原始排名证据簇(## Ranked Evidence Clusters、## Stats、## Source Coverage),需转化为散文综合。
- LAW 7:推理模型自身即规划者,命名实体话题必须传 --plan。
适用场景
- 了解某话题近 30 天内的社区真实讨论与互动情况。
- 对两个或多个实体进行社区观点对比(COMPARISON 查询)。
- 需要跨 Reddit、X、YouTube、TikTok、Hacker News、Polymarket 等多来源汇总近期声音的研究任务。
限制
- 该技能有严格的输出契约,禁止即兴发挥;违反 LAW 会导致输出无效。
- 必须从规范缓存路径加载 SKILL.md,否则可能读到过期版本。
- 命名实体话题必须由推理模型生成 --plan,否则为 LAW 7 违规。
- 关于收费、价格、平台支持范围、具体效果等事实,资料中暂未提供。