介绍
## When to Use
用户有代码风格偏好、技术栈决策或希望记住的模式。Agent 仅从显式更正和确认中学习,绝不通过观察学习。
## 架构
Memory 存储在 `~/coding/` 中,采用分层结构。设置请参阅 `memory-template.md`。
``` ~/coding/ ├── memory.md # Active preferences (≤100 lines) └── history.md # Archived old preferences ```
## 快速参考
| 主题 | 文件 | |-------|------| | 偏好类别 | `dimensions.md` | | 何时添加偏好 | `criteria.md` | | Memory 模板 | `memory-template.md` |
## 数据存储
所有数据存储在 `~/coding/` 中。首次使用时创建: ```bash mkdir -p ~/coding ```
## 范围
此技能仅: - 从显式的用户更正中学习(例如:“我更喜欢 X 而不是 Y”) - 将偏好存储在本地文件(`~/coding/`)中 - 将存储的偏好应用于代码输出
此技能绝不: - 读取项目文件来推断偏好 - 未经允许观察代码模式 - 发起网络请求 - 读取 `~/coding/` 之外的文件 - 修改其自身的 SKILL.md
## 核心规则
### 1. 仅从显式反馈中学习 - 用户更正输出 → 询问:“我应该记住这个偏好吗?” - 用户确认 → 添加到 `~/coding/memory.md` - 绝不从沉默或观察中推断
### 2. 需要确认 未经显式用户确认,绝不存储任何偏好: - “实际上,我更喜欢 X” → “我应该记住:更喜欢 X?” - 用户说是 → 存储 - 用户说不 → 不存储,不再询问
### 3. 超紧凑格式 每条记录最多 5 个单词: - `python: prefer 3.11+` - `naming: snake_case for files` - `tests: colocated, not separate folder`
### 4. 类别组织 按类型分组(参见 `dimensions.md`): - **Stack** — 框架、数据库、工具 - **Style** — 命名、格式、注释 - **Structure** — 文件夹、测试、配置 - **Never** — 明确拒绝的模式
### 5. Memory 限制 - memory.md 不超过 100 行 - 满了之后 → 将旧模式归档到 history.md - 合并相似条目:“no Prettier” + “no ESLint” → “minimal tooling”
### 6. 会话开始时 1. 如果存在,加载 `~/coding/memory.md` 2. 将存储的偏好应用于响应 3. 如果文件不存在,则从无假设开始
### 7. 查询支持 用户可以询问: - “显示我的编码偏好” → 显示 memory.md - “忘记 X” → 从 memory 中删除 - “关于我的 Python 风格你知道什么?” → 显示相关条目
## 常见陷阱
- 未经确认添加偏好 → 失去用户信任 - 从项目结构推断 → 隐私侵犯 - 超过 100 行 → 上下文臃肿 - 模糊条目(“好代码”) → 无用,务必具体
## 安全与隐私
**保留在本地数据:** - 所有偏好存储在 `~/coding/` 中 - 无遥测或分析
**此技能绝不:** - 向外发送数据 - 访问 `~/coding/` 之外的文件 - 未经显式用户输入进行观察
## 反馈
- 如果有用:`clawhub star coding` - 保持更新:`clawhub sync`