skillclaw-skill-evolution
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkillClaw: Collective Skill Evolution for LLM Agents
SkillClaw:面向LLM Agent的集体技能演进
Skill by ara.so — Daily 2026 Skills collection.
SkillClaw is a framework that makes LLM agents progressively smarter by evolving reusable skills from real session data and sharing them across a group of agents. It intercepts OpenAI-compatible API calls via a local proxy, records session artifacts, and runs an evolve server that distills experience into files synced via cloud storage (OSS/S3/local).
SKILL.md由ara.so开发的Skill——2026每日技能合集。
SkillClaw是一款框架,可通过从真实会话数据中演进可复用技能并在Agent群组间共享,让LLM Agent逐步变得更智能。它通过本地代理拦截兼容OpenAI的API调用,记录会话工件,并运行演进服务器,将会话经验提炼为文件,通过云存储(OSS/S3/本地)同步。
SKILL.mdArchitecture
架构
User → OpenClaw Agent → SkillClaw Client Proxy → Upstream LLM API
↓ records sessions
Shared Storage (OSS/S3/local)
↑ reads sessions, writes skills
Evolve Server (workflow or agent)Three components share the same storage layer and skill format:
- Client Proxy — Local API proxy intercepting and
/v1/chat/completions, syncing skills/v1/messages - Workflow Evolve Server () — Fixed 3-stage pipeline: Summarize → Aggregate → Execute
evolve_server - Agent Evolve Server () — Autonomous OpenClaw agent that reads sessions and writes evolved skills
agent_evolve_server
用户 → OpenClaw Agent → SkillClaw客户端代理 → 上游LLM API
↓ 记录会话
共享存储(OSS/S3/本地)
↑ 读取会话,写入技能
演进服务器(工作流或Agent)三个组件共用同一存储层和技能格式:
- 客户端代理——本地API代理,拦截和
/v1/chat/completions接口,同步技能/v1/messages - 工作流演进服务器()——固定三阶段流水线:总结 → 聚合 → 执行
evolve_server - Agent演进服务器()——自主式OpenClaw Agent,读取会话并写入演进后的技能
agent_evolve_server
Installation
安装
Client / Local Development
客户端/本地开发
bash
git clone <repo-url> SkillClaw && cd SkillClaw
bash scripts/install_skillclaw.sh
source .venv/bin/activatebash
git clone <repo-url> SkillClaw && cd SkillClaw
bash scripts/install_skillclaw.sh
source .venv/bin/activateServer Deployment
服务器部署
bash
bash scripts/install_skillclaw_server.sh
source .venv-server/bin/activatebash
bash scripts/install_skillclaw_server.sh
source .venv-server/bin/activateRequired only for the agent evolve server
仅Agent演进服务器需要
npm install -g openclaw
undefinednpm install -g openclaw
undefinedEnvironment Configuration
环境配置
Copy and populate credentials — never hardcode secrets:
bash
undefined复制并填充凭证——切勿硬编码密钥:
bash
undefinedFrom example_env.sh
来自example_env.sh
export OPENAI_BASE_URL="https://your-api-gateway/v1"
export OPENAI_API_KEY="$OPENAI_API_KEY"
export OPENAI_BASE_URL="https://your-api-gateway/v1"
export OPENAI_API_KEY="$OPENAI_API_KEY"
For OSS storage backend
针对OSS存储后端
export EVOLVE_STORAGE_ENDPOINT="$OSS_ENDPOINT"
export EVOLVE_STORAGE_BUCKET="$OSS_BUCKET"
export OSS_ACCESS_KEY_ID="$OSS_ACCESS_KEY_ID"
export OSS_ACCESS_KEY_SECRET="$OSS_ACCESS_KEY_SECRET"
Config file lives at `~/.skillclaw/config.yaml`. Inspect and modify:
```bash
skillclaw config show
skillclaw config <key> <value>export EVOLVE_STORAGE_ENDPOINT="$OSS_ENDPOINT"
export EVOLVE_STORAGE_BUCKET="$OSS_BUCKET"
export OSS_ACCESS_KEY_ID="$OSS_ACCESS_KEY_ID"
export OSS_ACCESS_KEY_SECRET="$OSS_ACCESS_KEY_SECRET"
配置文件位于`~/.skillclaw/config.yaml`,可查看并修改:
```bash
skillclaw config show
skillclaw config <key> <value>CLI Reference
CLI参考
Client Proxy Setup
客户端代理设置
bash
skillclaw setup # Initialize config and directories
skillclaw start # Start the local proxy server
skillclaw stop # Stop the proxy server
skillclaw status # Show proxy status and config summary
skillclaw config show # Dump full resolved configbash
skillclaw setup # 初始化配置和目录
skillclaw start # 启动本地代理服务器
skillclaw stop # 停止代理服务器
skillclaw status # 显示代理状态和配置摘要
skillclaw config show # 导出完整解析后的配置Skill Management
技能管理
bash
skillclaw skills pull # Download shared skills from cloud storage
skillclaw skills push # Upload local skills to cloud storage
skillclaw skills sync # Bidirectional sync (pull + push)
skillclaw skills list-remote # Browse skills available in shared storagebash
skillclaw skills pull # 从云存储下载共享技能
skillclaw skills push # 将本地技能上传至云存储
skillclaw skills sync # 双向同步(拉取+推送)
skillclaw skills list-remote # 浏览共享存储中可用的技能Benchmarking
基准测试
bash
skillclaw benchmark --help # List all benchmark subcommandsbash
skillclaw benchmark --help # 列出所有基准测试子命令Starting the Evolve Servers
启动演进服务器
Workflow Evolve Server (Summarize → Aggregate → Execute)
工作流演进服务器(总结 → 聚合 → 执行)
bash
skillclaw-evolve-server \
--port 8787 \
--interval 300 \
--storage-backend oss \
--oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" \
--oss-bucket "$EVOLVE_STORAGE_BUCKET" \
--group-id my-groupbash
skillclaw-evolve-server \
--port 8787 \
--interval 300 \
--storage-backend oss \
--oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" \
--oss-bucket "$EVOLVE_STORAGE_BUCKET" \
--group-id my-groupAgent Evolve Server (Autonomous OpenClaw agent)
Agent演进服务器(自主式OpenClaw Agent)
bash
skillclaw-agent-evolve-server \
--port 8787 \
--interval 300 \
--no-fresh \
--storage-backend oss \
--oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" \
--oss-bucket "$EVOLVE_STORAGE_BUCKET" \
--group-id my-groupUse to continue from existing evolved skills rather than starting from scratch each run.
--no-freshbash
skillclaw-agent-evolve-server \
--port 8787 \
--interval 300 \
--no-fresh \
--storage-backend oss \
--oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" \
--oss-bucket "$EVOLVE_STORAGE_BUCKET" \
--group-id my-group使用参数可从已有的演进技能继续,而非每次运行都从头开始。
--no-freshLocal Filesystem Backend (for development)
本地文件系统后端(用于开发)
bash
skillclaw-evolve-server \
--port 8787 \
--interval 60 \
--storage-backend local \
--local-storage-path ./skill_storage \
--group-id dev-groupbash
skillclaw-evolve-server \
--port 8787 \
--interval 60 \
--storage-backend local \
--local-storage-path ./skill_storage \
--group-id dev-groupKey Configuration Options
关键配置选项
| Option | Description | Default |
|---|---|---|
| Server port | |
| Seconds between evolution cycles | |
| | |
| Identifier for your agent cluster | required |
| Resume from existing skills | flag |
| OSS endpoint URL | env var |
| OSS bucket name | env var |
| 选项 | 描述 | 默认值 |
|---|---|---|
| 服务器端口 | |
| 演进周期间隔(秒) | |
| | |
| Agent集群标识符 | 必填 |
| 从已有技能恢复 | 标志位 |
| OSS端点URL | 环境变量 |
| OSS存储桶名称 | 环境变量 |
Skill Format (SKILL.md)
技能格式(SKILL.md)
Skills are Markdown files with YAML frontmatter. The evolve server reads session data and writes or updates these files:
markdown
---
name: my-skill-name
description: What this skill does
version: 1.0.0
tags: [web, scraping]
---技能是带有YAML前置元数据的Markdown文件。演进服务器读取会话数据并写入或更新这些文件:
markdown
---
name: my-skill-name
description: What this skill does
version: 1.0.0
tags: [web, scraping]
---Skill Name
Skill Name
When to Use
适用场景
...
...
Instructions
操作步骤
Step-by-step instructions the agent follows.
Agent需遵循的分步说明。
Examples
示例
```python
```python
working code example
working code example
```
undefined```
undefinedWildClawBench Experiment
WildClawBench实验
Run the main iterative evolution experiment:
bash
python scripts/run_wildclawbench_iterative_evolve_agent.py \
--group-id wildclawbench-test \
--storage-backend local \
--local-storage-path ./wb_storage \
--num-iterations 3This evaluates skill evolution on real-world agent tasks from WildClawBench.
运行主要的迭代演进实验:
bash
python scripts/run_wildclawbench_iterative_evolve_agent.py \
--group-id wildclawbench-test \
--storage-backend local \
--local-storage-path ./wb_storage \
--num-iterations 3该实验会基于WildClawBench中的真实Agent任务评估技能演进效果。
Python API Usage
Python API使用
Programmatic Skill Sync
程序化技能同步
python
from skillclaw.skill_manager import SkillManager
from skillclaw.skill_hub import SkillHubpython
from skillclaw.skill_manager import SkillManager
from skillclaw.skill_hub import SkillHubInitialize with local backend
使用本地后端初始化
manager = SkillManager(storage_backend="local", local_path="./skills")
manager = SkillManager(storage_backend="local", local_path="./skills")
Pull skills from shared storage
从共享存储拉取技能
manager.pull()
manager.pull()
List available skills
列出可用技能
skills = manager.list_local()
for skill in skills:
print(f"{skill.name}: {skill.description}")
skills = manager.list_local()
for skill in skills:
print(f"{skill.name}: {skill.description}")
Push a new skill
推送新技能
manager.push("path/to/SKILL.md")
undefinedmanager.push("path/to/SKILL.md")
undefinedLaunching the Proxy Programmatically
程序化启动代理
python
from skillclaw.launcher import SkillClawLauncher
from skillclaw.config import SkillClawConfig
config = SkillClawConfig(
upstream_base_url="https://api.openai.com/v1",
upstream_api_key="$OPENAI_API_KEY", # loaded from env at runtime
proxy_port=8080,
storage_backend="local",
local_storage_path="./skillclaw_data",
group_id="my-agents",
)
launcher = SkillClawLauncher(config)
launcher.start()python
from skillclaw.launcher import SkillClawLauncher
from skillclaw.config import SkillClawConfig
config = SkillClawConfig(
upstream_base_url="https://api.openai.com/v1",
upstream_api_key="$OPENAI_API_KEY", # 运行时从环境变量加载
proxy_port=8080,
storage_backend="local",
local_storage_path="./skillclaw_data",
group_id="my-agents",
)
launcher = SkillClawLauncher(config)
launcher.start()Agents now point to http://localhost:8080/v1
现在Agent指向http://localhost:8080/v1
undefinedundefinedUsing the Evolve Server API
使用演进服务器API
python
import httpxpython
import httpxTrigger an immediate evolution cycle
触发立即演进周期
response = httpx.post("http://localhost:8787/evolve")
print(response.json()) # {"status": "ok", "skills_evolved": 3}
response = httpx.post("http://localhost:8787/evolve")
print(response.json()) # {"status": "ok", "skills_evolved": 3}
Check server status
检查服务器状态
status = httpx.get("http://localhost:8787/status")
print(status.json())
undefinedstatus = httpx.get("http://localhost:8787/status")
print(status.json())
undefinedEvolve Server Config (.env.example
)
.env.example演进服务器配置(.env.example
)
.env.examplebash
undefinedbash
undefinedevolve_server/.env.example
evolve_server/.env.example
OPENAI_BASE_URL="https://your-api-gateway/v1"
OPENAI_API_KEY="$OPENAI_API_KEY"
STORAGE_BACKEND=oss
OSS_ENDPOINT="$EVOLVE_STORAGE_ENDPOINT"
OSS_BUCKET="$EVOLVE_STORAGE_BUCKET"
OSS_ACCESS_KEY_ID="$OSS_ACCESS_KEY_ID"
OSS_ACCESS_KEY_SECRET="$OSS_ACCESS_KEY_SECRET"
GROUP_ID=production-cluster
EVOLVE_INTERVAL=300
undefinedOPENAI_BASE_URL="https://your-api-gateway/v1"
OPENAI_API_KEY="$OPENAI_API_KEY"
STORAGE_BACKEND=oss
OSS_ENDPOINT="$EVOLVE_STORAGE_ENDPOINT"
OSS_BUCKET="$EVOLVE_STORAGE_BUCKET"
OSS_ACCESS_KEY_ID="$OSS_ACCESS_KEY_ID"
OSS_ACCESS_KEY_SECRET="$OSS_ACCESS_KEY_SECRET"
GROUP_ID=production-cluster
EVOLVE_INTERVAL=300
undefinedSupported Frameworks
支持的框架
SkillClaw natively integrates with these OpenClaw-compatible frameworks:
- CoPaw — collaborative agent framework
- IronClaw — robust task execution
- PicoClaw — lightweight agents
- ZeroClaw — zero-shot agents
- NanoClaw — minimal footprint
- NemoClaw — NVIDIA NeMo-based agents
Point any framework's OpenAI-compatible API calls at the SkillClaw proxy to start recording sessions.
SkillClaw原生集成以下兼容OpenClaw的框架:
- CoPaw — 协作式Agent框架
- IronClaw — 稳健的任务执行框架
- PicoClaw — 轻量级Agent
- ZeroClaw — 零样本Agent
- NanoClaw — 极小体积Agent
- NemoClaw — 基于NVIDIA NeMo的Agent
将任意框架的兼容OpenAI的API调用指向SkillClaw代理,即可开始记录会话。
Deployment Pattern: Multi-User Cluster
部署模式:多用户集群
User A → Agent (port 8080) ─┐
User B → Agent (port 8081) ─┼──→ Shared OSS Bucket ←── Evolve Server
User C → Agent (port 8082) ─┘ ↑
Skills sync'd
back to all agentsbash
undefined用户A → Agent(端口8080) ─┐
用户B → Agent(端口8081) ─┼──→ 共享OSS存储桶 ←── 演进服务器
用户C → Agent(端口8082) ─┘ ↑
技能同步
至所有Agentbash
undefinedEach user's machine runs:
每个用户的机器运行:
skillclaw start --group-id production-cluster --port 8080
skillclaw start --group-id production-cluster --port 8080
One central server runs:
一台中央服务器运行:
skillclaw-evolve-server
--storage-backend oss
--oss-bucket "$SHARED_BUCKET"
--group-id production-cluster
--interval 300
--storage-backend oss
--oss-bucket "$SHARED_BUCKET"
--group-id production-cluster
--interval 300
undefinedskillclaw-evolve-server
--storage-backend oss
--oss-bucket "$SHARED_BUCKET"
--group-id production-cluster
--interval 300
--storage-backend oss
--oss-bucket "$SHARED_BUCKET"
--group-id production-cluster
--interval 300
undefinedTroubleshooting
故障排查
Proxy won't start:
bash
skillclaw status # Check if already running
skillclaw stop && skillclaw start # Restart
skillclaw config show # Verify OPENAI_BASE_URL is setSkills not syncing:
bash
skillclaw skills list-remote # Verify storage connection
skillclaw config show # Check storage backend config代理无法启动:
bash
skillclaw status # 检查是否已运行
skillclaw stop && skillclaw start # 重启
skillclaw config show # 验证OPENAI_BASE_URL已设置技能无法同步:
bash
skillclaw skills list-remote # 验证存储连接
skillclaw config show # 检查存储后端配置Confirm env vars are exported: echo $OSS_ACCESS_KEY_ID
确认环境变量已导出:echo $OSS_ACCESS_KEY_ID
**Evolve server not processing sessions:**
```bash
**演进服务器未处理会话:**
```bashCheck server logs for cycle output
查看服务器日志中的周期输出
Verify --group-id matches the client proxy group-id
验证--group-id与客户端代理的group-id匹配
Try --storage-backend local for debugging
调试时尝试使用--storage-backend local
skillclaw-evolve-server --storage-backend local --local-storage-path ./debug_storage --group-id debug
**Agent evolve server fails to start:**
```bash
which openclaw # Must be in PATH
npm install -g openclaw # Install if missingskillclaw-evolve-server --storage-backend local --local-storage-path ./debug_storage --group-id debug
**Agent演进服务器启动失败:**
```bash
which openclaw # 必须在PATH中
npm install -g openclaw # 若缺失则安装Verify OPENAI_BASE_URL and OPENAI_API_KEY are set for the agent's LLM
验证Agent的LLM对应的OPENAI_BASE_URL和OPENAI_API_KEY已设置
**Port already in use:**
```bash
skillclaw stop
lsof -i :8787 | grep LISTEN # Find conflicting process
skillclaw-evolve-server --port 8788 ...
**端口已被占用:**
```bash
skillclaw stop
lsof -i :8787 | grep LISTEN # 查找冲突进程
skillclaw-evolve-server --port 8788 ...Project Structure Reference
项目结构参考
SkillClaw/
├── skillclaw/ # Client proxy, CLI, config
│ ├── cli.py # All `skillclaw` CLI commands
│ ├── api_server.py # Proxy server implementation
│ ├── launcher.py # Process management
│ ├── skill_manager.py # Local skill CRUD
│ ├── skill_hub.py # Cloud sync logic
│ └── experiments/ # Benchmark runners
├── evolve_server/ # Workflow evolve server
│ ├── summarizer.py # Stage 1: session → summary
│ ├── aggregation.py # Stage 2: summaries → patterns
│ ├── execution.py # Stage 3: patterns → SKILL.md
│ └── skill_registry.py # Skill dedup and versioning
├── agent_evolve_server/ # OpenClaw-based evolve server
│ ├── workspace.py # Session/skill file workspace
│ ├── openclaw_runner.py # Agent execution harness
│ └── EVOLVE_AGENTS.md # Agent prompt and tool config
└── scripts/
├── install_skillclaw.sh
├── install_skillclaw_server.sh
└── run_wildclawbench_iterative_evolve_agent.pySkillClaw/
├── skillclaw/ # 客户端代理、CLI、配置
│ ├── cli.py # 所有`skillclaw` CLI命令
│ ├── api_server.py # 代理服务器实现
│ ├── launcher.py # 进程管理
│ ├── skill_manager.py # 本地技能增删改查
│ ├── skill_hub.py # 云同步逻辑
│ └── experiments/ # 基准测试运行器
├── evolve_server/ # 工作流演进服务器
│ ├── summarizer.py # 阶段1:会话 → 摘要
│ ├── aggregation.py # 阶段2:摘要 → 模式
│ ├── execution.py # 阶段3:模式 → SKILL.md
│ └── skill_registry.py # 技能去重与版本控制
├── agent_evolve_server/ # 基于OpenClaw的演进服务器
│ ├── workspace.py # 会话/技能文件工作区
│ ├── openclaw_runner.py # Agent执行工具
│ └── EVOLVE_AGENTS.md # Agent提示词与工具配置
└── scripts/
├── install_skillclaw.sh
├── install_skillclaw_server.sh
└── run_wildclawbench_iterative_evolve_agent.py