skillclaw-skill-evolution

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

SkillClaw: 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
SKILL.md
files synced via cloud storage (OSS/S3/local).
ara.so开发的Skill——2026每日技能合集。
SkillClaw是一款框架,可通过从真实会话数据中演进可复用技能并在Agent群组间共享,让LLM Agent逐步变得更智能。它通过本地代理拦截兼容OpenAI的API调用,记录会话工件,并运行演进服务器,将会话经验提炼为
SKILL.md
文件,通过云存储(OSS/S3/本地)同步。

Architecture

架构

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:
  1. Client Proxy — Local API proxy intercepting
    /v1/chat/completions
    and
    /v1/messages
    , syncing skills
  2. Workflow Evolve Server (
    evolve_server
    ) — Fixed 3-stage pipeline: Summarize → Aggregate → Execute
  3. Agent Evolve Server (
    agent_evolve_server
    ) — Autonomous OpenClaw agent that reads sessions and writes evolved skills
用户 → OpenClaw Agent → SkillClaw客户端代理 → 上游LLM API
                              ↓ 记录会话
                        共享存储(OSS/S3/本地)
                              ↑ 读取会话,写入技能
                        演进服务器(工作流或Agent)
三个组件共用同一存储层和技能格式:
  1. 客户端代理——本地API代理,拦截
    /v1/chat/completions
    /v1/messages
    接口,同步技能
  2. 工作流演进服务器
    evolve_server
    )——固定三阶段流水线:总结 → 聚合 → 执行
  3. Agent演进服务器
    agent_evolve_server
    )——自主式OpenClaw Agent,读取会话并写入演进后的技能

Installation

安装

Client / Local Development

客户端/本地开发

bash
git clone <repo-url> SkillClaw && cd SkillClaw
bash scripts/install_skillclaw.sh
source .venv/bin/activate
bash
git clone <repo-url> SkillClaw && cd SkillClaw
bash scripts/install_skillclaw.sh
source .venv/bin/activate

Server Deployment

服务器部署

bash
bash scripts/install_skillclaw_server.sh
source .venv-server/bin/activate
bash
bash scripts/install_skillclaw_server.sh
source .venv-server/bin/activate

Required only for the agent evolve server

仅Agent演进服务器需要

npm install -g openclaw
undefined
npm install -g openclaw
undefined

Environment Configuration

环境配置

Copy and populate credentials — never hardcode secrets:
bash
undefined
复制并填充凭证——切勿硬编码密钥:
bash
undefined

From 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 config
bash
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 storage
bash
skillclaw skills pull          # 从云存储下载共享技能
skillclaw skills push          # 将本地技能上传至云存储
skillclaw skills sync          # 双向同步(拉取+推送)
skillclaw skills list-remote   # 浏览共享存储中可用的技能

Benchmarking

基准测试

bash
skillclaw benchmark --help     # List all benchmark subcommands
bash
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-group
bash
skillclaw-evolve-server \
  --port 8787 \
  --interval 300 \
  --storage-backend oss \
  --oss-endpoint "$EVOLVE_STORAGE_ENDPOINT" \
  --oss-bucket "$EVOLVE_STORAGE_BUCKET" \
  --group-id my-group

Agent 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-group
Use
--no-fresh
to continue from existing evolved skills rather than starting from scratch each run.
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-group
使用
--no-fresh
参数可从已有的演进技能继续,而非每次运行都从头开始。

Local Filesystem Backend (for development)

本地文件系统后端(用于开发)

bash
skillclaw-evolve-server \
  --port 8787 \
  --interval 60 \
  --storage-backend local \
  --local-storage-path ./skill_storage \
  --group-id dev-group
bash
skillclaw-evolve-server \
  --port 8787 \
  --interval 60 \
  --storage-backend local \
  --local-storage-path ./skill_storage \
  --group-id dev-group

Key Configuration Options

关键配置选项

OptionDescriptionDefault
--port
Server port
8787
--interval
Seconds between evolution cycles
300
--storage-backend
oss
,
s3
, or
local
local
--group-id
Identifier for your agent clusterrequired
--no-fresh
Resume from existing skillsflag
--oss-endpoint
OSS endpoint URLenv var
--oss-bucket
OSS bucket nameenv var
选项描述默认值
--port
服务器端口
8787
--interval
演进周期间隔(秒)
300
--storage-backend
oss
s3
local
local
--group-id
Agent集群标识符必填
--no-fresh
从已有技能恢复标志位
--oss-endpoint
OSS端点URL环境变量
--oss-bucket
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
```
undefined

WildClawBench 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 3
This 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 SkillHub
python
from skillclaw.skill_manager import SkillManager
from skillclaw.skill_hub import SkillHub

Initialize 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")
undefined
manager.push("path/to/SKILL.md")
undefined

Launching 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

undefined
undefined

Using the Evolve Server API

使用演进服务器API

python
import httpx
python
import httpx

Trigger 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())
undefined
status = httpx.get("http://localhost:8787/status") print(status.json())
undefined

Evolve Server Config (
.env.example
)

演进服务器配置(
.env.example

bash
undefined
bash
undefined

evolve_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
undefined
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
undefined

Supported 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 agents
bash
undefined
用户A → Agent(端口8080) ─┐
用户B → Agent(端口8081) ─┼──→ 共享OSS存储桶 ←── 演进服务器
用户C → Agent(端口8082) ─┘         ↑
                                  技能同步
                                  至所有Agent
bash
undefined

Each 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
undefined
skillclaw-evolve-server
--storage-backend oss
--oss-bucket "$SHARED_BUCKET"
--group-id production-cluster
--interval 300
undefined

Troubleshooting

故障排查

Proxy won't start:
bash
skillclaw status        # Check if already running
skillclaw stop && skillclaw start   # Restart
skillclaw config show   # Verify OPENAI_BASE_URL is set
Skills 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

**演进服务器未处理会话:**
```bash

Check 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 missing
skillclaw-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.py
SkillClaw/
├── 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