一览表
| Skill | 用途 | 输入 | 输出 |
|---|---|---|---|
| scrape-static-website | 把整个网站抓取归档为 Obsidian Markdown 库(含截图与图片资产) | 网站域名 / sitemap.xml | pages/*.md + assets/ + screenshots/ + sitemap.md |
| page-to-react | 把 mkbayarea.com 任意页面转成 React 数据文件 + 组件模板 | 页面截图 + URL | lib/<category>/<slug>.ts + components/<category>/<Name>Page.tsx |
| apply-content-edits | 把 Cindy 在内容编辑器里改好的 Markdown 批量回写到 React 站点源码 | react-app/content-edits/*.md |
更新后的 lib/**/*.ts / *.mdx / 路由 TSX 文件 |
| realtor-site-builder | 为新经纪人从零生成整套中文房产网站内容包(8 步流程) | 经纪人问卷 / 现有网站 / 访谈 | <brand-slug>/ 完整内容目录 + design-system.html + sitemap.html |
| chanscribe | 抓取视频源(单视频/播放列表/整频道)并用 FunASR 转录为 Obsidian 中文笔记库 | 任何 yt-dlp 支持的视频链接 | Vault/ 转录笔记 + video_list.csv + RawMedia/*.mp3 |
| cindy-longform-script | 为 Cindy Wang 团队写 10–13 分钟中文知识型长视频主脚本(只讲数据、软性转化) | Campaign brief(选题/痛点/Freebie/CTA) | 单个 *.md:标题封面 + Hook + 5段正文 + 软广位 + CTA + 数据来源核对表 |
| cindy-shorts-clips | 把 campaign/长视频拆成一组(通常 5 条)60–90 秒竖屏短视频逐字稿 | 长视频主片 / campaign brief | 单个 *.md:5 条逐字稿(钩子/时间戳/漏斗分工/CTA)+ 运营对照表 |
scrape-static-website
网站归档本仓库的核心 skill。将一个网站的全部页面归档为 Obsidian Flavored Markdown(含 YAML frontmatter、整页截图、下载的图片资产),从 sitemap.xml 自动发现 URL,5 页一批并行抓取,并维护 sitemap.md 进度表(✅/⬜)。仓库中 websites/ 下的 7 个站点归档均由它产出。
触发词
工作流
- 发现 URL —
curl sitemap.xml提取全部链接,过滤标准排除项(/privacy、/terms、/videos/*、/en/*)。 - 生成 sitemap.md — 按板块分组的状态表,⬜ 待抓 / ✅ 完成。
- 并行抓取 — 两段管线:
scrape-page.js(Puppeteer 渲染 → JSON)→gen-md.js(JSON → Obsidian MD),5 页一批,批间自动续跑并打印进度条。 - 回写状态 — 全部完成后将 sitemap.md 中的 ⬜ 更新为 ✅。
单页命令
node .claude/skills/scrape-static-website/scripts/scrape-page.js \ "<url>" "<project-root>" 2>/dev/null \ | node .claude/skills/scrape-static-website/scripts/gen-md.js "<project-root>"
/tmp/pptr-shot/node_modules/puppeteer。针对新站点通常需微调 gen-md.js 里的 tagsForPath()(URL→标签映射)和 stripNavFooter()(导航/页脚清理规则)。page-to-react
React 重建给它一张页面截图 + URL,它把 mkbayarea.com 的任意页面转成两个文件:类型化的 TypeScript 数据文件(全部文案作为常量,品牌名替换为 [Brand Name] 占位符)+ 复刻视觉布局的 React TSX 组件。服务于 react-app/app/site-mkbayarea/ 的 React Router v7 重建。
触发词
工作流
- 解析输入 — 从 URL 推导 slug,定位本地 HTML 源:
websites/mkbayarea.com/html/<category>/<slug>.html。 - 双源提取 — 并行解析 HTML 文本结构与截图视觉版式,交叉校验(不一致时以 HTML 为准)。
- 映射类型 — 按视觉模式对照表映射到
HeroData/Stat[]/Step[]/Faq[]/CtaData等共享类型。 - 写数据文件 —
lib/<category>/<slug-leaf>.ts,中文文案逐字保留、不截断。 - 写组件 —
components/<category>/<Name>Page.tsx,复用components/shared/sections.tsx的共享原语(PageHero、StatBand、FaqSection…),CSS 只用mk-*类名。 - 汇报 — 文件路径、各节数量、HTML 与截图的差异、需要补进 globals.css 的新类。
lib/shared-types.ts 和 components/shared/sections.tsx 作为规范参照。品牌与人名一律替换成 [Brand Name] / [Realtor Name 1] 占位符。apply-content-edits
内容回写Cindy 用 content-editor 网页应用编辑页面文案后,会产出 react-app/content-edits/*.md(每个 URL 一个文件,每个可编辑字段带 <!-- field.path | 标签 --> 锚点)。此 skill 将这些改动 diff 后批量回写到真正的站点源码。
触发词
工作流
- 枚举 — 找出所有
status: pending的编辑文件并报给用户。 - 解析 — 读 frontmatter(data_file / kind / slug / family),按锚点切出
{ path, value }对。 - 回写 — 按
kind分三路:
· ts → 按点路径(如faqs[2].answer)在数据文件里精确字符串替换,只改变化了的字段;
· mdx →body锚点整体写入content/knowledge/<slug>.mdx,meta 字段回写lib/knowledge/meta.ts;
· tsx → 按索引锚点(text[0]…)替换路由文件中第 i 个中文字符串字面量。 - 验证 —
pnpm --filter site-mkbayarea typecheck,修好自己弄坏的东西。 - 标记 + 汇报 — frontmatter 改为
status: applied,报告每个文件改了几处、哪些需要人工裁决。
websites/mkbayarea.com 归档。字段路径在源码中已不存在时不猜测、直接上报。realtor-site-builder
新经纪人建站以 mkbayarea.com + jingxuehomes.com 为模板,为新经纪人从零生成完整中文网站内容包:结构化 Markdown 页面目录(买房/卖房/市场行情/学区指南/知识库/案例库)、可视化 sitemap.html、design-system.html。8 步流程,每步与客户确认后再继续(步骤门控)。
触发词
八步流程
| 步骤 | 内容 | 产出 |
|---|---|---|
| 1 | 收集经纪人资料(Fillout 问卷 / 现有网站抓取 / 社媒),生成 5 个目标客户画像 | realtor-profile.md(10 区块) |
| 2 | 服务区域勾选 — 强制门槛,城市清单直接决定后续生成哪些子页 | 目录结构 + 十三、服务区域覆盖 |
| 3 | 确认品牌风格(4 套预设配色可选),生成设计系统 | design-system.html |
| 4 | 生成 sitemap 骨架(10 区块,1–3、10 填实,4–9 留空) | sitemap.html + update-sitemap.py |
| 5 | 按选定城市逐城生成买/卖/市场/学区页 | pages/buy|sell|market|schools/ |
| 6 | 知识库 ≥6 篇 + STAR 格式案例 ≥4 个 | pages/knowledge|cases/ |
| 7 | 运行 python3 update-sitemap.py 回填六大内容区块的文件数与文章链接 | sitemap 徽章同步 |
| 8 | 品牌污染扫描(grep 模板品牌残留)+ 一致性审计 | 完成清单 |
[待补充]);画像贯穿买卖页结构、知识库选题与案例;每步结束必须请客户确认。参考资料在 references/(profile-schema / sitemap-structure / content-templates / area-data)。chanscribe
视频转录把一个视频源(单视频、播放列表或整个频道——任何 yt-dlp 支持的网站)抓取并转录为带 YAML frontmatter 的 Obsidian 中文笔记库。中文内容用本地 FunASR(paraformer-zh)而非 Whisper。幂等设计:已有音频/字幕/笔记自动跳过,可放心重跑做增量更新。仓库中的湾区房产视频库(Kevin Mo / Marie Wang 频道转录)即由它产出。
触发词
三种模式
| 模式 | 做什么 | 脚本链 |
|---|---|---|
fetch | 拉视频清单 CSV + 下载 mp3 + 尝试下载官方/自动字幕 | 00 → 01 → 02 |
transcribe | 对无字幕视频跑 FunASR,清洗成 .md 并按「日期_标题」重命名 | 00 → 03 → 04 → 10 |
all | 抓取 + 转录一条龙 | 00 → 01 → 02 → 03 → 04 → 10 |
调用前需确认的参数
- --source-url — 视频/播放列表/频道链接(单视频与频道走同一套命令,无需预判类型)
- --source-name — 本地文件夹名(英文+下划线)
- --project-dir — 项目根目录,脚本在其下建
Vault/和RawMedia/ - --source-display — frontmatter 展示的来源名(transcribe/all 需要)
python3 .claude/skills/chanscribe/scripts/01_fetch_source.py \ --source-url "https://www.youtube.com/@xxx/videos" \ --source-name "XXX_Channel" \ --project-dir "/path/to/project"
nohup … & 后台跑并轮询真实 PID。cindy-longform-script
长视频脚本Cindy Wang 湾区房产团队专属的长视频主脚本写作工具。为面向旧金山/硅谷科技高收入中文家庭(RSU 重仓、买房/换房/置换)的 10–13 分钟知识型视频产出完整脚本。核心定位:只讲数据不讲故事、专业靠谱、软性转化。动笔前先通读范例 references/example-sell-stock-script.md,结构、语气、颗粒度一比一对齐。
触发词
工作流
- 解析 Campaign Brief — 提取 5 个内容主题(对应 5 个 Part)、Freebie 名称与扣词;第三方品牌统一归到 Cindy Wang 团队;无 brief 先确认选题/人群/Freebie/扣词。
- 数据核实(不可跳过) — 所有关键数字先 web search 核实:税务 → IRS/加州 FTB/EDD;房价 → MLSListings/C.A.R./Redfin;利率 → Freddie Mac PMMS;每个数字记录「数值 + 机构 + 日期 + URL」。
- 按固定结构写作 — 六大部分:①标题与封面(三选一)②主脚本(反直觉数据开场 Hook + 5 Part 正文 + 🔸4 处软广位 + 复盘 CTA)③5 条短视频拆条规划表 ④Freebie 大纲 ⑤数据来源清单(含链接)⑥团队运营标签。
cindy-shorts-clips 拆条。cindy-shorts-clips
短视频切条Cindy Wang 团队专属的竖屏短视频切条文案工具。产出 60–90 秒竖屏逐字稿,通常一组 5 条,配合一支长视频主片构成一个 campaign 的内容矩阵。两份范例(动笔前通读、格式一比一对齐):references/example-cruel-truths-clips.md(市场分析向)与 references/example-sell-stock-clips.md(税务规划向)。
触发词
单条逐字稿结构(时间戳分段)
- 0–3 秒 钩子 — 屏幕大字(挑衅句/反差等式)+ 口播直接制造冲突,禁止「大家好我是 XX」开场。
- 3–25 秒 展开 — 2~4 个加粗数字,每个带
> 【字幕:来源 机构,日期】引用块。 - 25–50 秒 干货核心 — 机制解释或编号实操步骤。
- 45–70 秒 案例/反转 — 代价故事(⚠️发布前替换真实案例)或视角反转。
- 结尾 金句 + CTA — 可复用金句 → 「我是 Cindy Wang + 定位句」→ 单一 CTA。
漏斗分工(一组 5 条必须覆盖)
| 角色 | 定位 | CTA |
|---|---|---|
| ⭐投流款 ×1 | 数字最炸、离痛点最近 | 挂主 Freebie 扣词 |
| 涨粉款 ×1 | 话题性最强、离交易最远 | 不挂钩子,关注 + 预告下条 |
| 促转化款 ×1 | 离成交意图最近 | 直接约免费咨询 |
| 细分定向 ×2 | 换房业主 / RSU 重仓等 | 独立扣词分流线索 |