OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  skill-from-memory:将对话历史或已完成任务转换为可用技能技能

skill-from-memory:将对话历史或已完成任务转换为可用技能技能

 
  saas ·  2026-02-26 22:35:51 · 5 次点击  · 0 条评论  

名称: skill-from-memory
描述: 将记忆、对话历史或已完成的任务转化为可发布的 OpenClaw 技能。适用于以下情况:(1) 任务或工作流应可复用;(2) 从记忆中提取经验以创建工具;(3) 将已解决的问题打包为技能供未来使用;(4) 将技能发布到 GitHub 和 ClawHub 注册中心。


从记忆创建技能

将你的工作转化为可复用的技能。从对话历史或记忆文件中提取工作流、解决方案和模式,将其打包为技能,并发布到 GitHub 和 ClawHub。

概述

此技能自动化完整的工作流:
1. 提取 - 解析对话历史或记忆,寻找可复用的模式。
2. 设计 - 将其构建为包含 SKILL.md 和资源的规范技能。
3. 创建 - 生成技能文件和脚本。
4. 发布 - 推送到 GitHub 并发布到 ClawHub。

快速开始

基于最近对话创建技能

# 分析最近对话并创建技能草稿
./scripts/extract-from-history.sh /path/to/session.jsonl ./my-new-skill

# 或指定时间范围
./scripts/extract-from-history.sh /path/to/session.jsonl ./my-new-skill --since "2026-02-03" --pattern "backup"

基于记忆文件创建技能

# 从 Markdown 格式的记忆文件中提取
./scripts/extract-from-memory.sh /path/to/memory/2026-02-04.md ./my-new-skill

全自动创建与发布

# 一条命令:提取、创建和发布
./scripts/create-and-publish.sh \
  --source /path/to/session.jsonl \
  --skill-name "my-automation" \
  --github-repo "user/my-skills" \
  --clawhub-slug "my-automation"

工作流步骤

步骤 1:提取需求

从对话/记忆中识别:
- 任务模式:解决了什么工作流?
- 输入/输出:输入是什么,输出是什么?
- 脚本/工具:编写了什么代码?
- 关键决策:做出了哪些选择?

步骤 2:设计技能结构

决定资源类型:
- scripts/ - 用于可复用代码
- references/ - 用于文档
- assets/ - 用于模板/文件

步骤 3:创建技能文件

生成:
- 包含前言和说明的 SKILL.md
- scripts/ 目录下的脚本
- 任何参考文件

步骤 4:发布

推送到 GitHub 并发布到 ClawHub:

./scripts/publish.sh ./my-skill \
  --github "user/repo" \
  --clawhub-slug "my-skill" \
  --version "1.0.0"

脚本参考

extract-from-history.sh

解析对话 JSONL 以提取技能内容。

./scripts/extract-from-history.sh <session.jsonl> <output-dir> [选项]

选项:
  --since DATE     仅提取 DATE 之后的内容
  --pattern REGEX  筛选匹配模式的消息
  --tools-only     仅提取工具使用模式

extract-from-memory.sh

解析 Markdown 格式的记忆文件。

./scripts/extract-from-memory.sh <memory.md> <output-dir>

create-skill.sh

根据提取的内容生成技能结构。

./scripts/create-skill.sh <extracted-content-dir> <skill-name>

选项:
  --description "..."  技能描述
  --type workflow    技能类型 (workflow|tool|reference)

publish.sh

完整的发布工作流。

./scripts/publish.sh <skill-path> [选项]

选项:
  --github REPO      GitHub 仓库 (owner/repo)
  --clawhub-slug     ClawHub 标识符
  --version VER      版本标签
  --skip-github      跳过 GitHub 推送
  --skip-clawhub     跳过 ClawHub 发布

示例:将任务转化为技能

原始任务(来自对话)

用户:"帮我设置每天自动备份OpenClaw配置"
→ 代理创建备份脚本 + cron 设置

技能创建过程

  1. 提取
    bash ./scripts/extract-from-history.sh \ ~/.openclaw/agents/main/sessions/latest.jsonl \ ./extracted-backup

  2. 设计

    • 类型:工作流技能
    • 脚本:backup.sh, setup-cron.sh, cleanup.sh
    • 无需资源文件
  3. 创建
    bash ./scripts/create-skill.sh ./extracted-backup cron-backup \ --description "使用 cron 的自动化备份调度" \ --type workflow

  4. 发布
    bash ./scripts/publish.sh ./cron-backup \ --github "zfanmy/openclaw-skills" \ --clawhub-slug "cron-backup" \ --version "1.0.0"

最佳实践

优秀技能的特征

建议
- 单一、定义明确的目的
- 可在不同上下文中复用
- 包含可运行的脚本
- 清晰的使用示例
- 渐进式披露设计

避免
- 范围过广或定义模糊
- 硬编码个人路径
- 缺少错误处理
- 未记录的假设

从记忆中提取

寻找以下模式:
- "帮我写一个脚本..."
- "设置定时任务..."
- "以后每次都要..."
- "这个流程可以复用..."

GitHub 集成

所需设置:

# 配置 git
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

# 为 GitHub 设置 SSH 密钥
ssh-keygen -t ed25519 -C "your@email.com"
# 将 ~/.ssh/id_ed25519.pub 添加到 GitHub 设置 → SSH 密钥

# 登录 ClawHub
clawhub login

版本控制

遵循语义化版本控制:
- 1.0.0 - 初始版本
- 1.0.1 - 错误修复
- 1.1.0 - 新功能
- 2.0.0 - 重大变更

故障排除

提取不到内容

  • 检查会话文件路径
  • 使用 --since 验证日期范围
  • 尝试更宽泛的模式匹配

GitHub 推送失败

  • 验证 SSH 密钥是否已添加到 GitHub
  • 检查仓库是否存在且你有访问权限
  • 确保 git config user.name/email 已设置

ClawHub 发布失败

  • 先运行 clawhub login
  • 检查技能验证是否通过
  • 验证标识符是否唯一

技能使用时无效

  • 先手动测试脚本
  • 检查是否有硬编码路径
  • 验证所有依赖项已列出
  • 创建时使用 --examples 标志运行

相关技能

  • skill-creator - 底层技能创建工具
  • cron-backup - 示例输出技能(备份自动化)
  • clawhub - ClawHub CLI 操作
5 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor