zhuyuan-ice-gl-zy001/skills-mirror/tolaria-update/SKILL.md
2026-08-20 00:01:53 +08:00

101 lines
2.5 KiB
Markdown
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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. 再次验证两边一致
```