一个开源 Skill:把粘贴的文章或本地 Markdown/TXT 文件转换成 5~8 张结构化知识卡,用于学习、复习与笔记提炼。
读文章、看教程时常常"看完就忘":手动摘录要点费时,抓不住重点,笔记又长又散、不便复习。本项目用一份可复用的 Agent Skill,把任意文本内容自动提炼成结构统一、一卡一点、可直接背诵的知识卡片,把"读文章"变成"过卡片",降低复习成本、提升记忆效率。
-
两种输入方式:直接粘贴文章/笔记/讲稿正文,或提供本地
.md/.txt文件路径。 -
结构化输出:生成 5~8 张知识卡,每张固定包含四个字段:
字段 说明 标题 一句话概括本卡片知识点 核心知识 原文的关键结论、定义或要点 简明解释 2~4 句讲明白该知识点 例子 / 自测问题 一个例子,或一个自测问题(二选一) -
提炼质量控制:
- 一张卡片只讲一个知识点;
- 删除重复内容;
- 不编造原文没有的信息(所有内容有原文依据);
- 信息不足时不强行凑数量(可少于 5 张)。
-
暂不支持:网页抓取(不接受 URL)、PDF 文件、Anki 导入格式、图形界面输出。
First_Skiil/
├── README.md
├── LICENSE # MIT 开源协议
├── skill/
│ └── make-knowledge-cards/ # 本 Skill 本体
│ ├── SKILL.md # 主说明:触发条件、工作流、字段规范、质量控制
│ └── agents/
│ └── openai.yaml # UI 展示用元数据
└── test/ # 测试样本与产出(技术/科普/短文/含重复文章)
├── sample_*.md|.txt # 4 类测试输入
└── output_*.md # 对应知识卡产出
本 Skill 需要被 AI Agent 加载后使用,安装即把 skill/make-knowledge-cards 整个目录放入 Agent 的 Skills 目录:
- 复制目录:
Agent 的 skills 目录因环境而异,通常是
# 将本项目中的 skill 目录复制到 Agent 的 skills 根目录(示例为 user skills) copy /y "skill\make-knowledge-cards" "<Agent skills 目录>\make-knowledge-cards"
workspace/.user_skills(用户自定义 Skill)或对应的.skills根目录之一。 - 重启或刷新 Agent,使其加载新 Skill。
- (可选)校验 Skill 结构:
python <skill-creator>/scripts/quick_validate.py skill/make-knowledge-cards
向已安装本 Skill 的 AI Agent 提出请求,提供任一形式的输入:
- 粘贴文本:直接把文章/笔记/讲稿正文粘贴给 Agent,说"把这段内容做成知识卡"。
- 本地文件:给出
.md或.txt文件的路径,说"把xxx.txt的内容整理成知识卡"。
Agent 会按 SKILL.md 的工作流自动完成提炼,输出 Markdown 格式的知识卡。
输入(用户粘贴):
HTTP 缓存主要分为强缓存和协商缓存。强缓存是指浏览器在本地直接使用缓存,不再向服务器发请求;协商缓存则是浏览器带着缓存的标记去问服务器,服务器返回 304 就表示继续用本地缓存。Cache-Control 是控制缓存行为最重要的响应头,
max-age表示资源在多少秒内是新鲜的,no-cache表示使用缓存前必须向服务器验证,no-store表示完全不允许缓存。
输出(Agent 生成):
# 《HTTP 缓存》知识卡(共 3 张)
## 1. 强缓存与协商缓存两类
**核心知识**:HTTP 缓存分两类:强缓存直接在本地使用、不再发请求;协商缓存带缓存标记询问服务器,服务器返回 304 表示继续用本地缓存。
**简明解释**:强缓存零网络请求;协商缓存仍有一次网络往返,但通常不需要重新传输响应体。
**例子 / 自测问题**:自测:协商缓存返回 304 时,浏览器使用的是服务器新返回的内容还是本地缓存?
## 2. Cache-Control 的 max-age
**核心知识**:max-age 表示资源在多少秒内是新鲜的,期间可直接使用本地缓存。
**简明解释**:max-age=3600 表示 3600 秒内无需向服务器验证。
**例子 / 自测问题**:`Cache-Control: max-age=3600` 表示该资源在多长时间内可直接使用本地缓存?
## 3. no-cache 与 no-store 的区别
**核心知识**:no-cache 表示使用缓存前必须向服务器验证;no-store 表示完全不允许缓存。
**简明解释**:no-cache 不是"不缓存",而是"用之前先验证";no-store 才是真正禁止存储。
**例子 / 自测问题**:自测:想要禁止任何缓存,应该用哪个指令?实际执行案例:将一份约 9 章内容的 Python 学习笔记转换为 8 张知识卡(示例产出即按上述格式输出)。更多测试样例见 test/ 目录(sample_*.md|.txt 为输入,output_*.md 为对应产出)。