Skip to content
Back to skills

Obsidian Note Workflow

ASecurity

Use 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
ai-agentsgobashnode

Works with

  • cli

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add nicholyx/ai-skills --skill obsidian-note-workflow --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Obsidian Note Workflow?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Obsidian Note Workflow
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nicholyx-obsidian-note-workflow/badge)](https://www.skillsdirectory.com/skills/nicholyx-obsidian-note-workflow)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.