mcpField
S
skill-from-notebook

skill-from-notebook

github.com/gbsossAgent 工作流1.6k370 次安装36 周前更新
代码仓库

关于 skill-from-notebook

skill-from-notebook 从学习资料或完成的示例中提取可重复的方法,并将其整理为可复用的 Skills。它会区分教学文档与成品示例,再分析步骤、结构和质量标准。

主要功能

  1. 01处理文件、网址、视频和 NotebookLM 链接
  2. 02区分方法文档与完成示例
  3. 03提取步骤、结构和质量标准
  4. 04支持从多个示例中学习
  5. 05生成可复用的技能模板

适用场景

  1. 01将代码审查指南转为技能
  2. 02提取技术文章的写作方法
  3. 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(方法论文档)

用户:“从这篇关于如何写好提交消息的文章中提取一项技能”

流程:

  1. 阅读文章
  2. 判断:这是 操作指南 类型(包含步骤,具有教学意图)
  3. 提取:
    • 目标:编写清晰、有用的提交消息
    • 步骤:使用约定格式,将主题与正文分开,等等
    • 质量标准:主题少于 50 个字符,使用祈使语气,等等
  4. 生成包含步骤和检查清单的技能

示例:路径 B(逆向工程)

用户:“这是一篇很棒的技术博客文章。请从中学习,并创建一项用于撰写类似文章的技能。”

流程:

  1. 判断:这是一个 示例(已完成的作品,没有教学意图)
  2. 分析结构:
    ├── 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
    
  3. 提取质量特征:
    • 标题 = 具体技术 + 解决的问题
    • 每段只表达一个想法
    • 代码与文本的比例约为 40:60
    • 用个人轶事增强可信度
  4. 逆向推导步骤:
    • 从一个你解决过的实际问题开始
    • 先写解决方案,再写背景
    • 逐步添加代码示例
    • 等等
  5. 生成技能:“如何撰写技术博客文章”

高级:多示例学习

当用户提供多个同类型的示例时:

Example A ──┐
Example B ──┼──> Extract commonalities ──> Core methodology
Example C ──┘           │
                        ▼
                  Analyze differences ──> Style variants / Optional techniques

这会生成更稳健、可泛化的技能。


重要说明

  1. 始终先进行验证——并非所有内容都适合提取技能
  2. 尽早识别路径——方法论文档与示例需要采用不同的方法
  3. 具体明确——含糊的技能毫无用处;应包含具体步骤和标准
  4. 保留来源信息——始终注明知识的来源
  5. 要求澄清——如果不确定用户意图,请先询问再继续
  6. 质量优先于速度——花时间真正理解内容

这项技能不是什么

  • 不是摘要工具(这是 NotebookLM 的工作)
  • 不是文档转换工具
  • 它旨在提取可反复执行的 可操作方法论

评论

支持 Markdown