zhuyuan-ice-gl-zy001/skills-mirror/tolaria-update/SKILL.md

101 lines
2.5 KiB
Markdown
Raw Normal View History

2026-08-20 00:01:53 +08:00
---
name: tolaria-update
description: 更新Tolaria笔记库(~/Desktop/Tolaria笔记库/)中的Markdown文件。当需要修改、插入、替换Tolaria笔记内容时使用。包含可靠的文件写入方法和验证步骤。
---
# Tolaria笔记库文件更新技能
## 触发条件
- 需要更新 `~/Desktop/Tolaria笔记库/` 中的任何 `.md` 文件
- 需要同步更新笔记库和移动硬盘JZAO上的对应内容
## 核心规则
### 路径映射
```
Tolaria笔记库(人类可读层): ~/Desktop/Tolaria笔记库/
移动硬盘JZAO(资产实际层): /Volumes/JZAO/光湖项目/短剧视频AI/
```
读笔记时 -> 映射到JZAO硬盘核实最新状态
写笔记时 -> 两边同步更新
### 文件写入方法(按优先级)
#### 方法一:单行替换 -> sed
```bash
sed -i '' 's/旧文本/新文本/' "文件路径"
```
- macOS用 `sed -i ''`(空字符串表示不备份)
- 适合替换一行内的文本
- 含中文/特殊Unicode符号也能正常工作
#### 方法二:多行插入 -> Python readlines + insert
```python
filepath = '文件路径'
with open(filepath, 'r', encoding='utf-8') as f:
lines = f.readlines()
for i, line in enumerate(lines):
if '定位关键词' in line:
insert_after = i
break
new_content = '''
新内容行1
新内容行2
'''
lines.insert(insert_after + 1, new_content)
with open(filepath, 'w', encoding='utf-8') as f:
f.writelines(lines)
```
- 逐行读取 -> 找到位置 -> insert -> 逐行写回
- **不要**用 `read().replace().write()`,会静默失败
#### 方法三:创建新文件 -> cat heredoc
```bash
cat > "文件路径" << 'ENDOFFILE'
文件内容
ENDOFFILE
```
- 适合在JZAO移动硬盘上创建新文件
- 用单引号防止变量展开
### 绝对禁止
- **禁止** Python `str.replace()` 全文件替换 -> Mac上含中文/emoji/特殊Unicode的Markdown会静默失败
- **禁止** 只改一边 -> 笔记库和JZAO必须同步
- **禁止** 写入后不验证
## 验证步骤
每次写入后**必须**用grep验证:
```bash
grep -n "关键词" "文件路径"
```
- 确认新内容出现了
- 确认旧内容已消失(如果是替换)
- grep返回空 = 写入失败,需要重试
## 完整工作流
```
1. 读Tolaria笔记 -> 映射到JZAO硬盘核实实际状态
2. 确定要更新的内容
3. 选择写入方法(sed / Python readlines / cat heredoc)
4. 执行写入
5. grep验证是否生效
6. 如果涉及JZAO文件,同步更新
7. 再次验证两边一致
```