wjs-polishing-x-engagement
把一条平淡的中文 tweet/推文/帖子改写成"有真实事实支撑 + 带互动钩子"的高参与度版本,每次给 2-3 个不同钩子的版本,风格务必短、白、口语。只要用户贴出一条中文 tweet/推文/微博/帖子,并提到"润色""改写""优化""让它更有互动""涨互动""涨粉""提高回复""帮我把这条发得更好"等任何意图,就使用本 skill——哪怕用户没明确说"用 skill"。也适用于把某个观点/事实/日常做成"忍不住想回答"的提问帖或填空帖时。
git clone --depth 1 https://github.com/jianshuo/claude-skills /tmp/wjs-polishing-x-engagement && cp -r /tmp/wjs-polishing-x-engagement/wjs-polishing-x-engagement ~/.claude/skills/wjs-polishing-x-engagementSKILL.md
# Tweet Engagement Polish(中文推文互动化改写) 把一句平淡的话,变成读者忍不住接话的一条推文。两件事叠在一起就行:**一个真事实**(可信、有料)+ **一个钩子**(留个缺口让人补)。 ## 风格铁律:短、白、日常 ⚠️ 最重要 这是最容易翻车的地方,优先级最高: - **越短越好。** 一条推文最好一两句读完,能删的字一律删。长 = 劝退。 - **说人话。** 日常口语,像微信里跟朋友讲话。不用书面腔、文艺腔,不堆形容词。 - **不煽情、不上价值、不排比。** 别"走心""恍如隔世""那一下的心跳"这种文青腔。平淡日常的事就平淡地说。 - **钩子直给。** 想问就直接问,别绕弯子铺垫。 正反对照(同一条虹桥怀旧帖): - ❌ 太文青:「变的是机场,没变的是走出航站楼那一下的心跳。」 - ✅ 短而白:「那会儿这还是上海唯一的机场,浦东 1999 年才开。你第一次坐飞机去哪儿?」 ## 工作流程 ### 第 1 步:抓核心 原文到底想说什么?找出那个可以被一个**真事实**坐实的点(一个观点、一种感受、一个人/事/地)。 ### 第 2 步:联网查一个真事实 ⚠️ 必做 整条推文的可信度全靠这个事实是真的。 - 用 `web_search` 查一个**具体到能核实**的事实:确切年份/数字/人名/地名、"第一/最后/唯一"、纪录、反常识的真相。 - 优先挑反常识或大家"似懂非懂"的——最容易勾起"我知道!"或"真的假的?"。 - **绝不编造、不夸大、不张冠李戴。** 查不到就换角度,或直说"没查到可靠事实"。宁可换角度,也别拿假事实当钩子——那是造谣、毁号。 - 数字、年份、人名落笔前再核一遍。 ### 第 3 步:套不同钩子,写 2-3 个版本 同一个真事实,写 **2-3 个钩子不同**的版本(换的是参与方式,不是换语气)。每版都遵守上面的风格铁律。钩子类型: - **历史规律外推钩(最强)**:用 2 个以上真事实摆出一条暗规律,外推到当下,结论留空让人猜。例:"存储便宜,出了 Gmail;带宽便宜,出了 YouTube。智能便宜,会出什么?" - **提问钩**:抛一个人人都有答案、零成本就能甩一句的问题。例:"你第一次坐飞机去哪儿?" - **填空钩**:挖空一个"答案就在嘴边"的词/数字让人补(挖空的必须是真正确的)。例:"贝多芬写《第九》时已经完全 ___ 了。" - **反常识钩**:先甩一个反直觉的真相,引人反驳或验证。例:"以为 X,其实是 Y。" - **二选一/站队钩**:给两个选项让人选边,比开放回答门槛更低。例:"A 还是 B?报个数。" 不要每版都用同一种钩子;别牺牲原意(是给原话加可信度和钩子,不是换话题)。 ## 输出格式 ``` 【版本 1 · 提问钩】 <推文正文> ↳ 钩子:一句话说明为什么勾人 【版本 2 · 填空钩】 <推文正文> ↳ 钩子:…… ``` 末尾附一行**事实来源**,方便用户核实。 ### 第 4 步:配图提示(有就提,没有就跳过) 带图传播力更强,史实型推文往往正好有经典照片/对照图。产出后判断有没有现成的、画面感强的图(老照片、前后对照、数据图);有就用 `image_search` 找出来给用户,并提醒优先用公共领域来源(国会图书馆、国家档案馆、Wikimedia)、附上出处。没有合适的就别硬凑。 ## 标杆示例 一条真实爆款,也是本 skill 的风格范本(短、白、有事实、有缺口): > 存储便宜,出了 Gmail;带宽便宜,出了 YouTube。智能便宜,会出什么? 为什么爆:两个真事实(Gmail 2004 年 1GB、约 100 倍于竞品;YouTube 2005 年)摆出"成本暴跌→催生时代级产品"的规律,再把结论留空,读者忍不住接话、还能借预测显见识。全程没有一句多余的形容词。 ## 改写示例 **原文(观点型):** AI 越来越便宜了,以后肯定会冒出很厉害的新产品。 ``` 【版本 1 · 历史规律外推钩】 存储便宜,出了 Gmail;带宽便宜,出了 YouTube。 智能便宜,会出什么? ↳ 钩子:真事实摆规律 + 结论留空,接话门槛极低。 【版本 2 · 反常识钩】 Gmail、YouTube 不是靠想法赢的,是踩中了成本暴跌。 这轮暴跌的是"智能",下一个 Gmail 你押谁? ↳ 钩子:打破"靠创意取胜"的直觉 + 站队式开放问题。 ``` > 事实来源:Gmail 2004/4/1 上线、1GB 免费存储(约竞品 100 倍);YouTube 2005 年创立、当年 12 月上线。(发前用 web_search 复核) **原文(日常型):** 忽然感觉刚出虹桥机场,如同 30 年前第一次坐飞机来虹桥。 ``` 【版本 1 · 提问钩】 30 年前第一次坐飞机就是来的虹桥,今天又从这儿出来。 那会儿它还是上海唯一的机场,浦东 1999 年才开。 你第一次坐飞机去的哪儿? ↳ 钩子:用真事实坐实"30 年",结尾"第一次坐飞机"人人有答案,零门槛。 【版本 2 · 反差钩】 30 年前坐飞机还是全家送站的大事。 现在全国一年坐飞机超 7 亿人次,可还有近 10 亿人一次没坐过。 你坐过没? ↳ 钩子:反差数字 + "坐过没"二选一,一秒就能答。 ``` > 事实来源:浦东机场 1999 年 9 月启用,虹桥转为国内为主;全国民航旅客运输量 2024 年超 7 亿人次(民航局);"近 10 亿人没坐过飞机"为 2019 年前后广为流传的估算。 注意这两个示例:**句子都短、都是大白话、没有一句煽情。** 这就是默认风格。 ## 注意事项 - **真实性 > 吸引力。** 事实错了比不够吸引人严重得多。拿不准就查,查不到就不用。 - **短 > 全。** 宁可少说一层意思,也别写长写满。 - **钩子要真低门槛。** 要"扫一眼就能甩一句",不是"想半天才能答"。 - 原文已带具体事实的,优先核实并复用,别另起炉灶。
Repo-wide drift detector for the wjs-* Claude Code skills in this marketplace. Sweeps every SKILL.md, scores it against the repo's own conventions (V-ing naming, trigger-phrase density, companion files, description shape), and returns a grouped punch list ordered by severity. Read-only — never edits files. Use before pushing a batch of skill changes, or whenever you wonder "are these skills still internally consistent?
|
Use when the user asks to audit what's wrong with a project, "make it right", "看看项目出了什么问题", "为什么用户的需求还没上线", "为什么没提交App Store", "为什么没新build", or wants a holistic state-of-the-project check covering unmerged branches, stalled PRs, failed GitHub Actions, stale builds, plan drift (TODOS.md / ROADMAP), unreleased commits, and log errors. Runs read-only investigation, presents a grouped checklist, fixes only after explicit user confirmation. Aware of the Cathier iOS app workflow (Xcode + fastlane + auto-merge @claude PRs from in-app feedback).
Use when the user has a video + an SRT and wants the subtitles either burned into the pixels (libass, always-visible) or soft-muxed as a togglable track. Also handles the final composite step for the localization pipeline — burn subs, mix a dub track, and keep the original audio as a low-volume bed, all in ONE ffmpeg encode (no cascade). Verifies libass availability and auto-downloads a static evermeet ffmpeg build when Homebrew's stripped binary lacks it. Triggers — "烧字幕", "硬字幕", "burn subtitles", "burn-in subs", "embed subtitle", "soft mux SRT", "把字幕烧进视频", "做最终合成".
Use when the user complains about spam on his X/Twitter posts — 同城面付 / 寻固炮 / 线下上门 / 免费破处 这类引流号在他推文下刷的 emoji 垃圾回复 — and wants them removed. Covers the last 7 days (X recent-search window). Triggers — "把这些spam删掉", "清理X垃圾回复", "推文下面好多引流号", "clean spam replies", "/wjs-cleaning-spam".
Use when the user wants a 王建硕-style WeChat article (article.md) turned into a narrated short MP4 video — TTS voiceover via 火山引擎 Volcano TTS, HyperFrames CSS/GSAP animation per scene, subtle SFX, abstract watercolor background, full pipeline rendering to 1080×1920 portrait MP4 (30-90s). Triggers — "把这篇文章做成视频", "做一个解说视频", "讲解视频", "/wjs-converting-text-to-video".
Use when migrating a WordPress site to a Hugo static site on GitHub Pages from a WXR export (.xml) plus the wp-content/uploads folder — preserving /archives/<id>/ URLs, localizing images, and deploying via GitHub Actions. Triggers — "把 WordPress 迁成 Hugo", "wordpress 转静态站", "migrate WordPress to Hugo", "WXR to Hugo", "publish WordPress to GitHub Pages", "/wjs-converting-wp-to-hugo".
Use when the user has a video + a target-language SRT and wants the video to actually speak that language — generates a time-aligned TTS voice dub. Routes by voice ID — Volcano (豆包) TTS for Chinese, edge-tts neural for any language. Defaults to one voice (single-speaker); opt-in multi-speaker via visual diarization. Outputs `*_<lang>_dub.mp4` with the dub audio in place of the original. Final mixing (audio bed + burn-in) is handed off to `/wjs-burning-subtitles`. Triggers — "配音", "中文配音", "Chinese dub", "voice over this", "dub the video", "TTS this SRT", "different voice for each speaker".