关于 skill-from-notebook
skill-from-notebook 从学习资料或完成的示例中提取可重复的方法,并将其整理为可复用的 Skills。它会区分教学文档与成品示例,再分析步骤、结构和质量标准。
主要功能
- 01处理文件、网址、视频和 NotebookLM 链接
- 02区分方法文档与完成示例
- 03提取步骤、结构和质量标准
- 04支持从多个示例中学习
- 05生成可复用的技能模板
适用场景
- 01将代码审查指南转为技能
- 02提取技术文章的写作方法
- 03从设计示例中学习制作流程
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ gbsoss/ skill-from-masters --skill skill-from-notebook安装后在 Claude Code 中输入/skill-from-notebook确认已加载。
附带文件TEST-CASES.md
详细介绍
来自 Notebook 的 Skill
从学习材料(文档、文章、视频)或优质示例(博客文章、设计、代码)中提取可执行的方法,生成可复用的 Skill。
核心理念:NotebookLM 帮助你理解,而这个 Skill 帮助你行动。
适用场景
当用户希望将知识转化为可执行的技能时:
- “我刚读了一篇关于代码审查的文章,帮我据此创建一个 Skill”
- “这是一篇很棒的技术博客,提取其中的写作方法”
- “把这份 PDF 指南转化为我可以复用的 Skill”
- “从这个示例中学习,并创建一个能生成类似输出的 Skill”
支持的输入类型
| 类型 | 处理方式 |
|---|---|
| 本地文件 | PDF、Word、Markdown——直接读取 |
| Web URL | 使用 WebFetch 提取内容 |
| YouTube | 使用 yt-dlp 获取字幕;若不可用,则使用 Whisper |
| NotebookLM 链接 | 通过浏览器自动化提取笔记/摘要 |
| 示例/输出 | 逆向分析方法 |
步骤 0:识别输入类型
关键的第一步——确定要使用哪条处理路径:
User Input
│
├─ Has teaching intent? ("how to", "steps", "guide")
│ └─ YES → Path A: Methodology Document
│
├─ Is a finished work? (article, design, code, proposal)
│ └─ YES → Path B: Example (Reverse Engineering)
│
└─ Neither? → Tell user this content is not suitable
路径 A 指标(方法文档):
- 包含“如何”“步骤”“方法”“指南”等词语
- 有编号列表或步骤序列
- 具有教学意图
- 描述“要做什么”
路径 B 指标(示例/输出):
- 是一份完整作品/成果
- 没有教学意图
- 是“事物本身”,而非“如何制作该事物”
- 示例:一篇写得很好的博客文章、一份精心打磨的提案、一个代码项目
路径 A:从方法文档中提取
A1:验证文档是否适用
检查文档是否适合用于生成 Skill(至少满足 2 项):
- 有明确的目标/结果
- 有可重复的步骤/流程
- 有质量标准
- 有情境/场景说明
如果不适用:如实告知用户并解释原因。
A2:识别 Skill 类型
| 类型 | 特征 | 示例 |
|---|---|---|
| 操作指南 | 步骤顺序明确,输入→输出 | 部署 Docker、配置 CI/CD |
| 决策 | 条件、权衡、选择 | 选择数据库、选择框架 |
| 框架 | 心智模型、分析维度 | SWOT、5W1H、第一性原理 |
| 检查清单 | 验证项目、通过/失败标准 | 代码审查清单、发布清单 |
A3:按类型提取结构
操作指南:
- 前置条件
- 步骤序列(附每个步骤的预期输出)
- 最终预期结果
- 常见错误
决策:
- 决策因素
- 各选项及其优缺点
- 决策树/流程图
- 推荐的默认选项
框架:
- 核心概念
- 分析维度
- 应用方法
- 局限性
检查清单:
- 检查项及其标准
- 优先级
- 常被忽略的项目
A4:生成 Skill
使用此模板:
## Applicable Scenarios
[When to use this skill]
## Prerequisites
- [What's needed before starting]
## Steps
1. [Step 1] - [Expected outcome]
2. [Step 2] - [Expected outcome]
...
## Quality Checkpoints
- [ ] [Checkpoint 1]
- [ ] [Checkpoint 2]
## Common Pitfalls
- [Pitfall 1]: [How to avoid]
## Source
- Document: [name/URL]
- Extracted: [timestamp]
路径 B:从示例中逆向分析
当输入是一份完成的作品(而非教程)时,逆向分析其方法。
B1:识别输出类型
这是什么类型的成果?
- 技术博客文章
- 产品提案/PRD
- 学术论文
- 代码架构
- 设计文档
- 其他:[指定]
B2:分析结构
拆解示例:
Structure Analysis:
├── [Part 1]: [Function] - [Proportion %]
├── [Part 2]: [Function] - [Proportion %]
├── [Part 3]: [Function] - [Proportion %]
└── [Part N]: [Function] - [Proportion %]
需要回答的问题:
- 它由几个部分组成?
- 每个部分的作用是什么?
- 顺序和篇幅比例如何?
B3:提取质量特征
这个示例为何出色?
| 维度 | 问题 |
|---|---|
| 结构 | 内容是如何组织的? |
| 风格 | 语气、用词和表达如何? |
| 技巧 | 哪些方法使其有效? |
| 逻辑 | 信息如何流动? |
| 细节 | 有哪些细小但重要的点? |
B4:逆向分析流程
推断:要创建这样的输出,需要哪些步骤?
## Deduced Production Steps
1. [Step 1]: [What to do] - [Key point]
2. [Step 2]: [What to do] - [Key point]
...
## Key Decisions
- [Decision 1]: [Options] - [This example chose X because...]
## Reusable Techniques
- [Technique 1]: [How to apply]
- [Technique 2]: [How to apply]
B5:生成 Skill
使用此模板生成逆向分析的 Skill:
## Output Type
[What kind of artifact this produces]
## Applicable Scenarios
[When to create this type of output]
## Structure Template
1. [Part 1]: [Function] - [~X%]
2. [Part 2]: [Function] - [~X%]
...
## Quality Characteristics (Learned from Example)
- [Characteristic 1]: [How it manifests]
- [Characteristic 2]: [How it manifests]
## Production Steps
1. [Step 1]: [What to do] - [Tips]
2. [Step 2]: [What to do] - [Tips]
...
## Checklist
- [ ] [Check item 1]
- [ ] [Check item 2]
## Reference Example
- Source: [name/URL]
- Analyzed: [timestamp]
示例:路径 A(方法论文档)
用户:“从这篇关于如何写好提交消息的文章中提取一项技能”
流程:
- 阅读文章
- 判断:这是 操作指南 类型(包含步骤,具有教学意图)
- 提取:
- 目标:编写清晰、有用的提交消息
- 步骤:使用约定格式,将主题与正文分开,等等
- 质量标准:主题少于 50 个字符,使用祈使语气,等等
- 生成包含步骤和检查清单的技能
示例:路径 B(逆向工程)
用户:“这是一篇很棒的技术博客文章。请从中学习,并创建一项用于撰写类似文章的技能。”
流程:
- 判断:这是一个 示例(已完成的作品,没有教学意图)
- 分析结构:
├── Hook: Real pain point (2-3 sentences) ├── Problem: 3 sentences on the core issue ├── Solution: Conclusion first, then details ├── Code: Each snippet < 20 lines, with comments ├── Pitfalls: 3 common errors └── Summary: One-line takeaway - 提取质量特征:
- 标题 = 具体技术 + 解决的问题
- 每段只表达一个想法
- 代码与文本的比例约为 40:60
- 用个人轶事增强可信度
- 逆向推导步骤:
- 从一个你解决过的实际问题开始
- 先写解决方案,再写背景
- 逐步添加代码示例
- 等等
- 生成技能:“如何撰写技术博客文章”
高级:多示例学习
当用户提供多个同类型的示例时:
Example A ──┐
Example B ──┼──> Extract commonalities ──> Core methodology
Example C ──┘ │
▼
Analyze differences ──> Style variants / Optional techniques
这会生成更稳健、可泛化的技能。
重要说明
- 始终先进行验证——并非所有内容都适合提取技能
- 尽早识别路径——方法论文档与示例需要采用不同的方法
- 具体明确——含糊的技能毫无用处;应包含具体步骤和标准
- 保留来源信息——始终注明知识的来源
- 要求澄清——如果不确定用户意图,请先询问再继续
- 质量优先于速度——花时间真正理解内容
这项技能不是什么
- 不是摘要工具(这是 NotebookLM 的工作)
- 不是文档转换工具
- 它旨在提取可反复执行的 可操作方法论
评论
支持 Markdown