Configuration
Run pwd and get the INLINECODE1
- - Notes directory: INLINECODE2
- Graph index: INLINECODE3
- Timezone: User's local timezone (check USER.md or system)
Note Patterns & Types
Prefixes
- -
> {content} → quote, contains attributed text. - INLINECODE5 → idea, for speculative or creative thinking
- INLINECODE6 → journal, for personal reflection and logs
- INLINECODE7 → note, for information about subject
Delimiters
- -
~ {content} → source (appended after prefix+content combination)
- Example note with source:
- Content here ~ Source Type, Source Title by Source Author
- Example quote with source: INLINECODE10
Workflow
1. Capture
When a note is recognized:
- 1. Extract content and metadata
- Note content
- Type (quote/idea/journal/note)
- Source information (if provided)
- 2. Generate filename
- Format:
YYYYMMDD-HHMMSS-slug.md
- Slug: lowercase, hyphenated, from content passed in (max 4-5 words)
- Example: INLINECODE12
- 3. Check for existing source
- If source is not provided set
source: null.
- If source provided, search existing notes for matching source title (case insensitive)
- Use existing source if found
- Otherwise, use provided source as-is
-
No external API calls - trust user input
- 4. Generate tags
- Extract specific objects concepts (nouns)
- Focus on: people, tools, techniques, systems, specific topics
-
Avoid broad categories like "productivity" or "ideas"
-
Consistency: Check existing tags before creating new ones
- 2 or 3 tags per note
- Examples: INLINECODE14
- 5. Create markdown file
CODEBLOCK0
Note Titles
- - Descriptive but concise: 3-8 words
- Avoid generic: Not "Thoughts" or "Notes", be specific
- Question format works: "Why does X happen?" or "How to Y?"
2. Link
After creating a note, find connections:
- 1. Search existing notes
- Look for related concepts, people, topics
- Check for overlapping tags
- 2. Determine connection type
-
related - Similar topic or theme
-
extends - Builds on or expands another note
-
contradicts - Opposing viewpoint
-
references - Mentions same person/book/concept
-
supports - Provides evidence for another note
- 3. Add bidirectional links
- Update both notes' frontmatter
- Include reason for connection
Quality over quantity: Only link when genuinely related
CODEBLOCK1
3. Note Validations
3.1: Validate frontmatter - Ensure the note has the required fields
- title
- date
- type
- tags
3.2: Remove broken links
- Check if notes that the new note links to still exist
- If any files are missing save them to INLINECODE15
4. Update Graph
After capture and linking:
4.1: Load graph index
- Read INLINECODE16
4.2: Add/update note entry
CODEBLOCK2
4.3: Remove any entries from graph
- Read {curDir}/slipbox/missing.md
- If any notes are found missing remove the entry from the graph.
- Then remove them from INLINECODE18
4.4: Rebuild graph
- If corrupted beyond simple note removals, rebuild from the current note files.
4.5: Write updated graph
- Save back to INLINECODE19
Querying
Respond to natural queries like: "Show me notes about X"
Approach:
- 1. Search graph index first (fast); only fall back to file search if needed.
- Present results with titles, dates, snippets
- Offer to show full content if relevant
User Feedback
Keep responses minimal:
- - ❌ Don't narrate every step unless debugging
Example Interaction
User: "- The Feynman Technique is about teaching concepts to identify gaps in understanding"
You:
- 1. Create INLINECODE20
- Tag: INLINECODE21
- Search for related notes (study techniques, learning methods)
- Link to any relevant note about learning
- Update graph index
- Reply: "Note captured: Feynman Technique"
When to apply this skill: Whenever user shares content that starts with the defined prefixes the content which follows should be captured for later reference.
配置
运行 pwd 并获取 {curDir}
- - 笔记目录: {curDir}/slipbox/
- 图谱索引: {curDir}/slipbox/.graph/graph.json
- 时区: 用户本地时区(查看 USER.md 或系统)
笔记模式与类型
前缀
- - > {内容} → 引用,包含归属文本。
- ! {内容} → 想法,用于推测性或创造性思考
- * {内容} → 日志,用于个人反思和记录
- - {内容} → 笔记,用于主题相关信息
分隔符
- - ~ {内容} → 来源(附加在前缀+内容组合之后)
- 带来源的笔记示例:- 此处为内容 ~ 来源类型,来源标题,来源作者
- 带来源的引用示例:> 此处为内容 ~ 来源类型,来源作者
工作流程
1. 捕获
当识别到一条笔记时:
- 1. 提取内容和元数据
- 笔记内容
- 类型(引用/想法/日志/笔记)
- 来源信息(如有提供)
- 2. 生成文件名
- 格式:YYYYMMDD-HHMMSS-短标题.md
- 短标题:小写,连字符连接,从传入内容中提取(最多4-5个词)
- 示例:20260131-143022-复利.md
- 3. 检查现有来源
- 如果未提供来源,设置 source: null。
- 如果提供了来源,搜索现有笔记以匹配来源标题(不区分大小写)
- 若找到则使用现有来源
- 否则,直接使用提供的来源
-
不调用外部 API - 信任用户输入
- 4. 生成标签
- 提取具体对象概念(名词)
- 聚焦于:人物、工具、技术、系统、特定主题
-
避免宽泛类别,如生产力或想法
-
一致性: 创建新标签前检查现有标签
- 每条笔记2或3个标签
- 示例:[番茄工作法, 卡尔·纽波特, 深度工作]
- 5. 创建 Markdown 文件
yaml
title: 从内容生成的笔记标题
date: 2026-01-31T14:30:22-05:00
type: note
tags: [具体, 对象, 基于, 标签]
source:
title: 来源标题
type: book
author: 作者姓名
links: []
此处为 Markdown 格式的笔记内容。
笔记标题
- - 描述性强但简洁: 3-8个词
- 避免通用: 不要用想法或笔记,要具体
- 问句格式也可: 为什么X会发生?或如何做Y?
2. 链接
创建笔记后,寻找关联:
- 1. 搜索现有笔记
- 查找相关概念、人物、主题
- 检查重叠的标签
- 2. 确定连接类型
-
related - 相似主题或话题
-
extends - 基于或扩展另一条笔记
-
contradicts - 对立观点
-
references - 提及同一个人/书/概念
-
supports - 为另一条笔记提供证据
- 3. 添加双向链接
- 更新两条笔记的前置元数据
- 包含连接原因
重质不重量: 仅在真正相关时链接
yaml
links:
- id: 20260120-093045-复利
type: related
reason: 两者都讨论指数增长概念
3. 笔记验证
3.1:验证前置元数据 - 确保笔记包含必填字段
- title
- date
- type
- tags
3.2:移除失效链接
- 检查新笔记所链接的笔记是否仍然存在
- 如有任何文件缺失,将其保存到 {curDir}/slipbox/missing.md
4. 更新图谱
完成捕获和链接后:
4.1:加载图谱索引
- 读取 {curDir}/slipbox/.graph/graph.json
4.2:添加/更新笔记条目
json
{
notes: {
20260131-143022-笔记标题.md: {
title: 你的笔记标题,
source: {
title: 来源标题,
type: book,
author: 作者姓名
},
type: note,
tags: [标签1, 标签2],
links: [
20260120-093045-其他笔记.md,
]
}
},
last_updated: 2026-01-31T14:35:00-05:00
}
4.3:从图谱中移除任何条目
- 读取 {curDir}/slipbox/missing.md
- 如果发现任何笔记缺失,从图谱中移除该条目。
- 然后将其从 {curDir}/slipbox/missing.md 中移除
4.4:重建图谱
- 如果损坏程度超出简单笔记移除的范围,则从当前笔记文件重建。
4.5:写入更新后的图谱
- 保存回 {curDir}/slipbox/.graph/graph.json
查询
响应自然语言查询,如:显示关于X的笔记
方法:
- 1. 优先搜索图谱索引(快速);仅在必要时回退到文件搜索。
- 展示结果,包含标题、日期、摘要
- 如果相关,提供查看完整内容的选项
用户反馈
保持回复简洁:
交互示例
用户: - 费曼技巧是通过教授概念来识别理解中的差距
你:
- 1. 创建 20260131-163500-费曼技巧.md
- 标签:[费曼技巧, 学习, 教学]
- 搜索相关笔记(学习技巧、学习方法)
- 链接到任何关于学习的相关笔记
- 更新图谱索引
- 回复:笔记已捕获:费曼技巧
何时应用此技能: 当用户分享以定义前缀开头的内容时,后续内容应被捕获以供日后参考。