metadata-optimizer
Skill1 starsChanged 3 months agoMITView on GitHub
视频与文章的标题/简介/话题(发布元信息)生成与优化。fact card 事实提取 → 分档位候选(数字/问句/反差/后果/克制)→ 7 项清单脚本打分 → 人选定稿 → 平台标题变体写入 metadata.txt → metadata-lint 收口。写标题、起标题、改标题、标题候选、metadata 元信息、简介 digest、话题标签时调用。
1 other project uses a version of this.
Adopted by
Most recently taken up by
- huifer/claude-code-seotheir own version, first seen Jan 4, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- huifer/claude-code-seo★ 110same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository31 other files it gives its agents.
- app-screenshotSkill
- article-multiplatformSkill
- article-quality-checkSkill
- blog-writingSkill
- code-doc-makerSkill
- codemotionSkill
- comment-auto-replySkill
- content-writingSkill
- crawlSkill
- de-ai-smellSkill
- douyin-topicSkill
- drawioSkill
- excalidrawSkill
- media-reviewSkill
- mstodo-topicSkill
- platform-complianceSkill
- post-publish-opsSkill
- remote-loginSkill
- remote-previewSkill
- stock-footageSkill
- talkshowSkill
- tech-topicSkill
- video-analyticsSkill
- video-detail-siteSkill
- video-generationSkill
- video-pipeline-trackerSkill
- video-release-flowSkill
- viral-packSkill
- voice-redoSkill
- wechat-analyticsSkill
- wechat-publishingSkill
The file
Files
metadata-optimizer 标题/简介/话题优化
把「每次手写一条直接发」的发布元信息,变成有方法论支撑的候选→打分→定稿流程。方法论来自 2688 篇标题统计驱动的 qiaomu skill + 平台实证研究(完整来源:blog-src openspec/changes/metadata-optimization/research.md)。
两条铁律(先于一切技巧):
- 事实边界(
references/banned-words.md):素材里没有的事实(刚刚/首个/全球第一/榜单/规模数字)候选不得出现,命中即判废;素材干瘪只出克制档。宁可标题平,不可事实假。 - 人选定稿:本 skill 只生成、打分、给依据,定稿永远是人。人没选之前不写 metadata.txt。
- 禁止标题中使用比喻(2026-10-05 用户令,判例见 video-generation
references/cover-metadata.md「19条病名」上板事故):主标题、平台变体(标题_抖音/B站/公众号)、封面标题与大字 hero 一律禁比喻——每个词的字面意思必须直接成立,判据 = 路人直译(没看过内容的人 1 秒念到的字面义;需转义/需看片才能懂的词即违规)。已转义为日常用法的领域通用词不算比喻(如「廉价感」「模板脸」——目标观众语言里已是直用义);需内容支撑才成立的全片内隐喻(病名/处方/心脏/开工税类)禁入标题。机检不可全判开放比喻,人工按「路人直译」步骤逐词过,候选打分前先写直译。2026-10-08 扩展(openspectitle-opening-optimization):禁比喻扩为「禁比喻 + 禁内部术语」——门禁/管线/生产资产/抓手这类项目内部词,路人直译同样不懂,一律不进标题(换「检查/做法/文件」等日常词);同一候选只打一个冲突点,第二个概念删掉或留给摘要(「标题五查」全文见 blog-writing skill 第 2 步)。
工作流(六步)
① 读素材,提 fact card
输入:文章 slug(content/posts/<slug>.md)或视频 slug(video-generation/build/<slug>/,含脚本/metadata.txt)。提取五要素,缺失就标缺失,不编造:
| 要素 | 问自己 | 例 |
| 核心实体 | 提到什么工具/项目/人? | Codex、DeepSeek Harness |
| 动作 | 观众看完能做什么? | 自动剪视频、配权限 |
| 硬数字 | 素材里核过的数字 | 21 万 Star、6 个 skill、307MB |
| 权威 | 谁背书(开源作者/官方/榜单)? | TypeScript 教父 |
| 利害关系 | 不看会损失什么/对号入座谁 | 白白手动剪片 |
② 对齐账号 DNA
读 references/account-dna.md(生成方式见文末):长度贴近中位 ±30%,高频实体优先复用(本账号被记住的词),问句/数字按题材选。
③ 出 5-7 个候选,分档位
按 references/formulas.md 五档位(数字型/问句型/反差型/后果型/克制型),同档位不重复。每个候选标注:所用档位+技巧、适用平台、素材依据(哪个 fact card 要素)。强度三档(克制 L1/默认 L2/爆炸 L3),L3 仅当素材真有 breaking 级事实。
关键词规则(2026-08-27 定规):候选里的实体一律用可搜索全称(热词)+ 利益/场景长尾词组合(如「DeepSeek Harness 省钱纪律」),缩写只进简介兜底;超字数砍修饰语、不砍全称。规则、实证与 demo 见 references/formulas.md「关键词选择」节。
④ 脚本打分
python <skill目录>/scripts/score_title.py "候选1" "候选2" --platform douyin,bilibili7 项清单(可识别实体/真实数字/清晰动词/后果人群/标点转折/权威钩子/概念包装)满足 ≥4 合格。同时过一遍 "Now you can" 测试(formulas.md 末节):<4 的候选按脚本提示的缺项补要素,不换话题。
⑤ 人选定稿 → 平台变体写入 metadata.txt
人挑出主标题后,产出平台变体(规则见 references/platform-limits.md):
标题_抖音:≤30 字,钩子前 10 字标题_B站:20-40 字,检索词前置——工具名/技术名词放标题前半(B站冷启动期推荐流量近零,分发靠搜索长尾命中,2026-08-31 openspec platform-content-variant-research P1 定规),可带【】标签标题_公众号:(仅文章链路用,front matterwechat_title;2026-09-15 用户定规:视频不发公众号,视频 metadata 不再维护「标题_微信」)摘要变体(wechat_digest)前 40 字含痛点或硬数字,且含 1 个可搜实体词(2026-10-08 增补,openspecwechat-traffic-to-target:关键词三处布局之第三处——标题/首段/摘要同一可搜词)
视频侧连同主标题写进 video-generation/build/<slug>/metadata.txt(中文键,续行规则见 blog-src scripts/pub/meta.py);文章侧公众号变体写源文件 front matter 可选字段 wechat_title / wechat_digest(缺省回退 title / description,发布链路 prepare.py 自动读取)。文章 front matter description 保持 54-120 字三段式(痛点+给什么+数字背书),且前 40 字承担公众号推送打开转化(正文前 54 字会被默认抓去当摘要,不能不管)。
⑥ lint 收口
make metadata-lint slug=<slug>FAIL(硬截断/词中断/结构红线)必须修到绿;WARN(最优长度/话题配比/断句丢钩子)看建议酌情改。正式发布 make pub-video 会自动再跑同一门禁。
用户标题喜好(2026-09-12 定规,FDE 选题三轮迭代实测沉淀)
观众利益视角 > 信息悬念视角。判例(同选题三轮,前两批被否):
- ✗「年薪 75 万的 FDE 没人科班?我拆了 1000 份招聘 JD」——作者视角炫实证,信息平铺像新闻标题
- ✗「年薪 75 万的 AI 岗位,招聘要求里居然零论文」——悬念钩在内容侧,观众利益不直给
- ✓「不卷算法,年薪百万:程序员最容易够到的 AI 岗位」——观众视角三件套全中
出候选时优先满足(按此打分排序,与传统七项清单叠加):
- 痛点排除 + 利益承诺 + 可达性三件套:「不卷 X,年薪 Y:Z 最容易够到的 W」
- 目标人群身份词进场(程序员/后端),观众 3 秒自我代入
- 高薪直给不拐弯:人民币口径优先于美金(百万/月薪 N 万 × N 薪 > $XXX K)
- 主副结构:冒号前利益对比(放弃什么/得到什么),冒号后主体
- 「我拆了/居然」类作者视角词降权使用——实证放简介,标题留给观众利益
权威建议视角(2026-09-13 定规,vibe-coding-cards 标题三轮迭代沉淀):在观众利益之上,用户明确偏好「专业人士建议」口吻——工程师/带过团队的技术总监等经验权威身份给建议,判例 ✓「带过团队才敢说:vibe coding 这么用才出产品」(三轮终选)。出候选时给 1-2 个权威建议视角变体:「工程师建议你这么用 X」「带过团队才敢说:X」。身份词必须有真实背书(作者 persona 支撑,如技术总监 offer 实录),不得凭空自称。
语法完整性定规(2026-09-16 事故沉淀):长标题压缩成平台短变体时,只能砍修饰语(「这」「你做出来的」类),不能砍连接主体与结局的谓语动词。判例 ✗「5 条提示词,玩具还是产品」——主副结构两段各存,但「提示词」与「玩具/产品」之间丢了「决定」,句子塌成两个并列名词块;✓ 修正「5 条提示词,决定是玩具还是产品」。压缩后默读一遍:两段之间必须有动词/判断词承接,否则判废重压。事故放大器:坏变体不是只在文档里——它曾随旧 build 进了公众号定时卡载体副本,草稿箱里后来改好标题也不回写载体,险些带病发出(2026-09-16 实录:9/17 卡 msgid=1000000140 携旧坏标题,撤卡重挂修复)。定规:变体字段改动后,凡该稿已挂定时卡,必须走「重推草稿→cancel_time_send 撤旧卡→新稿重挂同槽位」三步,并经首页 timesend_msg 核验载体标题才算修完。
简介与话题
- 简介首句用三拍:当前不适 → 更好愿景 → 行动路径(formulas.md「简介首句」);结尾互动问题 + 原文链接(video-generation SKILL.md 已定规)。
- 系列化一致性(2026-08-27 抖音后台建议落地):技术解析类持续做系列——系列名、合集、核心话题标签跨作品严格一致(同词同序),账号标签权重随系列集数累积,搜索流量占比持续上涨。命名格式统一(如「Codex 源码深读 EP.N · 主题」),候选标题优先复用系列主词;
话题:字段每期保留 1 个系列锚点词(lint 话题配比可识别)。单条爆款带不动账号权重,系列才带得动。 - 合集追更钩子(2026-08-30,openspec collection-data-conversion):系列视频(标题带 EP 期号)
简介:与置顶评论:备稿至少一处带站内合集导流句,模板:「本系列全集已收录合集《AI 编程实战课》,收藏追更不迷路」——合集名用平台侧现名,跨平台严格一致。合集是搜索/主页之外的第三入口,追更订阅(subscribe_count,2026-08-30 抓包实证有此字段)是合集特有转化位;抖音站内合集指路不触简介外链红线(红线只禁站外链接)。lint 识别项:系列视频两处都缺 → WARN「合集钩子」。
话题推荐(第 ⑤½ 步,写 话题: 字段前跑)
python <skill目录>/scripts/topic_suggest.py --slug <slug> # 读 build/<slug>/metadata.txt
python <skill目录>/scripts/topic_suggest.py --theme "Codex 自动剪辑"输出按 大词 / 长尾 两组、总数 3-5(1 大词 + 2 长尾核心 + 最多 2 长尾补位),每组标来源依据(方向词表命中 / 实体×场景组合),完全本地计算、无外部查询。人确认后写入 话题: 字段;注意抖音/快手话题上限 4 个。长尾后缀词表与 blog-src lint 的 LONGTAIL_MARKERS 同步——推荐器产出的长尾必被 lint 识别。
维护
references/account-dna.md过时重生成:python scripts/account_dna.py --write --blog-root <blog-src 路径>- 打分口径/词表改动:
python scripts/score_title.py --selftest必须过 - 反哺接口(预留未实现):
account_dna.py::load_title_retention_pairs()是标题特征×完播/互动的配对入口,video-analytics 覆盖 ≥30 支已发视频后填实现,届时 P75 共性块从「样本不足」转自动结论、score 清单按实证加权 - 产物(候选清单/fact card)存本 skill
.tmp/,不进 blog-src
事实边界自查清单(候选产出后逐条过)
- 每个数字都能在素材里指到出处
- 无「刚刚/首个/全球第一/榜单名」类凭空声明
- 无结构红线词(凭什么/打赢/吊打/杀疯了/官方口吻)
- 素材干瘪时只出了克制档
- 人做了定稿选择,skill 没有替人选
热词与长尾定规(2026-09-17 用户定规):视频/文章标题(含各平台变体)必须齐四件——① skill 关键词字样("skill" 一词本身,AI 编程 niche 热词);② skill/工具具体名称(如 ponytail、i-have-adhd,具名实体红线叠加);③ 热词(Claude Code / AI 编程 / AI 写代码 等当下高频词);④ 长尾检索词(场景+动作组合,如「教 AI 少写代码」「AI 回答废话多」,与 B站检索词前置规则叠加)。抖音宽度因 ①② 超 20 最优线但 ≤30 硬上限时可接受 WARN,不为塞词砍 skill 名称。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

