Skill: lj22503/lj22503-context-manager (version 1.1.0)

--- name: context-manager version: 1.0.0 description: ［何时使用］当用户需要管理个人 Context（上下文）时；当用户说"记录触动事""整理认知""建立知识连接"时；当检测到"晨间日记""认知地图""知识整合"等关键词时 author: 燃冰 + ant created: 2026-04-16 skill_type: 通用🟡 allowed-tools: [Read, Write, Exec, Message] related_skills: [investment-framework, daily-output] tags: [context, 知识管理，认知激活，日记，熵减] self_improvement: false --- # Context-Manager 技能 🧠 **让知识从"收藏"变成"认知"，从"整理"变成"生长"** --- ## 🎯 核心理念 **在 AI 时代，Context（上下文）是唯一重要的事情。** AI 可以给你信息，但给不了你的 Context。 AI 可以写文章，但写不出你的风格。 AI 可以做决策，但做不出你的判断。 **因为 Context 是唯一的，是不可复制的。** --- ## 📋 你是怎么工作的 当用户触发这个 skill 时，你按以下流程执行： ### Step 0: 初始化目录结构 ⭐ 新增 ``` Step 1: 检查目录是否存在 Step 2: 如不存在，创建以下目录: - data/journal/ # 每日触动事 - data/external/ # 外部信息 - wechat/ - feishu/ - xiaohongshu/ - data/core/ # 最小内核 - data/connections/ # 认知连接 Step 3: 确认目录创建成功 ``` **注意**: 这是所有流程的前置步骤。 --- ### 流程 1：记录触动事（每日 3 件） ``` Step 1: 询问用户今天有什么触动的事 Step 2: 引导用户记录"我的判断" Step 3: 自动打标（#成长痛点# #关系锚点# #灵感触发#） Step 4: 存储到 data/journal/YYYY-MM-DD.md ``` **示例对话**： ``` 用户：帮我记录今天的触动事 你：好的！今天有什么触动你的事吗？（1-3 件都可以） 用户：读到一篇文章，讲 AI 时代的个人 Context 你：很有触动？你的判断是什么？ - 哪里对？ - 哪里漏了？ - 你可以怎么做？ 用户：核心观点对，但漏了 Context 需要主动管理 你：收到！已记录： --- title: AI 时代的个人 Context tags: [#认知管理，#AI 时代] created_at: 2026-04-16 --- 我的判断： - 核心观点对：Context 是唯一的护城河 - 但漏了一点：Context 需要主动管理 ``` ### 流程 2：整合外部信息 ``` Step 1: 接收外部信息（微信/飞书/小红书等） Step 2: 引导用户添加内心判断（如用户未提供） Step 3: 建立桥接（内心↔外部）⭐ 改进 Step 4: 存储到 data/external/对应目录 ``` **整合方式**： | 来源 | 整合方法 | |------|----------| | **微信** | 转发聊天记录 → 添加判断 → 存储 | | **飞书** | 复制链接 → 添加心得 → 存储 | | **小红书** | 收藏笔记 → 添加感受 → 存储 | | **元宝** | 导出对话 → 添加总结 → 存储 | | **本地文件** | 拖拽到指定目录 → 自动扫描 | **桥接逻辑** ⭐ 新增: ``` Step 1: 提取外部信息的核心观点（1-2 句） Step 2: 记录用户的内心判断 Step 3: 确定连接类型: - 引发：外部信息 → 引发内心判断 - 呼应：内心想法 → 找到外部支持 - 冲突：外部信息 → 与内心判断冲突 - 演化：内心判断 → 随时间演化 - 整合：多个外部信息 + 内心判断 → 新认知 Step 4: 存储桥接到 data/connections/bridge-YYYYMMDD-HHMMSS.md ``` **桥接记录格式** ⭐ 新增: ```markdown --- type: 引发/呼应/冲突/演化/整合 created_at: 2026-04-16 15:30 external: [外部信息摘要，1-2 句] internal: [内心判断] connection: [连接说明，为什么建立这个桥接] tags: [#标签] --- # 桥接记录 ## 外部信息 [详细内容或链接] ## 内心判断 [用户的判断和感受] ## 连接说明 [这个桥接的意义] ``` ### 流程 3：提炼最小内核（熵减 + 可用式启发）⭐ 核心 ``` Step 1: 定期回顾（每周/每月）所有笔记 Step 2: 识别高价值判断（触动深/连接多/更新频繁） Step 3: 提炼到最小内核（≤5000 字） Step 4: 应用可用式启发（盟友区增强，敌区约束） ``` **最小内核是什么？** **提炼人的 `claude.md` 或 `soul.md`。** 是你的： - **原则**：你坚信的做事方式 - **信念**：你认可的世界观 - **决策机制**：你做判断的标准 - **重要关注**：你持续投入的领域 **熵减机制**： **不是清理用户收集的信息。** 是**提炼最小内核**，保持精简（≤5000 字）。 **熵减原则**： - ❌ 删除：过时的原则/信念 - ❌ 删除：不再适用的决策机制 - ❌ 删除：已完成的关注事项 - ✅ 保留：核心原则（≤10 条） - ✅ 保留：核心信念（≤10 条） - ✅ 保留：核心决策机制（≤10 条） - ✅ 保留：重要关注（≤5 个领域） **可用式启发** ⭐ 改进: **决定哪些信息真的有用，不至于让人淹没在事情中。** **简化执行逻辑**: ``` Step 1: 扫描所有笔记 Step 2: 检查是否包含情感词（启发/震撼/共鸣/恍然大悟） Step 3: 检查被引用次数（≥3 次 = 高价值） Step 4: 检查最后更新时间（30 天内 = 近期） Step 5: 分类: - 盟友区：有情感词 OR 被引用≥3 次 OR 30 天内更新 - 敌区：无情感词 AND 无引用 AND 超过 90 天 Step 6: 生成报告给用户确认 ``` **盟友区**（优先展示）: - 有情感词（启发/震撼/共鸣） - 被多次引用（≥3 次） - 近期更新（30 天内） - 属于最小内核的内容 **敌区**（提示清理）: - 只存外部，无内心判断 - 超过 90 天无更新 - 无连接（孤立内容） **执行效果**: - 盟友区：在回顾/搜索时优先展示 - 敌区：在月提炼时提示确认删除 ### 流程 4：生成认知地图 ``` Step 1: 扫描所有笔记 Step 2: 提取核心认知（节点） Step 3: 建立连接（边） Step 4: 生成可视化地图 ``` **地图内容**： - 核心认知（高频出现的判断） - 认知连接（类似主题/场景/判断） - 演化路径（判断随时间的变化） --- ## 🧠 最小内核设计 **什么是"最小内核"？** 是你内化的： - **原则**：你坚信的做事方式 - **信念**：你认可的世界观 - **决策机制**：你做判断的标准 - **重要关注**：你持续投入的领域 **最小内核文件**：`data/core/minimal-kernel.md` **格式**： ```markdown # 我的最小内核 ## 原则 1. 极简主义：聚焦要事，拒绝分散 2. 第一性原理：回归本质，评估价值 3. 及时提醒：发散时提醒，避免浪费实践 ## 信念 1. 在 AI 时代，Context 是唯一重要的事情 2. 知识不在于收藏，在于激活 3. 认知成长来自日常的触动和判断 ## 决策机制 1. 重要决策前 → 搜索#决策背景# 2. 遇到困惑时 → 搜索#成长痛点# 3. 观点冲突时 → 搜索#判断更新# ## 重要关注 1. 一人 CEO 工具链 2. 投资框架 3. 认知科学 ``` **最小内核的维护**： - 每月回顾一次 - 更新原则/信念/决策机制 - 删除过时的，添加新的 --- ## 🧠 最小内核文件格式 **文件位置**：`minimal-kernel.md` **格式**： ```markdown # 我的最小内核 ## 原则（≤10 条） 1. 极简主义：聚焦要事，拒绝分散 2. 第一性原理：回归本质，评估价值 3. 及时提醒：发散时提醒，避免浪费实践 ## 信念（≤10 条） 1. 在 AI 时代，Context 是唯一重要的事情 2. 知识不在于收藏，在于激活 3. 认知成长来自日常的触动和判断 ## 决策机制（≤10 条） 1. 重要决策前 → 搜索#决策背景# 2. 遇到困惑时 → 搜索#成长痛点# 3. 观点冲突时 → 搜索#判断更新# ## 重要关注（≤5 个领域） 1. 一人 CEO 工具链 2. 投资框架 3. 认知科学 --- *最后更新*: 2026-04-16 *字数*: 1200/5000 ``` **维护规则**： - 每周回顾：添加新触动/判断 - 每月提炼：熵减过时内容 - 字数限制：≤5000 字（超限时必须熵减） --- ## 📥 怎么用起来？ ### 方式一：每日触动事（推荐） **每天 5 分钟**，记录 3 件触动你的事 + 你的判断。 **触发命令**： ``` /record-journal 或 帮我记录今天的触动事 ``` **流程**： 1. 输入触动事 2. 添加你的判断 3. 自动打标存储 4. 每周/月回顾 ### 方式二：整合外部信息 **当看到有价值的内容时**，添加到 Context-Manager。 **触发命令**： ``` /save-external 或 帮我保存这个 ``` **流程**： 1. 粘贴链接/内容 2. 添加你的判断 3. 自动建立桥接 4. 存储到对应目录 ### 方式三：定期熵减 **每周/每月一次**，清理低价值内容。 **触发命令**： ``` /entropy-reduce 或 帮我清理低价值内容 ``` **流程**： 1. 扫描所有笔记 2. 识别低价值内容 3. 提示确认删除 4. 保留核心认知 ### 方式四：生成认知地图 **随时查看**你的认知结构。 **触发命令**： ``` /generate-map 或 生成我的认知地图 ``` **流程**： 1. 扫描所有笔记 2. 提取核心认知 3. 建立连接 4. 生成可视化地图 --- ## 🔗 整合到现有工具 ### 整合到微信 **方法**： 1. 关注"文件传输助手" 2. 转发有价值内容到文件传输助手 3. 定期导出 → Context-Manager **自动化**（需配置）： - 使用微信机器人自动转发 - 设置关键词触发保存 ### 整合到飞书 **方法**： 1. 创建"Context 收集"多维表格 2. 设置自动化：新文档 → 通知 Context-Manager 3. 定期同步 **自动化**（需配置）： - 飞书自动化机器人 - Webhook 触发保存 ### 整合到元宝 **方法**： 1. 导出元宝对话（Markdown 格式） 2. 添加到 Context-Manager 3. 添加你的判断 **自动化**（需配置）： - 元宝 API 导出 - 定时同步脚本 ### 整合到本地 **方法**： 1. 设置"Context 收集"文件夹 2. 拖拽文件到文件夹 3. 自动扫描并存储 **自动化**（需配置）： - 文件夹监控脚本 - 自动打标存储 --- ## ⚠️ 注意事项 **必须遵守**： - ✅ 内心判断是核心（外部信息只是素材） - ✅ 每日记录（持续积累） - ✅ 定期提炼最小内核（≤5000 字） - ❌ 不要只存外部，不存内心 - ❌ 不要只记录，不回顾 - ❌ 不要让最小内核超过 5000 字 **模糊请求处理** ⭐ 新增: ``` 如果用户请求模糊（如"帮我管理一下知识"）: → 列出 4 个核心功能供选择 → 示例："我可以帮你：1.记录触动事 2.整合外部信息 3.提炼最小内核 4.生成认知地图。你想做哪个？" ``` --- ## 📊 成功指标 **如何判断 Context-Manager 是否有效？** | 指标 | 目标值 | 说明 | |------|--------|------| | 每日记录 | 3 件/天 | 触动事 + 判断 | | 周回顾 | 1 次/周 | 查看认知地图 | | 月提炼 | 1 次/月 | 熵减最小内核 | | 最小内核 | ≤5000 字 | 原则/信念/决策机制 | | 连接密度 | >3 | 每个笔记平均连接数 | --- ## 📌 关于本文 本文是**燃冰**和**小蚂蚁**共同协作的产物。 **燃冰**负责方向决策、内容 review 和最终拍板。 **小蚂蚁**负责信息整理、草稿生成和自动化执行。 一人 CEO，不是一个人干所有事。 是用工具和 AI，放大个人能力。 🔗 --- *Context-Manager v1.0.0 | 2026-04-16* **灵感来源**： - 马伯庸：写日记的重要性 - 罗振宇：推崇日记作为认知工具 - 晨间日记：每日记录 3 件触动事 - Karpathy LLM Wiki：个人知识管理理论 - 可用式启发：有用内容唤醒权重 **GitHub**: 待创建 **ClawHub**: 待发布

path: README.md
content: # Context-Manager Skill

**让知识从"收藏"变成"认知"，从"整理"变成"生长"**

---

## 🎯 核心理念

在 AI 时代，Context（上下文）是唯一重要的事情。

AI 可以给你信息，但给不了你的 Context。

AI 可以写文章，但写不出你的风格。

AI 可以做决策，但做不出你的判断。

**因为 Context 是唯一的，是不可复制的。**

---

## 🚀 快速开始

### 安装

```bash
clawhub install context-manager
```

### 使用

**每日触动事**（推荐）:
```
帮我记录今天的触动事
```

**整合外部信息**:
```
帮我保存这个内容：[链接/内容]
```

**提炼最小内核**:
```
帮我提炼最小内核
```

**生成认知地图**:
```
生成我的认知地图
```

---

## 📋 核心功能

| 功能 | 说明 | 命令 |
|------|------|------|
| **记录触动事** | 每日 3 件触动事 + 判断 | `/record-journal` |
| **整合外部信息** | 微信/飞书/小红书/元宝/本地 | `/save-external` |
| **提炼最小内核** | 熵减 + 可用式启发（≤5000 字） | `/refine-kernel` |
| **生成认知地图** | 可视化思维结构 | `/generate-map` |

---

## 🧠 最小内核

**提炼人的 `claude.md` 或 `soul.md`。**

格式:
```markdown
# 我的最小内核

## 原则（≤10 条）
## 信念（≤10 条）
## 决策机制（≤10 条）
## 重要关注（≤5 个领域）
```

字数限制：≤5000 字

---

## 📊 成功指标

| 指标 | 目标值 | 说明 |
|------|--------|------|
| 每日记录 | 3 件/天 | 触动事 + 判断 |
| 周回顾 | 1 次/周 | 查看认知地图 |
| 月提炼 | 1 次/月 | 熵减最小内核 |
| 最小内核 | ≤5000 字 | 原则/信念/决策机制 |

---

## 📝 更新日志

### v1.1.0 (2026-04-16)

**skill-evolve Round 1 改进**:
- ✅ 添加 Step 0 目录初始化
- ✅ 明确桥接逻辑（5 步骤 + 格式模板）
- ✅ 简化可用式启发（量化标准 +6 步流程）
- ✅ 添加模糊请求处理

### v1.0.0 (2026-04-16)

**初始版本**:
- 核心功能：记录/整合/提炼/地图
- 最小内核设计
- 整合到微信/飞书/元宝/本地

---

## 📌 关于

**作者**: 燃冰 + ant  
**灵感来源**: 马伯庸日记、罗振宇推崇、晨间日记、Karpathy LLM Wiki  
**许可证**: MIT

**GitHub**: https://github.com/lj22503/context-manager  
**ClawHub**: https://clawhub.ai/skills/context-manager


path: clawhub.json
content: {
  "name": "context-manager",
  "version": "1.1.0",
  "description": "Context 管理技能 - 让知识从收藏变成认知，从整理变成生长（v1.1.0 skill-evolve Round 1 改进）",
  "author": "燃冰 + ant",
  "license": "MIT",
  "keywords": ["context", "知识管理", "认知激活", "日记", "熵减", "最小内核"],
  "category": "productivity",
  "tags": ["context", "knowledge-management", "journal", "cognitive-activation"],
  "main": "SKILL.md",
  "files": ["SKILL.md", "evolve-test"],
  "repository": {"type": "git", "url": "https://github.com/lj22503/women-awakening-museum.git"}
}


path: evolve-test/round-1/observations.md
content: # Round 1 观察记录

**执行时间**: 2026-04-16 15:15  
**执行者**: ant  
**Skill**: Context-Manager v1.0.0

---

## Prompt 1: Happy Path - 记录触动事

**输入**:
```
帮我记录今天的触动事
今天读到一篇文章，讲 AI 时代的个人 Context，很有启发。我觉得核心观点对，但漏了 Context 需要主动管理。
```

**执行过程**:
1. Skill 被正确触发（description 匹配）
2. 引导用户补充判断 ✅
3. 自动打标 ✅
4. 尝试存储到 `data/journal/2026-04-16.md`

**结果**: ⚠️ **部分成功**

**问题**:
1. `data/` 目录不存在，存储失败
2. 没有创建目录的指令
3. 示例输出格式正确，但实际执行会报错

**猜测原因**:
- SKILL.md 中只说了"存储到 data/journal/"，但没有说明目录不存在时怎么处理
- 缺少"确保目录存在"的前置步骤

---

## Prompt 2: 整合外部信息

**输入**:
```
帮我保存这个内容：
https://clawhub.ai/skills/investment-buddy-pet
这是投资宠物技能，我觉得设计得很好，特别是宠物人格化这个点。可以用在我的投资框架里。
```

**执行过程**:
1. Skill 被正确触发 ✅
2. 接收外部链接 ✅
3. 用户已添加判断，无需再引导 ✅
4. 尝试存储到 `data/external/`

**结果**: ⚠️ **部分成功**

**问题**:
1. 同样目录不存在
2. "建立桥接"步骤没有具体指令——怎么建立？和谁建立？
3. 没有说明桥接的存储格式

**猜测原因**:
- 桥接逻辑太模糊，没有可执行的步骤
- 缺少桥接记录的文件格式定义

---

## Prompt 3: 提炼最小内核

**输入**:
```
帮我提炼一下最小内核。我最近记录了很多触动事，但感觉太散了，想整理出核心原则。
```

**执行过程**:
1. Skill 被正确触发 ✅
2. 尝试扫描所有笔记
3. 识别高价值判断
4. 提炼到≤5000 字

**结果**: ❌ **失败**

**问题**:
1. 没有笔记可扫描（之前存储失败）
2. "识别高价值判断"没有具体标准——什么叫"触动深"？怎么量化？
3. "可用式启发"没有执行逻辑——怎么提高权重？
4. 盟友区/敌区的判断标准太模糊

**猜测原因**:
- 这个流程依赖于之前正确执行，但存储环节有 bug
- "高价值判断"的定义太主观，没有可操作的标准
- 可用式启发只有理念，没有具体算法

---

## Prompt 4: 边缘场景 - 模糊请求

**输入**:
```
帮我管理一下知识
```

**执行过程**:
1. Skill 被触发（"知识"匹配 description 中的关键词）
2. 应该澄清用户需求

**结果**: ⚠️ **未测试**

**问题**:
- SKILL.md 中没有"模糊请求处理"的指引
- 没有澄清话术模板

**猜测原因**:
- 缺少边界条件处理

---

## Prompt 5: 反向测试

**输入**:
```
今天天气不错，适合出去玩
```

**执行过程**:
1. description 中没有触发词
2. 理论上不该触发

**结果**: ✅ **未触发**（正确）

---

## 总结

### 成功点
- ✅ 触发逻辑清晰（description 准确）
- ✅ 示例对话设计好
- ✅ 最小内核概念有价值

### 核心问题

| 问题 | 出现次数 | 根因 | 影响面 |
|------|----------|------|--------|
| P01: 目录不存在导致存储失败 | 2 次 | 缺少前置步骤（确保目录存在） | 高 |
| P02: 桥接逻辑模糊 | 1 次 | 只有理念，没有可执行步骤 | 高 |
| P03: 高价值判断标准缺失 | 1 次 | 主观定义，无法量化 | 中 |
| P04: 可用式启发无执行逻辑 | 1 次 | 只有表格，没有算法 | 中 |
| P05: 模糊请求处理缺失 | 1 次 | 缺少边界条件 | 低 |

---


path: evolve-test/round-1/patterns.md
content: # Round 1 模式提炼

**执行时间**: 2026-04-16 15:20

---

## 错误模式表

### P01: 存储目录不存在 ⭐ 最高优先级

**出现次数**: 2 次（Prompt 1, 2）

**表现**: 
- 尝试存储到 `data/journal/` 或 `data/external/`
- 目录不存在，写入失败

**根因**:
- SKILL.md 中只说"存储到 data/xxx/"
- 没有"确保目录存在"的前置步骤
- 没有目录结构初始化逻辑

**影响面**: 高（核心功能失效）

**修复方案**:
```
在流程开始前添加:
Step 0: 确保目录结构存在
- data/journal/
- data/external/
- data/core/
- data/connections/
```

---

### P02: 桥接逻辑不可执行 ⭐ 高优先级

**出现次数**: 1 次（Prompt 2）

**表现**:
- SKILL.md 说"建立桥接（内心↔外部）"
- 但没有具体步骤
- 没有桥接记录格式

**根因**:
- 只有理念，没有可执行逻辑
- 缺少桥接记录的文件格式定义

**影响面**: 高（核心价值主张无法实现）

**修复方案**:
```
明确桥接步骤:
Step 1: 提取外部信息的核心观点
Step 2: 记录用户的内心判断
Step 3: 建立连接类型（引发/呼应/冲突/演化/整合）
Step 4: 存储到 data/connections/bridge-YYYYMMDD-HHMMSS.md

桥接记录格式:
---
type: 引发/呼应/冲突/演化/整合
external: [外部信息摘要]
internal: [内心判断]
connection: [连接说明]
---
```

---

### P03: 高价值判断标准缺失 ⭐ 中优先级

**出现次数**: 1 次（Prompt 3）

**表现**:
- "识别高价值判断（触动深/连接多/更新频繁）"
- 但"触动深"怎么量化？
- "连接多"是多少？
- "更新频繁"的频率定义？

**根因**:
- 主观定义，没有可操作标准

**影响面**: 中（影响提炼质量）

**修复方案**:
```
量化标准:
- 触动深：包含情感词（启发/震撼/共鸣/恍然大悟）
- 连接多：被引用≥3 次
- 更新频繁：30 天内更新≥2 次

简化版:
- 有情感词 → 高价值
- 被多次引用 → 高价值
- 近期更新 → 高价值
```

---

### P04: 可用式启发无执行逻辑 ⭐ 中优先级

**出现次数**: 1 次（Prompt 3）

**表现**:
- 盟友区/敌区表格很清晰
- 但"提高权重"具体怎么做？
- "降低权重"具体怎么做？

**根因**:
- 只有分类，没有执行逻辑

**影响面**: 中（影响用户体验）

**修复方案**:
```
简化可用式启发:
- 盟友区：在回顾/搜索时优先展示
- 敌区：在回顾时提示确认删除

执行逻辑:
1. 扫描笔记，检查是否包含情感词
2. 检查被引用次数
3. 检查最后更新时间
4. 分类到盟友区/敌区
5. 生成报告给用户确认
```

---

### P05: 模糊请求处理缺失 ⭐ 低优先级

**出现次数**: 1 次（Prompt 4）

**表现**:
- 用户说"帮我管理一下知识"
- 没有澄清话术

**根因**:
- 缺少边界条件处理

**影响面**: 低（边缘场景）

**修复方案**:
```
添加模糊请求处理:
如果用户请求模糊:
1. 列出 4 个核心功能供选择
2. 示例："我可以帮你：1.记录触动事 2.整合外部信息 3.提炼最小内核 4.生成认知地图。你想做哪个？"
```

---

## 改进优先级

| 优先级 | 模式 | 修复难度 | 说明 |
|--------|------|----------|------|
| P0 | P01: 目录不存在 | 低 | 核心功能阻塞 |
| P0 | P02: 桥接逻辑 | 中 | 核心价值主张 |
| P1 | P03: 高价值标准 | 低 | 影响提炼质量 |
| P1 | P04: 可用式启发 | 中 | 影响用户体验 |
| P2 | P05: 模糊请求 | 低 | 边缘场景 |

---

## Round 1 改进计划

**本轮修复**（JIT 原则：每轮只改一件事）:

**聚焦**: P01 + P02（核心功能阻塞）

**改动**:
1. 添加目录初始化步骤
2. 明确桥接逻辑和格式
3. 简化可用式启发执行逻辑

**留到 Round 2**:
- P03: 高价值判断标准细化
- P04: 可用式启发完整实现
- P05: 模糊请求处理

---


path: evolve-test/round-1/prompts.md
content: # Round 1 测试 Prompt

## Prompt 1: Happy Path - 记录触动事（核心场景）

```
帮我记录今天的触动事

今天读到一篇文章，讲 AI 时代的个人 Context，很有启发。我觉得核心观点对，但漏了 Context 需要主动管理。
```

**预期**：
- 引导用户补充判断
- 自动打标存储
- 生成 journal 文件

---

## Prompt 2: 整合外部信息（常见场景）

```
帮我保存这个内容：

https://clawhub.ai/skills/investment-buddy-pet

这是投资宠物技能，我觉得设计得很好，特别是宠物人格化这个点。可以用在我的投资框架里。
```

**预期**：
- 接收外部链接
- 引导添加内心判断
- 存储到 external/
- 建立桥接

---

## Prompt 3: 提炼最小内核（核心功能）

```
帮我提炼一下最小内核。我最近记录了很多触动事，但感觉太散了，想整理出核心原则。
```

**预期**：
- 扫描所有笔记
- 识别高价值判断
- 提炼到≤5000 字
- 生成 minimal-kernel.md

---

## Prompt 4: 边缘场景 - 模糊请求

```
帮我管理一下知识
```

**预期**：
- 澄清用户具体需求
- 引导选择功能（记录/整合/提炼/地图）
- 不直接执行模糊指令

---

## Prompt 5: 反向测试 - 不该触发的场景

```
今天天气不错，适合出去玩
```

**预期**：
- 不触发 Context-Manager
- 正常对话回应
- 不强制记录

---


path: evolve-test/round-1/summary.md
content: # Round 1 改进总结

**执行时间**: 2026-04-16 15:30  
**改进者**: ant

---

## 改进内容

### 1. 添加目录初始化步骤 ✅

**改动位置**: SKILL.md - Step 0

**改动内容**:
```markdown
### Step 0: 初始化目录结构 ⭐ 新增

Step 1: 检查目录是否存在
Step 2: 如不存在，创建以下目录:
- data/journal/           # 每日触动事
- data/external/          # 外部信息
  - wechat/
  - feishu/
  - xiaohongshu/
- data/core/              # 最小内核
- data/connections/       # 认知连接
Step 3: 确认目录创建成功
```

**解决问题**: P01 - 目录不存在导致存储失败

---

### 2. 明确桥接逻辑和格式 ✅

**改动位置**: SKILL.md - 流程 2

**改动内容**:
- 添加桥接 5 步骤（提取→记录→分类→存储）
- 定义 5 种连接类型（引发/呼应/冲突/演化/整合）
- 新增桥接记录格式模板

**解决问题**: P02 - 桥接逻辑不可执行

---

### 3. 简化可用式启发执行逻辑 ✅

**改动位置**: SKILL.md - 提炼最小内核流程

**改动内容**:
- 量化标准：情感词、引用次数、更新时间
- 简化分类：盟友区/敌区明确判断标准
- 执行逻辑：6 步可操作流程

**解决问题**: P03 + P04 - 高价值标准和可用式启发无执行逻辑

---

### 4. 添加模糊请求处理 ✅

**改动位置**: SKILL.md - 注意事项

**改动内容**:
```markdown
如果用户请求模糊（如"帮我管理一下知识"）:
→ 列出 4 个核心功能供选择
→ 示例："我可以帮你：1.记录触动事 2.整合外部信息 3.提炼最小内核 4.生成认知地图。你想做哪个？"
```

**解决问题**: P05 - 模糊请求处理缺失

---

## 改进效果验证

### 重新测试 Prompt 1

**输入**:
```
帮我记录今天的触动事
今天读到一篇文章，讲 AI 时代的个人 Context，很有启发。
```

**预期结果**:
1. ✅ 先初始化目录结构
2. ✅ 引导用户补充判断
3. ✅ 存储到 data/journal/2026-04-16.md（目录已存在）

**状态**: 待验证

---

### 重新测试 Prompt 2

**输入**:
```
帮我保存这个内容：
https://clawhub.ai/skills/investment-buddy-pet
我觉得设计得很好，特别是宠物人格化这个点。
```

**预期结果**:
1. ✅ 先初始化目录结构
2. ✅ 用户已提供判断，无需再引导
3. ✅ 建立桥接（类型：引发）
4. ✅ 存储到 data/external/ + data/connections/

**状态**: 待验证

---

## 遗留问题（Round 2 改进）

| 问题 | 优先级 | 说明 |
|------|--------|------|
| P03: 高价值判断标准细化 | 中 | 需要更多真实数据验证 |
| P04: 可用式启发完整实现 | 中 | 需要权重算法 |
| P06: 认知地图生成逻辑 | 低 | 新增问题，需要可视化方案 |

---

## 版本更新

**改进前**: v1.0.0  
**改进后**: v1.1.0

**改动统计**:
- 新增：Step 0 目录初始化
- 改进：桥接逻辑（5 步骤 + 格式模板）
- 改进：可用式启发（量化标准）
- 新增：模糊请求处理

---

## 下一步

1. **验证改进效果**: 重新跑 5 个测试 prompt
2. **收集真实数据**: 让用户实际使用 1 周
3. **Round 2 改进**: 基于真实数据细化标准

---

*Round 1 完成 | 2026-04-16 15:30*


path: scripts/entropy_reduce.py
content: #!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Entropy Reduce Script - Context-Manager 熵减脚本

功能：识别并清理低价值内容，保留核心认知

用法:
    python scripts/entropy_reduce.py [--dry-run] [--force]
"""

import os
import sys
import json
from pathlib import Path
from datetime import datetime, timedelta

class EntropyReduce:
    """熵减引擎"""
    
    def __init__(self, data_path=None):
        self.data_path = Path(data_path) if data_path else Path(__file__).parent.parent / "data"
        self.journal_path = self.data_path / "journal"
        self.external_path = self.data_path / "external"
        self.core_path = self.data_path / "core"
        self.connections_path = self.data_path / "connections" / "connections.json"
        
        # 统计信息
        self.stats = {
            "scanned": 0,
            "low_value": 0,
            "to_delete": [],
            "to_keep": [],
            "core_updated": False
        }
    
    def load_connections(self):
        """加载认知连接"""
        if not self.connections_path.exists():
            return {}
        
        with open(self.connections_path, 'r', encoding='utf-8') as f:
            return json.load(f)
    
    def count_connections(self, note_name):
        """计算笔记的连接数"""
        connections = self.load_connections()
        
        count = 0
        for conn in connections.get("connections", []):
            if note_name in conn.get("nodes", []):
                count += 1
        
        return count
    
    def has_inner_judgment(self, content):
        """检查是否有内心判断"""
        judgment_keywords = [
            "我的判断", "我觉得", "我认为", "我的感受",
            "触动", "启发", "想到", "反思"
        ]
        
        for keyword in judgment_keywords:
            if keyword in content:
                return True
        
        return False
    
    def is_core_content(self, content):
        """检查是否属于最小内核"""
        core_keywords = [
            "#原则#", "#信念#", "#决策机制#", "#重要关注#",
            "最小内核", "core", "kernel"
        ]
        
        for keyword in core_keywords:
            if keyword in content:
                return True
        
        return False
    
    def scan_journal(self):
        """扫描日记"""
        print("  扫描 journal/ ...")
        
        if not self.journal_path.exists():
            print("    目录不存在")
            return
        
        for md_file in self.journal_path.glob("*.md"):
            self.stats["scanned"] += 1
            
            try:
                content = md_file.read_text(encoding='utf-8')
            except Exception as e:
                print(f"    读取失败 {md_file.name}: {e}")
                continue
            
            # 检查是否低价值
            reasons = []
            
            # 1. 无内心判断
            if not self.has_inner_judgment(content):
                reasons.append("无内心判断")
            
            # 2. 连接数少
            conn_count = self.count_connections(md_file.stem)
            if conn_count == 0:
                reasons.append("无连接")
            
            # 3. 过时（超过 90 天无更新）
            mtime = datetime.fromtimestamp(md_file.stat().st_mtime)
            if datetime.now() - mtime > timedelta(days=90):
                reasons.append("超过 90 天无更新")
            
            # 判断是否低价值
            if len(reasons) >= 2:  # 至少 2 个问题才标记为低价值
                self.stats["low_value"] += 1
                self.stats["to_delete"].append({
                    "path": str(md_file),
                    "reasons": reasons
                })
            else:
                self.stats["to_keep"].append(str(md_file))
    
    def scan_external(self):
        """扫描外部信息"""
        print("  扫描 external/ ...")
        
        if not self.external_path.exists():
            print("    目录不存在")
            return
        
        for md_file in self.external_path.rglob("*.md"):
            self.stats["scanned"] += 1
            
            try:
                content = md_file.read_text(encoding='utf-8')
            except Exception as e:
                print(f"    读取失败 {md_file.name}: {e}")
                continue
            
            # 检查是否低价值
            reasons = []
            
            # 1. 无内心判断
            if not self.has_inner_judgment(content):
                reasons.append("无内心判断")
            
            # 2. 连接数少
            conn_count = self.count_connections(md_file.stem)
            if conn_count == 0:
                reasons.append("无连接")
            
            # 判断是否低价值
            if len(reasons) >= 2:
                self.stats["low_value"] += 1
                self.stats["to_delete"].append({
                    "path": str(md_file),
                    "reasons": reasons
                })
            else:
                self.stats["to_keep"].append(str(md_file))
    
    def update_minimal_kernel(self):
        """更新最小内核"""
        print("  更新最小内核...")
        
        # 确保目录存在
        self.core_path.mkdir(parents=True, exist_ok=True)
        
        kernel_path = self.core_path / "minimal-kernel.md"
        
        if not kernel_path.exists():
            # 创建默认最小内核
            default_kernel = """# 我的最小内核

## 原则
（待完善：你坚信的做事方式）

## 信念
（待完善：你认可的世界观）

## 决策机制
（待完善：你做判断的标准）

## 重要关注
（待完善：你持续投入的领域）

---
*最后更新*: """ + datetime.now().strftime('%Y-%m-%d')
            
            kernel_path.write_text(default_kernel, encoding='utf-8')
            print("    创建默认最小内核")
        else:
            print("    最小内核已存在")
        
        self.stats["core_updated"] = True
    
    def generate_report(self):
        """生成熵减报告"""
        report = f"""## 熵减报告 - {datetime.now().strftime('%Y-%m-%d %H:%M')}

### 统计信息
- 扫描文件数：{self.stats['scanned']}
- 低价值内容：{self.stats['low_value']}
- 待删除：{len(self.stats['to_delete'])}
- 待保留：{len(self.stats['to_keep'])}
- 最小内核：{"已更新" if self.stats['core_updated'] else "未更新"}

### 待删除内容
"""
        
        for item in self.stats["to_delete"][:20]:  # 只显示前 20 个
            report += f"- `{item['path']}`\n"
            report += f"  原因：{', '.join(item['reasons'])}\n"
        
        if len(self.stats["to_delete"]) > 20:
            report += f"- ... 还有 {len(self.stats['to_delete']) - 20} 个\n"
        
        return report
    
    def run(self, dry_run=False, force=False):
        """运行熵减流程"""
        print("🧹 开始熵减...")
        print(f"  数据目录：{self.data_path}")
        print()
        
        if dry_run:
            print("🔍 模拟运行模式（不删除文件）")
            print()
        
        # 扫描
        self.scan_journal()
        self.scan_external()
        
        print()
        
        # 更新最小内核
        self.update_minimal_kernel()
        
        print()
        
        # 生成报告
        report = self.generate_report()
        print(report)
        
        # 删除文件
        if not dry_run and force:
            print("🗑️  执行删除...")
            for item in self.stats["to_delete"]:
                try:
                    Path(item["path"]).unlink()
                    print(f"  删除：{item['path']}")
                except Exception as e:
                    print(f"  删除失败 {item['path']}: {e}")
        elif not dry_run:
            print("💡 提示：使用 --force 参数执行删除")
        
        print()
        print("✅ 熵减完成")


def main():
    import argparse
    
    parser = argparse.ArgumentParser(description='Entropy Reduce - Context-Manager 熵减脚本')
    parser.add_argument('--dry-run', action='store_true', help='模拟运行，不删除文件')
    parser.add_argument('--force', action='store_true', help='强制执行删除')
    
    args = parser.parse_args()
    
    reducer = EntropyReduce()
    reducer.run(dry_run=args.dry_run, force=args.force)


if __name__ == '__main__':
    main()


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)