Back to skills
SKILL.md
Obsidian Note Workflow
ASecurityUse when creating, querying, or managing Obsidian notes with preview-first workflow, intelligent classification, automatic directory creation, and vault initialization. 当用户说「把这段内容记到我的 Obsidian 里」「查一下我 Obsidian 里的笔记」时使用。
- 6 stars
- 0 votes
- 0 copies
- 2 views
- Added September 25, 2026
Works with
Security analysis
100/100npx -y skills add nicholyx/ai-skills --skill obsidian-note-workflow --agent claude-codeAre you the author of Obsidian Note Workflow?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/nicholyx-obsidian-note-workflow)---
name: obsidian-note-workflow
description: Use when creating, querying, or managing Obsidian notes with preview-first workflow, intelligent classification, automatic directory creation, and vault initialization. 当用户说「把这段内容记到我的 Obsidian 里」「查一下我 Obsidian 里的笔记」时使用。
metadata:
category: 知识与记录
tagline: "预览优先的 Obsidian 笔记创建、分类与整库初始化"
example: "把这段内容记到我的 Obsidian 里"
---
# Obsidian Note Workflow
## Overview
通用 Obsidian 笔记智能管理系统:预览优先 → 智能分类 → 自动创建 → 查询管理 → 库初始化。
**核心原则**:
- **快速优先**:确定的内容自动归类,不确定才预览
- **预览极简**:只显示目录+理由+候选文件名,不显示标签选项
- **优先更新**:检测相似文件,优先更新而非创建
- **两阶段加载**:预览读分类规则,确认后读标签规则
- **智能标签**:优先匹配现有标签,创建新标签后更新规则
- **历史追溯**:每次操作都记录到 history.md,支持查询
- **延迟生成**:确认后再生成标签、元数据
- **元数据分离**:分类、标签、命名规范、历史记录分开存储
- **原样记录用户内容,不主动扩展**
- 无需配置文件,智能分析
**智能推断**:通过分析现有目录和文件,自动识别分类规则、命名规范、标签体系。
## When to Use
```dot
digraph when_to_use {
"用户提供内容" [shape=diamond];
"用户查询笔记" [shape=diamond];
"用户管理笔记" [shape=diamond];
"初始化笔记库" [shape=diamond];
"创建模式" [shape=box];
"查询模式" [shape=box];
"管理模式" [shape=box];
"初始化模式" [shape=box];
"用户提供内容" -> "创建模式";
"用户查询笔记" -> "查询模式";
"用户管理笔记" -> "管理模式";
"初始化笔记库" -> "初始化模式";
}
```
**使用场景**:
- 用户提供会议、想法、待办等内容需要创建笔记
- 用户查询待办、标签、项目相关文档
- 用户标记完成、批量整理笔记
- **用户初始化现有笔记库**,生成分类规则和标签规则
---
## Mode 0: Initialize Vault (初始化模式) ⭐
### 初始化命令
当用户说"初始化我的笔记库"或"生成分类规则"时触发:
```dot
digraph init_flow {
"扫描目录结构" -> "分析文件命名模式";
"分析文件命名模式" -> "提取常用标签";
"提取常用标签" -> "推断分类规则";
"推断分类规则" -> "生成 _metadata_/ 元数据文件";
"生成 _metadata_/ 元数据文件" -> "总结笔记库结构";
}
```
### Step 1: 扫描目录结构
**使用 Bash 工具扫描**:
```bash
# 查找所有一级目录
find . -maxdepth 1 -type d | grep -v "^\./\." | sort
# 查找所有二级目录
find . -maxdepth 2 -type d | grep -v "^\./\." | sort
# 统计每个目录的文件数量
for dir in */; do echo "$dir: $(find "$dir" -type f -name "*.md" | wc -l) files"; done
```
### Step 2: 分析文件命名模式
**提取命名规则**:
```bash
# 查看每个目录的文件命名模式
find ./00实时会议记录 -name "*.md" -type f | head -10
find ./01临时 -name "*.md" -type f | head -10
```
**识别模式**:
- 日期前缀:`YYYY-MM-DD-*`
- 客户前缀:`客户名-*`
- 类型后缀:`*-会议.md`
### Step 3: 提取常用标签
**从 frontmatter 提取**:
```bash
# 提取所有 tags 字段
grep -r "^tags:" --include="*.md" -A 5 | sort | uniq -c
# 统计标签使用频率
grep -rh "^tags:" --include="*.md" -A 5 | grep "^ -" | sort | uniq -c | sort -rn
```
### Step 4: 推断分类规则
**基于目录名称和文件内容推断**:
| 目录名 | 推断用途 | 典型文件模式 |
|-------|---------|-------------|
| `meetings/` `会议/` `00实时会议记录/` | 会议纪要 | `YYYY-MM-DD-*.md` |
| `temp/` `临时/` `01临时/` | 临时笔记 | `临时-*.md` `*.md` |
| `work/` `工作/` `03工作/` | 工作脚本 | `*.sh` `*.js` `脚本-*` |
| `clients/` `客户/` `04客户/` | 客户文档 | `客户名-*.md` |
### Step 5: 生成元数据文件
**在 `_metadata_/` 目录下生成多个元数据文件**:
#### `_metadata_/classification-rules.md`(分类规则 - 轻量级)
**用途**:预览阶段快速判断分类,文件小,加载快
**内容**:
- 每个目录的用途描述
- 关键词匹配规则
- 置信度判断标准
#### `_metadata_/tag-rules.md`(标签规则 - 重量级)
**用途**:确认后生成标签,文件可很大
**内容**:
- 完整的标签体系
- 标签推断规则
- 标签使用频率统计
#### `_metadata_/naming-conventions.md`(命名规范)
**用途**:确认后生成文件名
**内容**:
- 各类文档的命名规范
- 现有文件命名示例
- 最佳实践建议
#### `_metadata_/history.md`(操作历史)⭐
**用途**:记录所有操作历史,支持查询
**内容**:
- 按时间倒序排列的操作记录
- 每次操作的时间戳、类型、文件、概览
- 支持按次数、时间、类型、内容查询
- 持续追加,永不删除
### Step 6: 总结笔记库结构
**生成报告**:
```
🔍 笔记库分析报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 基本信息
- 总目录数: X 个
- 总文件数: Y 个
- 分析时间: YYYY-MM-DD
📂 目录结构
[一级目录列表,包含文件数统计]
🏷️ 标签体系
[按频率排序的常用标签]
📝 命名规范
[检测到的命名模式]
✅ 已完成
- 创建了 _metadata_/ 元数据文件夹
- 生成了分类规则文件(轻量,预览用)
- 生成了标签规则文件(重量,确认后用)
- 生成了命名规范文件
- 创建了操作历史文件(空文件,后续追加)
💡 后续使用
AI 将使用分离的元数据文件来加速预览和分类。
```
### 初始化元数据文件
**创建 `_metadata_/` 文件夹,并生成多个元数据文件**:
#### 1. `_metadata_/classification-rules.md`(分类规则)
```markdown
# 分类规则 - 用于预览阶段快速判断
**最后更新**: YYYY-MM-DD
**用途**: 轻量级分类规则,用于快速预览
## 目录分类规则
### 00实时会议记录/
- **用途**: 实时会议工作区
- **关键词**: 会议、录音、问答
- **置信度**: 90%(会议关键词)
- **典型文件**: 会议录音.md, 问答记录.md
### 01临时/
- **用途**: 临时笔记、快速想法
- **关键词**: 临时、测试、想法
- **置信度**: 90%(临时关键词)
- **典型文件**: 临时-*.md, 测试*.md
### 02提示词/
- **用途**: AI 工具提示词和配置
- **关键词**: 提示词、prompt、session
- **置信度**: 95%(明确类型)
- **典型文件**: *提示词.md
### 03工作/
- **用途**: 工作脚本、技术文档
- **关键词**: 脚本、插件、参数
- **置信度**: 90%(脚本关键词)
- **典型文件**: *脚本.md, *参数.md
### 04客户/
- **用途**: 客户项目文档
- **关键词**: 华为、OPPO、小天才、电信、飞速
- **置信度**: 95%(明确客户名)
- **典型文件**: [客户名]-*.md
## 置信度判断标准
- 95%: 明确客户名、明确类型(提示词、脚本)
- 90%: 明确关键词(临时、测试、会议)
- <90%: 需要预览确认
```
#### 2. `_metadata_/tag-rules.md`(标签规则)
```markdown
# 标签规则 - 用于确认后生成标签
**最后更新**: YYYY-MM-DD
**用途**: 完整标签体系和推断规则
## 标签分类
### 内容类型标签
- `#会议纪要` - 检测"会议"、"讨论" → 添加
- `#提示词` - 检测"提示词"、"prompt" → 添加
- `#脚本` - 检测"脚本"、"代码"、"函数" → 添加
- `#想法` - 检测"想法"、"突然想到" → 添加
- `#方案` - 检测"方案"、"解决" → 添加
### 状态标签
- `#进行中` - 正在进行的工作
- `#已完成` - 已完成的事项
- `#待验证` - 需要验证的内容
### 客户标签
- `#华为` - 检测"华为" → 添加
- `#OPPO` - 检测"OPPO"、"oppo" → 添加
- `#小天才` - 检测"小天才" → 添加
- `#电信` - 检测"电信" → 添加
- `#飞速` - 检测"飞速" → 添加
### 技术标签
- `#AI` - 检测"AI"、"智能" → 添加
- `#工具` - 检测"工具"、"软件" → 添加
- `#工作流` - 检测"工作流"、"流程" → 添加
## 标签组合规则
**会议记录**: `#会议纪要` + `#[客户名]`
**提示词**: `#提示词` + `#AI` + `#工具`
**脚本**: `#脚本` + `#工具`
**临时笔记**: `#想法`(仅此一个)
**客户方案**: `#方案` + `#[客户名]` + `#AI`
```
#### 3. `_metadata_/naming-conventions.md`(命名规范)
```markdown
# 命名规范 - 用于确认后生成文件名
**最后更新**: YYYY-MM-DD
**用途**: 文件命名规范和示例
## 各类文档命名规范
### 会议记录
**格式**: `YYYY-MM-DD-[客户]-会议类型.md`
**示例**: `2026-02-08-华为-AI平台讨论会议.md`
### 技术方案
**格式**: `[客户]-方案名称.md`
**示例**: `华为-AI平台升级方案.md`
### 提示词文档
**格式**: `[工具名称]-提示词-功能.md`
**示例**: `claudecode-提示词-会议记录.md`
### 脚本文档
**格式**: `[功能描述]-脚本.md`
**示例**: `自动分类-脚本.md`
### 临时笔记
**格式**: `临时-[主题]-YYYY-MM-DD.md`
**示例**: `临时-想法-20260208.md`
## 文件名规范
- ✅ 使用中英文、数字、连字符
- ❌ 不使用空格、特殊字符
- ✅ 日期格式: YYYY-MM-DD
- ✅ 客户名使用缓存中的标准名称
```
#### 4. `_metadata_/history.md`(操作历史)
```markdown
# 操作历史
**创建时间**: YYYY-MM-DD
**用途**: 记录所有创建和更新操作
---
## [YYYY-MM-DD HH:mm:ss]
**操作**: 初始化
**文件**: _metadata_/history.md
**概览**: 初始化笔记库,创建元数据文件
---
(后续操作将按时间倒序追加到此文件)
```
---
## Mode 1: Create Workflow (创建模式) ⚡
### 快速创建流程
```dot
digraph create_flow {
rankdir=LR;
node [shape=box, style=rounded];
"1. 读取分类规则(轻量)" -> "2. 内容识别 + 置信度判断";
"2. 内容识别 + 置信度判断" -> "高置信度?";
"高置信度?" -> "是" -> "读取标签规则(重量) + 创建";
"高置信度?" -> "否" -> "3. 极简预览";
"3. 极简预览" -> "4. 用户确认";
"4. 用户确认" -> "读取标签规则(重量) + 创建";
}
```
### Step 1: 读取轻量元数据(预览阶段)
**读取两个轻量文件**(快速预览):
1. 检查 `_metadata_/classification-rules.md` 是否存在
2. 检查 `_metadata_/naming-conventions.md` 是否存在
3. 如果不存在,自动运行初始化流程
4. **读取内容**:
- `classification-rules.md`:目录分类规则、关键词、置信度
- `naming-conventions.md`:命名规范(用于生成候选文件名)
5. **暂不读取** `tag-rules.md`(重量级文件,确认后读)
### Step 2: 内容识别 + 置信度判断 + 文件匹配
**基于缓存的分类规则**,识别内容并判断置信度。
**同时进行文件匹配**(优先更新现有文件):
- 搜索目标目录中是否有相似文件
- 相似度判断:标题相似度、内容相似度、日期匹配
- 如果找到相似文件(≥70%相似度),建议更新
- 如果没有相似文件,建议创建新文件
**高置信度自动创建**(≥90%):
| 匹配模式 | 目标目录 | 置信度 |
|---------|---------|-------|
| 明确客户名 + 会议 | `04客户/[客户]/会议/` | 95% |
| 包含"提示词" | `02提示词/` | 95% |
| 包含"脚本"、"函数" | `03工作/` | 90% |
| 包含"临时"、"测试" | `01临时/` | 90% |
**低置信度需要预览**(<90%):
- 新客户名称(不确定是否创建子目录)
- 跨类别内容(同时匹配多个目录)
- 内容过短(少于10字)
- 无明显特征(无关键词匹配)
**重要原则**:
- ⚠️ **原样记录用户内容,不要主动扩展**
- ⚠️ **只整理格式,不添加额外内容**
- ⚠️ **如果需要补充内容,必须先征求用户同意**
### Step 3: 智能预览(创建 vs 更新)
**优先更新现有文件**:
- 搜索目标目录,检查是否有相似文件
- 相似度判断:标题相似度、内容主题、日期匹配
- 找到相似文件(≥70%)→ 建议更新
- 无相似文件 → 建议创建
**预览格式**:
```
📂 归类建议
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
检测到相似文件: [是/否]
【方案1 - 更新现有】
文件: 04客户/华为/CodeBuddy工具优势.md
相似度: 85%
理由: 标题相似,内容主题匹配
【方案2 - 创建新文件】
文件名选项:
1. CodeBuddy工具对比分析.md
2. CodeBuddy功能特点.md
3. AI工具-CodeBuddy优势.md
理由:
• 包含工具功能对比分析
• 匹配客户文档特征
请选择:
[u] 更新现有文件 [c] 创建新文件(选择1-3) [n] 修改目录
```
**注意事项**:
- ✅ 优先建议更新现有文件(避免碎片化)
- ✅ 显示3个候选文件名供选择
- ✅ 相似度判断基于标题和内容
- ✅ 用户确认后才开始处理标签
### Step 4: 两阶段生成元数据 + 智能标签
**阶段1:用户确认后(或高置信度自动触发)**
1. **读取标签规则**(第二阶段加载):
- 读取 `_metadata_/tag-rules.md`
- 读取 `_metadata_/naming-conventions.md`
- **只在确认后才加载这些文件**(加速预览!)
2. **自动生成 frontmatter**:
```yaml
---
title: [自动提取标题]
date: [今天日期]
tags:
- [基于 tag-rules.md 推断3-5个标签]
status: completed
---
```
3. **智能标签生成**(优先匹配现有标签):
**步骤1:读取现有标签**
- 从 `_metadata_/tag-rules.md` 读取所有已有标签
- 分析内容,提取关键词
**步骤2:匹配现有标签**(优先)
- 内容关键词与现有标签匹配
- 客户名匹配 → `#客户名`
- 内容类型匹配 → `#会议纪要`、`#提示词`、`#脚本` 等
- 技术栈匹配 → `#AI`、`#工具` 等
**步骤3:创建新标签**(仅当无法匹配时)
- 如果现有标签无法满足(少于3个),创建新标签
- 新标签命名规则:
- 简洁明了(2-4个字)
- 使用中文或英文
- 避免重复和相似标签
- **每个文件生成 3-10 个标签**
4. **调用 obsidian-markdown skill** 创建或更新笔记
### Step 5: 动态更新元数据文件 + 记录历史
**智能维护元数据体系**(确保后续分类准确)+ **记录操作历史**:
1. **检测需要更新的元数据**
- 是否创建了新标签?
- 是否创建了新目录?
- 是否发现了新的命名模式?
2. **更新 tag-rules.md**(如果创建了新标签)
- 将新标签添加到对应的分类中
- 记录新标签的推断规则
- 示例:
```markdown
## 内容类型标签
- `#新标签` - 检测"关键词" → 添加
```
3. **更新 classification-rules.md**(如果创建了新目录)
- 将新目录添加到分类规则中
- 记录目录的用途、关键词、置信度
- 示例:
```markdown
### 05新客户/
- **用途**: 新客户项目文档
- **关键词**: [客户名]
- **置信度**: 95%(明确客户名)
- **典型文件**: [客户名]-*.md
```
4. **更新 naming-conventions.md**(如果发现新命名模式)
- 记录新发现的命名规律
- 添加到对应的文档类型中
- 示例:
```markdown
### 工具对比文档
**格式**: [工具名]-对比-分析.md
**示例**: CodeBuddy-对比-分析.md
**检测时间**: YYYY-MM-DD
```
5. **无需更新的情况**
- 所有标签、目录、命名模式都已存在
- 只是更新现有文件内容
6. **记录操作历史**(每次操作都记录)
- 追加到 `_metadata_/history.md`
- 记录格式:
```markdown
## [YYYY-MM-DD HH:mm:ss]
**操作**: [创建/更新]
**文件**: [文件路径]
**概览**: [一句话描述]
**标签**: [新创建的标签,如有]
**目录**: [新创建的目录,如有]
```
- 用于后续查询历史记录
**元数据维护原则**:
- ✅ **动态更新**:创建新内容时自动维护元数据
- ✅ **持续优化**:每次操作都可能改进分类准确性
- ✅ **历史追踪**:所有操作都记录在 history.md
- ✅ **无需重新初始化**:元数据实时保持最新状态
---
## 自动创建置信度规则
### 高置信度场景(直接创建)
✅ **明确客户名**:检测到缓存中存在的客户名
✅ **明确类型**:提示词、脚本、会议
✅ **明确状态**:临时、测试、想法
### 低置信度场景(需要预览)
⚠️ **新客户名**:缓存中不存在的客户名
⚠️ **跨类别**:同时匹配多个目录特征
⚠️ **内容过短**:少于10个字符
⚠️ **模糊内容**:无明确关键词
### 特殊场景
🔧 **用户指定目录**:如果用户说"放到XX目录",直接创建
🔧 **用户指定标题**:如果用户说"标题是XX",使用用户指定的标题
---
## Mode 2: Query Functions (查询模式)
### 查询类型
| 查询类型 | 触发词示例 | 实现方法 |
|---------|-----------|---------|
| **待办查询** | "查询所有待办"、"列出任务" | 搜索 `- [ ]` 格式 |
| **状态查询** | "查看未完成的" | 搜索 task + status |
| **标签查询** | "列出标签为X的笔记" | Grep frontmatter tags |
| **目录查询** | "某目录下有哪些文档" | 搜索特定目录 |
| **时间查询** | "某月份的文档" | 搜索文件名日期 |
| **关键词搜索** | "搜索包含某词" | Grep 内容 |
| **历史查询** | "最近3次创建"、"最近5小时的操作" | 读取 `_metadata_/history.md` |
### 历史查询(新增)
**查询最近的操作记录**:
1. **按次数查询**
- "最近3次创建的内容"
- "最近5次修改"
- "最近10次操作"
- 实现:从 `_metadata_/history.md` 读取最后N条记录
2. **按时间查询**
- "最近5小时创建的内容"
- "今天创建的笔记"
- "昨天修改的文件"
- 实现:解析 history.md 的时间戳,筛选符合条件的记录
3. **按类型查询**
- "最近创建的客户文档"
- "最近更新的提示词文件"
- 实现:结合 history.md 和文件路径筛选
4. **按内容查询**
- "最近关于华为的记录"
- "最近包含AI的笔记"
- 实现:搜索 history.md 中的概览字段
**历史记录格式示例**:
```markdown
# 操作历史
## [2026-02-08 16:45:30]
**操作**: 创建
**文件**: 04客户/小客户X/会议纪要-20260208.md
**概览**: 小客户X项目启动会议
**标签**: #会议纪要 #小客户X #启动会
**目录**: 04客户/小客户X/
## [2026-02-08 15:20:10]
**操作**: 更新
**文件**: 02提示词/claudecode提示词.md
**概览**: 添加会议记录相关提示词
## [2026-02-08 14:30:25]
**操作**: 创建
**文件**: 04客户/华为/CodeBuddy工具优势.md
**概览**: CodeBuddy工具的功能特点记录
**标签**: #工具 #CodeBuddy
## [2026-02-08 11:15:00]
**操作**: 初始化
**文件**: _metadata_/history.md
**概览**: 初始化笔记库,创建元数据文件
```
**查询示例及响应**:
用户问:"最近3次创建的内容"
AI 响应:
```
📋 最近3次创建的内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. [2026-02-08 16:45] 小客户X/会议纪要-20260208.md
小客户X项目启动会议
2. [2026-02-08 14:30] 华为/CodeBuddy工具优势.md
CodeBuddy工具的功能特点记录
3. [2026-02-07 09:20] OPPO/AI平台升级方案.md
OPPO智能体平台技术升级方案
```
用户问:"最近5小时的操作"
AI 响应:
```
📋 最近5小时的操作(共5条)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. [16:45] 创建 - 小客户X/会议纪要-20260208.md
2. [15:20] 更新 - claudecode提示词.md
3. [14:30] 创建 - 华为/CodeBuddy工具优势.md
4. [13:10] 创建 - 临时-想法-20260208.md
5. [12:05] 更新 - 插件调用参数.md
```
用户问:"今天关于华为的记录"
AI 响应:
```
📋 今天关于华为的记录(共2条)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. [14:30] 华为/CodeBuddy工具优势.md
CodeBuddy工具的功能特点记录
2. [10:15] 华为/AI平台讨论会议.md
华为AI平台技术讨论会议纪要
```
---
## Mode 3: Management (管理模式)
### 待办状态管理
- 标记完成:`- [ ]` → `- [x]`
- 批量操作:查询 → 选择 → 更新
- 更新 frontmatter `status` 字段
### 批量整理
- 整理临时目录
- 归档已完成项目
- 统一标签格式
---
## Intelligent Directory Matching (智能目录匹配)
### 匹配逻辑
```dot
digraph matching {
"读取分类规则" -> "分析内容特征";
"分析内容特征" -> "匹配现有目录";
"匹配现有目录" -> "是否匹配?";
"是否匹配?" -> "是" -> "使用现有目录";
"是否匹配?" -> "否" -> "建议新目录";
"建议新目录" -> "用户确认";
"用户确认" -> "创建新目录";
}
```
### 智能推断
**基于已有目录模式推断新目录**:
- 检测到客户名 → 创建类似 `clients/[客户]/` 的目录
- 检测到新类型 → 询问用户或基于相似目录推断
---
## 元数据文件结构(`_metadata_/`)
### 文件分离设计 + 动态维护
**设计目标**:预览快!分阶段加载元数据 + 动态维护确保准确性 + 历史可追溯
| 文件 | 大小 | 加载时机 | 主要用途 | 何时更新 | 何时查询 |
|------|------|---------|---------|---------|---------|
| `_metadata_/classification-rules.md` | 小 | 预览阶段 | 快速判断分类 | 创建新目录时 | - |
| `_metadata_/naming-conventions.md` | 中 | 预览阶段 | 生成候选文件名 | 发现新命名模式时 | - |
| `_metadata_/tag-rules.md` | 大 | 确认后 | 生成标签 | 创建新标签时 | - |
| `_metadata_/history.md` | 增量增长 | 查询时 | 追溯操作历史 | 每次操作后 | 查询历史时 |
### 两阶段加载 + 历史记录
```
预览阶段:
↓
读取 classification-rules.md + naming-conventions.md(轻量)
↓
快速显示分类建议 + 候选文件名
用户确认后:
↓
读取 tag-rules.md(重量)
↓
生成完整元数据(标签)
↓
创建/更新笔记
动态维护:
↓
检测新标签、新目录、新命名模式
↓
自动更新对应的元数据文件
↓
追加操作历史到 history.md
历史查询:
↓
读取 history.md
↓
筛选符合条件的记录(次数/时间/类型/内容)
```
### 元数据文件说明
**classification-rules.md**(预览阶段读取 + 动态更新)
- **用途**:快速判断分类、目录匹配
- **读取时机**:预览阶段(第一)
- **更新时机**:创建新目录时
- **包含内容**:
- 目录用途、关键词匹配
- 置信度标准
- 典型文件示例
**naming-conventions.md**(预览阶段读取 + 动态更新)
- **用途**:生成候选文件名(3个选项)
- **读取时机**:预览阶段(第二)
- **更新时机**:发现新命名模式时
- **包含内容**:
- 各类文档命名规范
- 现有文件示例
- 最佳实践
**tag-rules.md**(确认后读取 + 动态更新)
- **用途**:生成3-10个标签
- **读取时机**:用户确认后(重量文件)
- **更新时机**:创建新标签时
- **包含内容**:
- 完整标签体系(可很大)
- 标签推断规则
- 标签组合规则
**history.md**(查询时读取 + 每次操作追加)
- **用途**:追溯操作历史、查询历史记录
- **读取时机**:查询历史时
- **更新时机**:每次创建/更新笔记后追加
- **包含内容**:
- 操作时间戳
- 操作类型(创建/更新)
- 文件路径
- 一句话概览
- 新标签(如有)
- 新目录(如有)
- **查询维度**:
- 按次数:最近N次操作
- 按时间:最近N小时/天
- 按类型:创建/更新
- 按内容:关键词搜索概览
### 动态维护示例
**场景1:创建新客户目录**
```
用户输入: 小客户X的会议记录
↓
检测到新客户名(不在 classification-rules.md 中)
↓
创建目录: 04客户/小客户X/
↓
更新 classification-rules.md
+ ### 小客户X/
+ - **用途**: 小客户X项目文档
+ - **关键词**: 小客户X
+ - **置信度**: 95%(明确客户名)
```
**场景2:发现新命名模式**
```
用户输入: CodeBuddy工具对比
↓
生成候选文件名时,发现"工具对比"是新类型
↓
更新 naming-conventions.md
+ ### 工具对比文档
+ **格式**: [工具名]-对比-分析.md
+ **示例**: CodeBuddy-对比-分析.md
+ **检测时间**: 2026-02-08
```
**场景3:创建新标签**
```
用户输入: 低代码平台集成方案
↓
生成标签时,匹配不到"低代码"相关标签
↓
创建新标签: #低代码
↓
更新 tag-rules.md
+ ### 技术标签
+ - `#低代码` - 检测"低代码"、"无代码" → 添加
```
---
## Reference: Obsidian Standards
### Frontmatter 格式
```yaml
---
title: 笔记标题
date: 2026-02-07
tags:
- tag1
- tag2
status: in-progress
priority: normal
aliases:
- 备选名称
cssclasses:
- custom-class
completed: false
due: 2026-02-15T14:30:00
---
```
### Tags 格式
**内联**: `#tag1 #tag2`
**Frontmatter**:
```yaml
tags:
- tag1
- tag2
```
**命名规则**:
- ✅ 字母(任何语言)、数字(非首位)、`_`、`-`、`/`
- ❌ 空格、特殊字符
### Task Lists
```markdown
- [ ] 未完成
- [x] 已完成
- [ ] 带子任务
- [ ] 子任务1
```
### Wikilinks & Callouts
```markdown
[[笔记]]
[[笔记|显示文本]]
[[笔记#标题]]
> [!info] 信息
> [!warning] 警告
> [!tip]+ 折叠
```
---
## Required Dependency
**REQUIRED SUB-SKILL**: Must call `obsidian-markdown` for creating and editing notes.
**NEVER**:
- Use Write tool directly to create notes
- Create notes without proper Obsidian formatting
- 显示过多预览信息影响速度
**ALWAYS**:
- 高置信度内容自动创建
- 低置信度内容才预览,且预览极简
- **两阶段加载**:预览读 classification-rules.md,确认后读 tag-rules.md
- Call `obsidian-markdown` skill for note creation/editing
- Follow Obsidian Flavored Markdown standards
- Read `_metadata_/classification-rules.md` for 快速分类判断
---
## Common Mistakes
| 错误 | 后果 | 正确做法 |
|------|------|---------|
| 不初始化直接创建 | 无法智能分类 | 先运行"初始化笔记库" |
| 直接使用 Write 工具 | 格式不符合标准 | 调用 `obsidian-markdown` |
| 跳过预览直接创建 | 用户无法确认 | 严格遵循预览流程 |
| **主动扩展用户内容** | **偏离用户意图** | **原样记录,不主动扩展** |
| 在 frontmatter tags 中用 `#` | 格式错误 | `tags: [tag]` 不是 `tags: [#tag]` |
| 文件名包含特殊字符 | 文件系统问题 | 使用连字符替代 |
---
## Quick Reference
### 初始化检查清单
- [ ] 运行"初始化我的笔记库"命令
- [ ] 确认创建了 `_metadata_/` 文件夹
- [ ] 检查生成的 4 个元数据文件:
- [ ] `_metadata_/classification-rules.md`(轻量)
- [ ] `_metadata_/tag-rules.md`(重量)
- [ ] `_metadata_/naming-conventions.md`(中等)
- [ ] `_metadata_/history.md`(初始为空,后续追加)
- [ ] 验证推断的分类规则是否正确
### 创建笔记检查清单
- [ ] **阶段1**:读取 `_metadata_/classification-rules.md` + `naming-conventions.md`(轻量)
- [ ] 搜索目标目录,检测相似文件(优先更新)
- [ ] 内容识别 + 置信度判断
- [ ] 高置信度 → 直接创建/更新
- [ ] 低置信度 → 智能预览:
- [ ] 显示相似文件检测结果
- [ ] 显示3个候选文件名
- [ ] 提供"更新"或"创建"选项
- [ ] **阶段2**:用户确认后读取 `tag-rules.md`
- [ ] 智能标签生成(3-10个):
- [ ] 优先匹配现有标签
- [ ] 如无匹配,创建新标签
- [ ] 调用 `obsidian-markdown` 创建或更新
- [ ] **阶段3**:动态更新元数据(如果需要):
- [ ] 创建新标签?→ 更新 `tag-rules.md`
- [ ] 创建新目录?→ 更新 `classification-rules.md`
- [ ] 发现新命名模式?→ 更新 `naming-conventions.md`
- [ ] **阶段4**:记录操作历史(每次都记录):
- [ ] 追加到 `_metadata_/history.md`
- [ ] 记录时间、操作类型、文件路径、概览
- [ ] 记录新标签、新目录(如有)
### 查询操作速查
- 待办: `grep -r "^- \[ \]" --include="*.md"`
- 标签: `grep -r "tags:" --include="*.md" -A 3`
- 状态: `grep -r "status: in-progress" --include="*.md"`
- 最近3次操作: `head -30 _metadata_/history.md` (假设每条记录10行)
- 今天创建的: `grep "^## \[$(date +%Y-%m-%d)" _metadata_/history.md`
- 最近N小时: 解析时间戳后筛选
---
## Workflow Summary
### 初始化流程
```
用户: "初始化我的笔记库"
↓
扫描目录结构
↓
分析文件命名模式
↓
提取常用标签
↓
推断分类规则
↓
生成 _metadata_/ 元数据文件夹
├─ classification-rules.md(轻量)
├─ tag-rules.md(重量)
├─ naming-conventions.md(中等)
└─ history.md(初始空文件,持续追加)
```
### 创建流程(快速模式 + 两阶段加载 + 动态维护 + 历史记录)
```
用户输入内容
↓
【阶段1】读取 classification-rules.md + naming-conventions.md(轻量)
↓
搜索相似文件(优先更新)
↓
内容识别 + 置信度判断
↓
┌─────────────┐
│ 高置信度? │
└─────────────┘
↓ 是 ↓ 否
自动创建/更新 极简预览
↓ ↓
【阶段2】读取 用户确认
tag-rules.md ↓
↓ ↓
生成3-10个标签 【阶段2】读取标签
↓ ↓
创建/更新笔记 生成标签
↓ ↓
【阶段3】动态 创建/更新
维护元数据 ↓
↓ 【阶段3】动态
更新3个元数据 维护元数据
(如果需要) (如果需要)
↓ ↓
【阶段4】记录 【阶段4】记录
操作历史 操作历史
↓ ↓
追加到 追加到
history.md history.md
```
**关键设计原则**:
1. **快速优先**:确定的内容自动归类,不确定才预览
2. **预览极简**:只显示目录+理由+候选文件名
3. **优先更新**:检测相似文件,避免碎片化
4. **两阶段加载**:预览读轻量文件,确认后读重量文件
5. **智能标签**:优先匹配现有标签(3-10个)
6. **动态维护**:自动更新元数据文件(标签/目录/命名规则)
7. **历史追溯**:每次操作都记录,支持查询
8. **持续优化**:每次操作都改进后续分类准确性
9. **元数据分离**:分类、标签、命名规范、历史记录分开存储
10. **标准格式**:严格遵循 Obsidian 官方规范
11. **通用可复用**:适用于任何 Obsidian 笔记库
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.