Install
openclaw skills install @jzocb/jz-self-improving-skill让任何 writing style skill 自动从人类修改中学习。 只需要两个数据点:AI 原稿 (original) 和人类最终版 (final)。 自动 diff → 提取规则 → 更新目标 SKILL.md。 兼容 Claude Code (~/.claude/skills/) 和 OpenClaw (ClawHub)。
openclaw skills install @jzocb/jz-self-improving-skill让你的 writing style skill 越用越准。
AI 写初稿 → 人类改到满意 → 对比两版 → 提取规则 → 更新 skill
↑ ↓
└──────── 下次写作自动应用新规则 ←──────────────┘
只有两个数据点:
中间过程不记录。Google Doc 来回改了 10 轮?无所谓,只比较首尾。
在你的 writing style skill 目录下创建 self-improving.yaml:
# ~/your-skill/self-improving.yaml
target_skill: ~/path/to/your-writing-style/SKILL.md
log_dir: ~/clawd/memory/skill-runs/your-skill-name/
proposal_dir: ~/clawd/memory/skill-proposals/your-skill-name/
backup_dir: ~/clawd/memory/skill-backups/your-skill-name/
或者用环境变量 / 命令行参数覆盖(见下文)。
python3 ~/clawd/skills/self-improving-skill/scripts/observe.py record-original <file> \
--skill ~/path/to/your-writing-style/
或直接传文本:
python3 observe.py record-original --text "AI 生成的内容..."
输出:
✅ 记录原稿: a3f8c2e1
📝 字数: 1234
记住这个 hash(a3f8c2e1),后面配对用。
python3 observe.py record-final <file> --match a3f8c2e1
如果人类没改直接用了? 也 record-final,脚本自动检测内容一致 → 标记为无修改(正反馈)。
# 手动提取
python3 ~/clawd/skills/self-improving-skill/scripts/improve.py extract --days 7
# 或自动模式(适合 cron):提取 + 自动应用 P0 规则
python3 improve.py auto
python3 improve.py show # 查看所有提案
python3 improve.py apply <id> # 应用某个提案
python3 improve.py rollback # 回滚上次应用
在你的 contentgen / writing skill 中加入:
## 写完内容后必须做的事
1. 写完初稿 → `observe.py record-original <file>`
2. 人类确认最终版 → `observe.py record-final <file> --match <hash>`
# 每晚自动提取 + 应用 P0 规则
# schedule: 0 23 * * * (每晚 11pm)
python3 ~/clawd/skills/self-improving-skill/scripts/improve.py auto \
--skill ~/path/to/your-writing-style/
OpenClaw 用户可以用内置 cron:
cron add --name "skill-daily-extract" --schedule "0 23 * * *" --tz "America/New_York" \
--payload "运行 improve.py auto 自动提取写作风格改进"
~/clawd/memory/
├── skill-runs/your-skill/
│ └── YYYY-MM-DD.jsonl # 每日观察日志
│ ├── {type: "original", content_hash, content, context}
│ └── {type: "final", content_hash, original_content, final_content, no_change}
│
├── skill-proposals/your-skill/
│ └── YYYYMMDD-HHMMSS.md # 改进提案(P0/P1/P2 分级)
│
└── skill-backups/your-skill/
└── SKILL-YYYYMMDD-HHMMSS.md # apply 前自动备份
| 数据 | 价值 |
|---|---|
| AI 原稿 2000 字 → final 1800 字(删了废话) | ⭐⭐⭐ 高 |
| AI 原稿 → final 完全不变(直接用) | ⭐⭐ 正反馈 |
| AI 原稿 500 字 → final 2000 字(大幅扩写) | ⭐ 低(扩写靠 prompt 不靠 style) |
| AI 原稿 → final 只改了一个错别字 | ⭐ 低(不是风格问题) |
skill-backups/improve.py rollback| 命令 | 功能 |
|---|---|
record-original <file> | 记录 AI 原稿 |
record-original --text "..." | 直接传文本 |
record-final <file> --match <hash> | 记录最终版 |
pending | 查看待配对原稿 |
stats | 总体统计 |
| 命令 | 功能 |
|---|---|
extract | 提取改进建议(默认今天) |
extract --days 7 | 最近 7 天 |
auto | 自动提取 + 应用 P0(cron 用) |
show | 查看所有提案 |
apply <id> | 应用指定提案 |
rollback | 回滚上次应用 |
这个 framework 不限于写作风格,任何 "AI 生成 → 人类修改" 的循环都适用:
核心不变:记录 original + final,自动 diff 提取规则。
# 方式 1: 直接复制到 skills 目录
cp -r self-improving-skill ~/.claude/skills/
# 方式 2: 项目级 skill
cp -r self-improving-skill ./your-project/.claude/skills/
数据自动存储在 ~/.claude/memory/skill-runs/ 下。
# 方式 1: ClawHub 安装
npx clawhub@latest install self-improving-skill
# 方式 2: 手动复制
cp -r self-improving-skill ~/clawd/skills/
数据自动存储在 ~/clawd/memory/skill-runs/ 下。
improve.py extract/auto 需要一个 LLM CLI 来分析 diff。自动检测:
| CLI | 安装 | 说明 |
|---|---|---|
claude | Claude Code 自带 | 优先使用 |
llm | pip install llm | Simon Willison 的通用 CLI |
| 自定义 | IMPROVE_LLM_CMD=... | 任意接受 stdin 的命令 |
observe.py 不依赖任何 LLM,纯 Python,零依赖。
# 环境变量
export SKILL_BASE_DIR=~/my-custom-path/memory
# 或命令行参数
python3 observe.py stats --log-dir ~/my-path/skill-runs/my-skill/