Summary
真人口播①选题决策主写者;从 AIHOT 与已安装 OpenCLI 的当前信号生成观点/教程候选,核对小白受众承诺、抖音语义对齐和 PRIMARY 原始来源后,只选一个可生产且可复盘的主题。Use when 用户说"抓热点""AI热点""找选题""选题""今天做什么""redian",或 bianpai…
hanzhcn/laohan-skills
真人口播①选题决策主写? OpenCLI 的当前信号生成观点/教程候选,核对小白受众承诺、抖音语义对齐和 PRIMARY 原始来源后,只选一个可生产且可复盘的主题。Use when 用户说"抓热点""AI热点""找选题""选题""今天做什么""redian",或 bianpai 路由到①;单独搜抖音时改用 laohan-douyinsousuo。
npx skills add hanzhcn/laohan-skills --skill laohan-redian
真人口播①选题决策主写者;从 AIHOT 与已安装 OpenCLI 的当前信号生成观点/教程候选,核对小白受众承诺、抖音语义对齐和 PRIMARY 原始来源后,只选一个可生产且可复盘的主题。Use when 用户说"抓热点""AI热点""找选题""选题""今天做什么""redian",或 bianpai…
Other skills from hanzhcn/laohan-skills · top by installs.
npx skills add hanzhcn/laohan-skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Bash(*), Read, Write, Glob, GrepFiles included with this skill beyond the listing page.
SKILL.md
15,843 B
SUMMARY.md
414 B
热点只用于发现,最终结果是一个可审计的生产决策:为什么现在做、给谁看、论点凭什么成立、抖音上有哪些重复角度、为什么淘汰其他候选,以及发布后如何按固定窗口复盘。
00-选题.*。laohan-douyinsousuo 只写 00-抖音搜索证据.{json,md};同一 Agent 宿主按 bianpai 路由执行,不做 programmatic skill-to-skill 调用。Episode 模式必须读取:
episode-config.json 与 00-编排/ 冻结产物。NOT_AVAILABLE,不得扫描旧 episode 猜经验。标准 Episode 固定为 REVIEWGATED:AI自主完成发现与候选,但不得替Jeffrey选中。Jeffrey 明确给题时走 USERSEED,仍须给出至少一个真实替代候选、抖音取证、PRIMARY 证据和测量合同;最终同样经过情绪与表达欲筛选。
Jeffrey给出的是软件、方法或系列方向时,先走USERDIRECTIONRESEARCH:读取项目docs/系列选题研究与分期规格.md,完成四平台定向搜索、内容级拆解、需求判断、系列分期和单期资料包。它不运行与方向无关的9账号泛扫描来凑热度。只有DEMANDVALIDATED可进入三期以上系列,EXPERIMENTALONEOFF只进入单期,DIRECTIONREJECTED停止。正式episode仍须提供替代候选并经过Jeffrey情绪筛选。
先写00-选题-signals.json.discoverymode:无方向为AUTONOMOUSSCAN;Jeffrey已给方向为USERDIRECTIONRESEARCH。后者把已通过node scripts/check-series-research.mjs的seriesresearchpath与SHA写入directionresearch,并把哔哩哔哩、小红书、抖音、知乎四路结果分别登记为signals来源。DEMANDVALIDATED至少两个平台有真实需求信号;EXPERIMENTALONEOFF只按研究包内已验证的官方新事件、Jeffrey亲历或小众任务依据进入单期,不强制伪造两个平台热度。
Episode 模式执行唯一确定性入口:
node ~/Documents/laohan-skills/laohan-redian/scripts/collect-topic-signals.mjs \
--episode episodes/<slug>
AUTONOMOUSSCAN候选源固定为三条线:9个登记抖音对标账号逐账号近期扫描、全面热点扫描、script-pool/Jeffrey个人表达池.md。默认发现与展示优先级为BENCHMARKCREATOR(1) > BROADHOTSPOT(2) > PERSONALEXPRESSION(3);这是找题效率顺序,不是自动入选分数,个人题仍可在获得公共兴趣证据后胜出。全面热点默认 route 为 AIHOT、Hacker News、知乎、微博、36kr、B站、抖音热榜、头条、贴吧和虎扑;某一路失败如实记录,其他热点路继续,但9个对标账号任一失败都停止候选生成,正常空结果记EMPTY且算完成。需要缩小热点route时才传 --sources,不能借此跳过对标账号和个人池。
脚本只写:
00-选题-signals.json00-选题-source-health.json脚本不选题、不访问旧 episode、不调用 douyin-ai.js。
读取 signals,按稳定 signal id 聚类同一事实事件;排除同 URL/同承诺/同路径的重复表达。对标账号只提炼母题、公众需求和异常信号,不复制标题、文案、案例或结论。同一事件只有在“帮观众作判断”和“带观众完成任务”分别成立时才生成两个形态。写 schema 3 00-选题-candidates.json,先用顶层 screeningsummary 留下筛选链路,再写至少两个真正不同的短名单候选。screeningsummary 只包含:
rawsignalcount:signals 中实际结果总数;eventclustercount:去重后的事件簇总数。longlist:有效事件足够时记8—12条,不足8条时全部记录。每条含唯一 eventclusterid、workingtitle、非空 signalids、正整数 source_count、disposition: SHORTLISTED|REJECTED 和具体 reason。eventclusterid 都必须在 longlist 中标 SHORTLISTED。不新增中间文件、额外节点或第二套打分器。同一事件的观点/教程变体在受众任务、标题承诺和内容路径不同时可分别计数。每项必须有:
形成候选前恢复原版分析:以“AI/GPT/Claude/大模型/机器人/自动化/编程/副业”等直接词和“教育/职业/消费/创业/职场”等间接词标注相关度,但保留可能产生新角度的边缘信号;统计安装教程/进阶技巧/方法论/对比评测/实战/资源推荐等内容类型;标出多平台共振、单平台独有、已拥挤角度和竞品未覆盖机会。它们用于扩大候选,不替代后面的 PRIMARY 与抖音关键词核验。
id、稳定非空 eventclusterid、非空 whynow、title、contentform: opinion-video|tutorial-video、audiencelevel: BEGINNER|INTERMEDIATE|ADVANCED、audienceproblem、audience_promise、thesis。candidateorigin 必须登记 primarylane、对应的 priorityrank、非空 originsignalids 与 corroboratinglanes。交叉印证可以提高可信度,但不能把个人表达来源伪装成对标爆款来源。tension 必须登记 type: CONFLICT|MISCONCEPTION|COUNTERINTUITIVE|TRADEOFF、commonassumption、jeffreyposition 和一句可由正文兑现的 conflict_statement。只写领域名、产品发布或“值得关注”不算候选。creatorfit 必须写清 basis: FIRSTHANDEXPERIENCE|BUILTORTESTED|OWNEDEVIDENCE|LONGTERMPRACTICE|RESEARCHEDJUDGMENT|NOTESTABLISHED、whyjeffrey 与 distinctivejudgment。它回答“为什么由 Jeffrey 讲、他的依据是什么、相比通用复述多了什么判断”。SELECTED 不允许 NOTESTABLISHED;没有亲历时可以使用 RESEARCHED_JUDGMENT,但必须形成有证据边界的独立判断,不能把“我也关注了”冒充个人优势。assumedprerequisites 与 jargontoexplain 字符串数组。BEGINNER 候选必须把标题和论点里的关键工具、命令、迁移/导入概念列入解释清单,不能只提高 audiencefit 分。signalids 和 evidenceids。platformqueryintent;platformalignment 含 status: ALIGNED|ADJACENT|CONTRADICTED|UNRESOLVED|UNAVAILABLE、非空 rationale 和 evidenceids。有平台结果时 evidence ids 必须真实;平台访问失败时写 UNAVAILABLE 和空数组。contentgap 含 status: CONFIRMED|NOTCONFIRMED|UNAVAILABLE、非空 rationale 和 evidence_ids。只有平台直接提供搜索量、供给或缺口证据时才能写前两种;搜索结果条数、互动字段缺失或模型判断一律不能冒充内容缺口。UNAVAILABLE 合法且不参与机械淘汰。claimevidencemap;每条含唯一 claimid、非空 claim、evidenceids。它要把技术事实绑定 PRIMARY;平台证据可用时,把“平台有人关心什么”绑定 PLATFORMSIGNAL,不能让相邻关键词替另一个论点背书。平台 UNAVAILABLE 时不虚构 PLATFORMSIGNAL claim。scorecard 七维整数 1—5:audiencefit、evidencestrength、platformrelevance、differentiation、creatorfit、productionfeasibility、learningvalue。rationale。Jeffrey筛选前全部使用 disposition: AWAITING_JEFFREY;AI只展示候选、证据与风险,不得直接SELECTED。分数是可挑战的候选比较,不是流量预测。热度不能替代受众价值、证据强度、差异化或可拍性。SELECTED 可为 ALIGNED、有明确差异化解释的 ADJACENT,也可在 discovery 与 PRIMARY 充分时为如实说明缺失范围的 UNAVAILABLE;平台缺失降低 platformrelevance 置信度,但不能单独淘汰候选。CONTRADICTED|UNRESOLVED 不得入选。教程候选写成确定步骤前仍必须在 tutorialproof 登记 status: VERIFIED、本期内 evidencepath、evidencesha256、非空 version_boundary 和 recovery。
为 1—3 个短名单各设计一个具体查询,交同一宿主执行 laohan-douyinsousuo episode 模式。必须得到 00-抖音搜索证据.json 与 .md 后才继续。
OK:引用真实结果 id,写清查询实际证明的观众意图。直接支持候选标题承诺、受众任务和 why_now 时标 ALIGNED;只支持同一产品、迁移热度或相邻概念时标 ADJACENT。优先补充更直接查询,但不因缺少完全同标题内容自动淘汰差异化新角度。EMPTYORFIELD_UNAVAILABLE:只写“平台证据未决”,不得写“无人做/蓝海”。platformalignment 与 contentgap 标 UNAVAILABLE;只要 discovery 与 PRIMARY 足够,继续比较,不把平台缺失当卡点。对最终候选的事实前提查找官网、官方公告、论文、产品文档或原始公开记录。平台热榜、搜索结果、媒体转述只能是 PLATFORM_SIGNAL 或 SECONDARY。
把 PRIMARY 与 PLATFORMSIGNAL evidence 写入候选文件;每条有稳定 id、source、sourcetype、url、retrieved_at。缺 PRIMARY 时缩窄论点为可证范围;仍无法成立就换候选或 BLOCKED。
候选完成后进入WAITINGFORJEFFREYEMOTIONSELECTION。一次展示3—5个候选,要求Jeffrey基于真实第一反应选择一个,或明确选择“全部无感”。
firstreaction、challengeoraddition、firsthanddetail、wouldsaywithout_heat=true。先把唯一候选改为SELECTED、其余改为REJECTED,再写schema 1 00-选题-Jeffrey筛选.json绑定当前候选SHA和唯一候选ID。status=REJECTEDALL,绑定当前候选SHA,并记录rejectionreason、strongestnearmiss和rescandirection。进入TOPICRESCANREQUIRED,在同一01任务回到三路扫描;不得勉强SELECTED、生成最终选题或进入②。新一轮候选替换旧候选前,必须把这四项与旧候选SHA原样写入新00-选题-candidates.json.screeningsummary.rejectionhistory[];validator据此从TOPICRESCANREQUIRED切回WAITINGFORJEFFREYEMOTION_SELECTION。最终接受记录可以覆盖筛选文件,但否决历史继续保留在候选文件中。没有SHA闭合的Jeffrey记录,不得生成最终选题。
更新 00-选题-source-health.json,每路记录:
sourceid 与 sourcerole: DISCOVERY|BENCHMARKCREATOR|PERSONALEXPRESSION|DOUYINSEARCH|PRIMARYPROOF。schema 3必须保留后两条本地发现角色;个人表达池允许EMPTY,对标账号只允许完整扫描后的OK|EMPTY。commandorurl、attemptedat、status、resultcount。resultfile 与真实 resultsha256。error;SKIPPED 写 reason。状态必须一致:OK 条数大于 0,EMPTY/FAILED/SKIPPED 条数为 0。至少一条 DISCOVERY 为 OK、一条 DOUYINSEARCH 有真实尝试记录、一条 PRIMARYPROOF 为 OK;DOUYIN_SEARCH 可以 FAILED,但必须绑定本期抖音证据文件与原始错误。
写 schema 3 00-选题.json,保留原schema 2字段并绑定Jeffrey选中的候选。最后执行:
node ~/Documents/laohan-skills/laohan-redian/scripts/check-topic-contract.mjs --episode episodes/<slug>
只有输出PASS redian topic contract schema=3才算①完成。
schemaversion: 2、selectedcandidateid、非空 rejectedcandidate_ids。contentform、audiencelevel、audiencepromise、creatorfit、assumedprerequisites、jargontoexplain、platformqueryintent、platformalignment、contentgap 和 claimevidence_map。audience、thesis、evidence、selectionrationale、notdo_reason。platformalignment.status=UNAVAILABLE 时可没有。metrickeys、正整数 T+N、observationwindowunit: DAY 和逐键 metrictargets。每条 metric target:
{
"key": "avg_duration_sec",
"direction": "INCREASE",
"baseline_ref": "recent_5_median",
"measurement_source": "douyin_creator_center"
}
最后写 00-选题.md,只解释机器合同里的真实决策,不新增未登记事实。
| 触发条件 | 处理 |
|---|---|
| 单一 discovery source 失败 | 记录 FAILED;其他来源满足角色合同可继续 |
| 所有 discovery source 无结果 | BLOCKED,不凭模型记忆选题 |
| 抖音返回合法空数组 | 记录 EMPTY;不得推断没有竞争 |
| OpenCLI 登录/adapter 全路径失败 | 平台证据记 UNAVAILABLE 并继续;不安装替代爬虫,不推断蓝海 |
| 最终候选无 PRIMARY | 缩窄论点或换候选;仍无则 BLOCKED |
| Jeffrey对全部候选无感 | 写REJECTEDALL并进入TOPICRESCAN_REQUIRED;按否决原因重新扫描,不进入② |
| 平台结果只支持相邻话题 | 标 ADJACENT,补充查询;仍相邻时如实说明差异化与风险,可参加最终比较,不得冒充直接对齐 |
| 教程候选没有本机真实执行证据 | 保持 REJECTED;可保留为待验证候选,不能写成教程已可交付 |
| 候选不可在既有⑬指标测量 | 换 intervention/metric 或换候选 |
❌ “三个平台都热,所以就做这个。”
✅ “候选 C02 同时解决目标受众问题,PRIMARY 支持事实前提,抖音证据显示现有内容集中在功能介绍,本期以真实工作流代价形成差异;C01/C03 因证据弱或不可拍被淘汰。”
❌ “抖音有人搜 Claude Code 迁移,所以能证明‘验证闭环’是当前平台需求。”
✅ “该结果只证明迁移/导入需求,标 ADJACENT;继续搜索验证失败、上线回归等直接意图。若仍无直接结果,可把‘验证闭环’作为差异化观点参加比较,但明确平台证据只支持相邻需求。”
❌ “搜索 0 条,所以这是蓝海。”
✅ “搜索执行成功但返回 0 条,记为平台证据未决,不据此判断竞争度。”
用户只要热点简报时,可以执行同一采集脚本到临时目录后返回当前信号摘要;不写 episode 真源。用户只要搜抖音时直接路由 laohan-douyinsousuo。