Skip to content
Back to skills

Oracle Apprentice

ASecurity

拜师拆稿——分析对标博主/想学的稿子的撰写方式与表达方法(钩子/节奏/金句/结构/术语落地/互动设计),用四步闭环(复述→重建→迁移→实践)内化成自己的手艺;**视觉拆解模式(—visual)**:抽帧证据 + 转写词锚,拆博主的视频包装与动效(字幕/贴纸板/转场/声音/B-roll 系统),产出 packaging-notes.md 供剪辑计划消费。与 oracle-learn-from 互补:learn-from 拆账号级统计信号,apprentice 拆单条稿的写法(手艺层)。支持视频转录(走 adapters/script-extraction)或手动粘稿。触发词:"拜师"/"拆这条稿"/"学这个博主的表达"/"拆这个视频的包装"/"他是怎么写的"/"apprentice"。

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentspythonbash

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add Huanyu-Hibiki/Huanyu-Skills --skill oracle-apprentice --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Oracle Apprentice?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Oracle Apprentice
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/huanyu-hibiki-oracle-apprentice/badge)](https://www.skillsdirectory.com/skills/huanyu-hibiki-oracle-apprentice)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: oracle-apprentice
description: 拜师拆稿——分析对标博主/想学的稿子的撰写方式与表达方法(钩子/节奏/金句/结构/术语落地/互动设计),用四步闭环(复述→重建→迁移→实践)内化成自己的手艺;**视觉拆解模式(—visual)**:抽帧证据 + 转写词锚,拆博主的视频包装与动效(字幕/贴纸板/转场/声音/B-roll 系统),产出 packaging-notes.md 供剪辑计划消费。与 oracle-learn-from 互补:learn-from 拆账号级统计信号,apprentice 拆单条稿的写法(手艺层)。支持视频转录(走 adapters/script-extraction)或手动粘稿。触发词:"拜师"/"拆这条稿"/"学这个博主的表达"/"拆这个视频的包装"/"他是怎么写的"/"apprentice"。
argument-hint: "<博主名或视频URL> [— stage: watch|restate|rebuild|migrate] [— visual]"
allowed-tools: Bash(*), Read, Write, Edit, Glob, WebFetch, Skill
---

> 历史归档,仅供 oracle-study 迁移时读取;不作为可安装入口。相对链接按原运行时目录保留,实际执行请使用 `skills/oracle-study/SKILL.md`。

# /oracle-apprentice — 拜师拆稿(四步闭环版)

## 解决什么问题

看 100 条爆款也写不出 1 条——因为"看"只是浏览,只给对方贡献播放量。答案:**复述 → 重建 → 迁移 → 实践** 四步闭环,把"别人的爆款"变成"自己的手艺"。

**与 oracle-learn-from 的分工**(不要混用):

| | learn-from | apprentice(本 skill) |
|---|---|---|
| 拆什么 | 账号级:5-10 条样本 + 数据 → rubric 权重信号 | 单条/单博主:文稿撰写方式 + 表达方法 |
| 产出 | benchmark.md / rubric 信号 | study/<博主>/ 拆解档案 + 知识卡片 |
| 层次 | 统计层(什么类型数据好) | 手艺层(钩子怎么埋、节奏怎么切、金句怎么落) |
| 时机 | cold-start 建基线 / 季度 sanity check | 随时——刷到值得学的稿子就拆 |

## 核心理念

1. **四步成长闭环**:复述(自己说出讲了什么,不收藏不代劳)→ 重建(质疑纠偏+补全两面性)→ 迁移(结合自己情况形成知识卡片)→ 实践(最小验证,多版迭代)
2. **框架学习法**:任何概念过四问——定义(是什么/区别于什么)、机制(背后原理)、边界(适用/不适用)、操作(具体怎么做)
3. **两句话最小动作**:看完写两句——这条在讲什么?为什么?写不出 = 找到卡点 = 进步起点。生成效应:自己写的才记得住

## Constants

- **MIN_VIDEOS_PER_MASTER = 3** — 单博主至少拆 3 条才出"表达方法"结论(<3 只出单条拆解不出博主总结)
- **OUTPUT_ROOT = 项目根 `study/`**(learn-from 的 samples 也在 study/ 下,互不冲突:`study/<博主名>-apprentice/`)
- 视频转录走 `adapters/script-extraction/transcribe.py`(专属 `.venv`:faster-whisper + yt-dlp nightly + curl-cffi TLS 拟真;模型按 adapter README 预下载到 `models/faster-whisper-<档位>/`)。**平台范围:B站 / 小红书 / 抖音 / 知乎(视频回答)支持 URL;视频号无提取器走本地文件/粘稿;知乎纯文字直接复制**。**手动粘稿是零依赖主路径**——转录管线不可用不阻塞
- state 补充字段 `apprentice_masters: []`(拆过的博主,防重复从零拆)

## Workflow

```
[用户:拆这条稿 / 拜师 X]
  ↓
[Phase 0: 预检(转录管线可用性 + apprentice_masters 增量)]
  ↓
[Phase 1: 输入分流] URL → 转录 | 粘文稿 → 直达 | 只有博主名 → 问拆哪条
  ↓
[Phase 2: 两句话复述确认(硬约束:AI 只起草,最终版是用户的)]
  ↓
[Phase 3: 拆解——框架四问 × 表达六件套]
  ↓
[Phase 4: 重建——质疑纠偏 + 补全(每条必有可质疑处)]
  ↓
[Phase 5: 迁移——知识卡片(必须落到用户某轨)]
  ↓
[Phase 6: 落盘 + 登记]
```

### Phase 0: 预检

- 检查转录管线:`.venv` 存在 + ffmpeg 在 PATH + `models/faster-whisper-*/` 已下载(按 adapter README)——任一缺失**不阻塞**,降级手动粘稿
- 读 state 的 apprentice_masters:该博主拆过 → "X 已拆过 N 条,这次是追加",读旧档案做增量

### Phase 1: 输入分流

- **URL** → 转录管线拉稿(字幕轨优先,无字幕走 whisper):
  `adapters/script-extraction/.venv/Scripts/python.exe adapters/script-extraction/transcribe.py <url> --out study/<博主名>-apprentice/<标题>/`
  五平台分流(详见 adapter README「五大平台支持」):B站/知乎直接跑;**抖音/小红书先让用户登录浏览器再加 `--cookies-from-browser chrome`**(TLS 拟真与请求间隔自动加);视频号 URL → 引导用户手机导出/录屏走本地文件,或粘稿
  (macOS/Linux 用 `.venv/bin/python`;转录完 transcript.md 已在作品目录——**落盘即完成**)
- **粘文稿** → 直接 Phase 3,问一句博主名(记档案用)
- **只有博主名** → "先拆哪条?给我 URL 或粘稿"(**一次一条**——学深不学多)

### Phase 2: 两句话复述确认

拿到稿子**先不拆**——AI 起草两句话给用户确认:

```
这条在讲:[AI 起草的一句]
为什么值得讲/它的答案:[AI 起草的一句]

——这两句是我的复述草案。规矩:复述必须自己来。
a) 直接认 b) 改写后发我 c) 自己重写两句发我。
确认后我再开始拆表达方法。
```

**🔴 硬约束**:用户没确认前不进 Phase 3。复述的最终版本必须是用户的——AI 代劳 = 白看(生成效应没了)。

### Phase 3: 拆解——两层

**第一层:框架四问**(内容骨架)

| 问 | 拆什么 | 输出 |
|---|---|---|
| 定义 | 讲什么概念?和相邻概念的区别? | 一句话定义 |
| 机制 | 为什么这样写有效?钩子→留存→信任的因果链 | 因果链 |
| 边界 | 适用什么场景/不适用?(时长/赛道/人设阶段) | 边界清单 |
| 操作 | 可复制的具体动作?(句式/结构/数字用法) | 步骤 |

**第二层:表达六件套**(手艺)

| # | 拆什么 | 典型证据 |
|---|---|---|
| 1. 钩子 | 前 5 秒用了什么?命中哪几个方向(预期违背/自我参照/信息缺口/冲突/身份反差/利益承诺) | 首句原文 |
| 2. 结构 | 时间线/三段/案例驱动?段落怎么切 | 结构图 |
| 3. 节奏 | 长短句怎么配?铺垫→反差→包袱落点?信息密度峰值在哪 | 节奏标注 |
| 4. 金句 | 可复述句在哪?句式模板是什么 | 金句原文 + 句式抽象 |
| 5. 术语处理 | 专业词第一次出现怎么落地(大白话/类比/数字);博主有个人黑话/独特用法 → 记「他的用法 vs 常识用法」差异(key_distinction),用户会引用的术语顺手提示入 voice-lexicon.md 专名表(走确认) | 落地手法 + 术语区分 |
| 6. 互动设计 | 评论区怎么设计的?触发器类型 | 互动手法 |

**钩子拆解加做一步(原型归类)**:对照 [references/hook-prototypes.md](../../references/hook-prototypes.md) 把首段推进方式归类——命中哪个原型(或混了哪两个)、起手证据是什么、问题压缩到多窄。归类结果写进知识卡片,并标注该原型在用户自己的哪轨适用。

输出含"值得偷的 3 样东西"(每样附"怎么偷——用到你的哪轨哪段")→ 逐项过 Phase 3.5 验证门后才可进卡片。

### Phase 3.5: 三重验证门(「值得偷」项进卡片前的硬门——机制思想借鉴 cangjie-skill,MIT)

对每个「值得偷的 X」逐项过三门——**验证不过 = 一次性技巧,留在 analysis.md「未通过验证」节(写明卡在哪门 + 一句原因),不进知识卡片**:

| 门 | 判据 | 不过的典型 |
|---|---|---|
| **V1 跨域** | 这套手法至少在 **2 个独立语境**成立:本条 + 你能举的另一条该博主稿件 / 另一个博主 / 你自己轨道的真实案例。同一手法换个说法不算第二个语境 | 只在这条稿的特定题材上成立的一次性技巧 |
| **V2 预测力** | 用这套手法能推演出一个**没拆过的场景**的具体做法(如:用该钩子骨架推演你轨道一条新开场的起手三步)。推不出非平庸结论 = 只是"看着有道理" | 金句很帅但说不清下一条怎么用 |
| **V3 独特性** | 把博主名字抹掉,任何创作者都该知道的常识("开头要抓人""要有互动")不通过 | 人人都说的正确废话 |

**通过率自检**:单条拆 3-5 样,1-2 样过门是常态——**全过 = 验证太松**,回头重查 V3。

### 视觉拆解模式(`—visual`——学博主的视频包装与动效)

拆解单位是**视觉系统**不是镜头;规格语言统一用 [references/packaging-vocabulary.md](../../references/packaging-vocabulary.md)(六元组/动效四语义/声音四层/词锚),此处不复制。

**Phase V0: 证据准备(三件)**

1. **转写**:走现有转录管线拿段落时间戳("词锚"锚到段落级)
2. **抽帧证据**(ffmpeg 为 adapter 已有依赖;证据落 `study/<博主名>-apprentice/<标题>/evidence/`):

```bash
# 视觉突变点密采(转场/包装元素出入场大概率在这)
ffmpeg -i <视频> -vf "select='gt(scene,0.3)'" -vsync vfr -q:v 5 evidence/cut_%04d.jpg
# 定间隔粗采(每 3 秒一帧看全局节奏)
ffmpeg -i <视频> -vf "fps=1/3" -q:v 5 evidence/scan_%04d.jpg
```

   证据帧总量 **≤40 张**(超了提高 scene 阈值到 0.4 / 拉长到每 5 秒再采——控制读图成本)
3. **多模态检查**:用 Read 读一张证据帧——成功 → 继续;失败(当前 runtime 无多模态)→ **降级**:只做文字层拆解(四步闭环照走),如实输出「包装拆解需要多模态 runtime——本机不具备,已跳过」,**不按转写文本脑补画面**

**Phase V1: 系统级拆解 → `packaging-notes.md`**

- 先通读全部证据帧 + transcript,列出**系统清单**(字幕系统/贴纸板/转场体系/音效提示/B-roll 覆盖/片头片尾——只列视频里真实存在的)
- 每系统按六元组展开 + 词锚("transcript 第 N 段:<首几字>…")+ 动效四语义;描述与解释分开——帧显示什么、你推断什么,混写即违规
- 无证据的断言标「未证实」,不脑补

**Phase V2: 「值得偷的包装」→ 三重验证门(Phase 3.5 照旧)→ 知识卡片落轨**

卡片"用法"指向用户某轨某段(如"转化轨的前 5 秒:数字板入场落在报价词上");**消费方**:oracle-edit-plan 的包装规格节会读 packaging-notes.md。

### Phase 4: 重建——质疑纠偏(硬约束)

AI 主动指出这条稿的**可质疑处**(不是拆完就拜):
- 逻辑漏洞/以偏概全处
- 它没讲的另一面(适用前提略过了什么)
- 换到用户的赛道/人设会不会失效(边界检验)

"这三处质疑你同意几处?**反驳也算**——反驳说明你有自己的判断"(重建 = 质疑纠偏 + 补全,判断权在用户)。

### Phase 5: 迁移——知识卡片(核心产出)

```markdown
## 知识卡片:<手艺名>(学自 <博主>)

**背景**:<这套方法的来源场景>
**用法**:<具体怎么用——对应用户 content-plan 哪一轨、哪一段(钩子/主体/收尾)>
**触发场景**:<何时想起用它:2-3 条情境 + 语言信号(写到哪段/卡在哪时会用到)——防止"学过但想不起来用">
**反例**:<失效场景 + 为什么人会掉进去 + 预警信号——三段齐才合格>
**边界条件**:<时长/赛道/人设阶段的前提>
**个人理解**:<用户在 Phase 4 的判断/反驳,原话记录>
**实践登记**:<最小实践动作——下一条 draft 的具体尝试点>
```

**硬约束**:卡片必须落到用户内容规划的某轨。"通用技巧"不存在——钩子技巧不标轨道适用性就不出卡片。

### Phase 6: 落盘 + 登记

**产出侧失败分支**(拆解/重建/迁移环节的"如果 X 失败 → Y"):

| 如果 | 则 |
|---|---|
| 用户对质疑全部反驳 | 正常——原话记录进卡片「个人理解」,不硬塞共识(有自己判断正是目的) |
| 「值得偷」项全部没过验证门 | 如实报——本条只留单条笔记不出卡片;换一条拆或降低预期(这条稿可能真没货) |
| 用户要求验证全过、全进卡片 | 拒绝降门——全过 = V3 失守(常识混进卡片);每条要么补证据重验,要么留档不进 |
| 拆不出「值得偷的 3 样」 | 如实报"这条稿与你轨道距离远",不硬凑——学不深就换下一条 |
| content-plan / 轨道信息缺失,卡片无处落 | 停止出卡片——先跑 /oracle-init 补规划;不落轨的卡片不出 |

```
study/<博主名>-apprentice/
├── {视频标题}/
│   ├── transcript.md      ← 转录/粘贴的全文(Phase 2 后立刻落)
│   └── analysis.md        ← Phase 3+4+5 全文
└── <博主名>_INDEX.md      ← 博主级总结(拆满 3 条才写:惯用钩子/结构/金句风格 + 已拆清单)
```

state 的 apprentice_masters 登记(博主名 + 条数 + 日期)。**不写 benchmark.md / rubric_notes.md**——那是 learn-from 的地盘,不越界。

## Key Rules

1. **复述必须用户确认**——AI 只起草两句话(Phase 2 硬约束)
2. **质疑是拜师的一部分**——每条必出"可质疑处",找不到 = 没拆透(Phase 4 硬约束)
3. **知识卡片必须落到某轨**——无轨道标签不出卡片(Phase 5 硬约束)
4. **一次一条**——不囤积
5. **博主结论门槛 3 条**——<3 条只出单条档案
6. **转录管线降级不阻塞**——手动粘稿是主路径
7. **三重验证门**——V1 跨域 / V2 预测力 / V3 独特性,不过不进卡片、留档写原因(Phase 3.5 硬约束)

## Pitfalls

- ❌ AI 替用户复述并跳过确认 → 复述的意义是生成效应,代劳 = 白看
- ❌ 拆解变吹捧文——每条必有可质疑处
- ❌ 卡片写成"通用写作技巧大全"——不落到用户轨道的卡片没法实践,等于没迁移
- ❌ 和 learn-from 混用——同一输入又要权重又要手艺,两个都浅;先想清楚这次要什么
- ❌ 转录产物留在临时目录——Phase 2 跑完立刻落盘 study/
- ❌ 验证门放水——「值得偷」项全过 = V3 失守,人人都说的常识混进卡片等于没拆

## Examples(钩子拆解示范:六件套 #1 + 原型归类怎么拆)

> 拆一条对标稿的开场,输出应长这样(示意,不照抄结论):

```
【钩子拆解】
首句原文:"我们花了四位数,买下了街边一块千年神鳖。"
· 起手证据:价格数字 + 真实交易物,第一秒全是名词没有形容词
· 钩子方向:③ 信息缺口(千年神鳖是什么?)+ ⑤ 身份反差(谁会花四位数买这个)
· 原型归类:现场纪实破局(真实交易现场 → 亲身经历共鸣 → "这到底是不是骗局"的追问)
· 问题压缩度:窄——不是"街头骗局面面观",是"这一只神鳖到底是不是骗局"
· 可迁移骨架:真实交易现场 + 具体价格前置 + 身边人经历共鸣 → 适用于我的转化轨(真实咨询案例开场)
```

拆解要点:证据引用原文(不转述)、归类给出理由、迁移落到具体轨道——三样缺一就是没拆透。

## Refusals

- 「跳过复述直接开始拆」 → 拒绝进 Phase 3。复述的最终版必须是用户的——AI 代劳 = 白看(Phase 2 硬约束);用户赶时间 → 两句话草案直接认(选 a)也算
- 「只讲这条稿好在哪,别说它的问题」 → 拒绝。每条必有可质疑处是拜师的一部分(Phase 4 硬约束)——想纯夸去写推荐语,不叫拆稿
- 「给我一份通用写作技巧总结就行,不用落到我的轨道」 → 拒绝出卡片。无轨道标签的卡片没法实践(Phase 5 硬约束);轨道信息缺失 → 先跑 /oracle-init 补规划
- 「一次拆 5 条攒着慢慢学」 → 拒绝。一次一条——学深不学多;攒量走 learn-from 批量导数据

## Integration

- 上游:用户随时触发;oracle-retro 发现"钩子弱"时可建议"去 apprentice 拆 3 条钩子强的对标"
- 下游:知识卡片的"实践登记"指向下一条 draft → oracle-seed 写稿时读相关卡片提醒"你学过 X 的钩子手法,这条可以用"
- 与 learn-from 接力:同一博主先 apprentice 3 条学写法,再 learn-from 批量导数据

Files in this skill

  • SKILL.md16.3 KB
  • test-prompts.json283 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…