openclaw-master-skills
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOpenClaw Master Skills
OpenClaw 核心技能库
Skill by ara.so — Hermes Skills collection.
The OpenClaw Master Skills repository is a curated, weekly-updated collection of 1209+ pre-built skills for OpenClaw AI agents. Maintained by MyClaw.ai, this collection provides ready-to-use capabilities spanning AI/LLM tools, search, productivity, development, data processing, and more.
What It Does
功能特性
- Skill Library: 1209+ production-ready skills across 15+ categories
- Weekly Updates: Fresh skills and improvements every week
- Organized Collection: Skills grouped by category (AI Tools, Search, Productivity, Development, etc.)
- Ready to Install: Each skill is a self-contained module with instructions
- Multi-Language Support: Documentation in 8 languages (EN, CN, FR, DE, RU, JA, IT, ES)
- 技能库:涵盖15+个分类的1209+个生产级技能
- 每周更新:每周新增技能并优化现有功能
- 分类整理:技能按类别分组(AI工具、搜索、生产力、开发等)
- 一键安装:每个技能都是独立模块,附带安装说明
- 多语言支持:提供8种语言的文档(英文、中文、法文、德文、俄文、日文、意大利文、西班牙文)
Installation
安装方法
Install Entire Collection
安装完整合集
bash
undefinedbash
undefinedVia ClawHub (recommended)
Via ClawHub (recommended)
clawhub install openclaw-master-skills
clawhub install openclaw-master-skills
Or clone repository
Or clone repository
git clone https://github.com/LeoYeAI/openclaw-master-skills.git
cd openclaw-master-skills
undefinedgit clone https://github.com/LeoYeAI/openclaw-master-skills.git
cd openclaw-master-skills
undefinedInstall Individual Skills
安装单个技能
bash
undefinedbash
undefinedCopy a single skill to your OpenClaw workspace
Copy a single skill to your OpenClaw workspace
cp -r openclaw-master-skills/skills/<skill-name> ~/.openclaw/workspace/skills/
cp -r openclaw-master-skills/skills/<skill-name> ~/.openclaw/workspace/skills/
Example: Install the browser-use skill
Example: Install the browser-use skill
cp -r openclaw-master-skills/skills/browser-use ~/.openclaw/workspace/skills/
undefinedcp -r openclaw-master-skills/skills/browser-use ~/.openclaw/workspace/skills/
undefinedBrowse Skills
浏览技能
bash
undefinedbash
undefinedNavigate to skills directory
Navigate to skills directory
cd openclaw-master-skills/skills/
cd openclaw-master-skills/skills/
List all available skills
List all available skills
ls -la
ls -la
View a specific skill's README
View a specific skill's README
cat browser-use/README.md
undefinedcat browser-use/README.md
undefinedRepository Structure
仓库结构
openclaw-master-skills/
├── skills/
│ ├── academic-deep-research/
│ ├── agent-browser/
│ ├── ai-humanizer/
│ ├── browser-use/
│ ├── playwright/
│ ├── web-search-plus/
│ └── ... (1209+ skills)
├── README.md
├── README.zh-CN.md
├── README.fr.md
└── ... (multilingual docs)Each skill directory contains:
- or
SKILL.md— Skill documentationREADME.md - Source code (Python, JavaScript, etc.)
- Configuration files
- Dependencies list
openclaw-master-skills/
├── skills/
│ ├── academic-deep-research/
│ ├── agent-browser/
│ ├── ai-humanizer/
│ ├── browser-use/
│ ├── playwright/
│ ├── web-search-plus/
│ └── ... (1209+ skills)
├── README.md
├── README.zh-CN.md
├── README.fr.md
└── ... (multilingual docs)每个技能目录包含:
- 或
SKILL.md—— 技能文档README.md - 源代码(Python、JavaScript等)
- 配置文件
- 依赖列表
Key Skill Categories
核心技能分类
🤖 AI & LLM Tools (50+ skills)
🤖 AI & LLM 工具(50+技能)
- — Transparent research with full methodology
academic-deep-research - — Rust-based headless browser automation
agent-browser - — Transform AI text to human-like writing
ai-humanizer - — Multi-source research with citations
deep-research-pro - — Gemini CLI for Q&A and generation
gemini - — Local speech-to-text
openai-whisper - — Advanced prompt optimization
prompt-engineering-expert
- —— 透明化研究,包含完整方法论
academic-deep-research - —— 基于Rust的无头浏览器自动化工具
agent-browser - —— 将AI生成文本转换为类人类写作风格
ai-humanizer - —— 多来源研究,附带引用
deep-research-pro - —— Gemini CLI,用于问答和内容生成
gemini - —— 本地语音转文本工具
openai-whisper - —— 高级提示词优化工具
prompt-engineering-expert
🔍 Search & Web (21+ skills)
🔍 搜索与网络(21+技能)
- — Web search via Brave API
brave-search - — AI-optimized web search
tavily - — Unified search with auto-routing
web-search-plus - — Web scraping with anti-bot bypass
firecrawl - — Browser automation and extraction
playwright
- —— 通过Brave API进行网络搜索
brave-search - —— AI优化的网络搜索工具
tavily - —— 统一搜索,支持自动路由
web-search-plus - —— 网页抓取工具,支持反爬虫绕过
firecrawl - —— 浏览器自动化与数据提取工具
playwright
📋 Productivity & Office (43+ skills)
📋 生产力与办公(43+技能)
- — Password management via CLI
1password - — Manage Apple Notes
apple-notes - — Bear notes integration
bear-notes - — Persistent memory for agents
agent-memory
- —— 通过CLI管理密码
1password - —— 管理Apple Notes笔记
apple-notes - —— 集成Bear笔记
bear-notes - —— Agent的持久化记忆功能
agent-memory
💻 Development & Code (85+ skills)
💻 开发与代码(85+技能)
- — Automated code review
code-review - — Git automation
git-workflow - — Container orchestration
docker-compose - — Database management
postgres
- —— 自动化代码审查
code-review - —— Git工作流自动化
git-workflow - —— 容器编排
docker-compose - —— 数据库管理
postgres
📊 Data & Analytics (30+ skills)
📊 数据与分析(30+技能)
- — Statistical analysis
data-analysis - — CSV manipulation
csv-processor - — Database querying
sql-query
- —— 统计分析
data-analysis - —— CSV文件处理
csv-processor - —— 数据库查询
sql-query
Usage Examples
使用示例
Finding Skills by Category
按分类查找技能
python
import os
import json
def find_skills_by_category(category_keyword):
"""Find skills matching a category keyword."""
skills_dir = "openclaw-master-skills/skills"
matching_skills = []
for skill_name in os.listdir(skills_dir):
skill_path = os.path.join(skills_dir, skill_name)
if os.path.isdir(skill_path):
readme_path = os.path.join(skill_path, "README.md")
if os.path.exists(readme_path):
with open(readme_path, 'r') as f:
content = f.read().lower()
if category_keyword.lower() in content:
matching_skills.append(skill_name)
return matching_skillspython
import os
import json
def find_skills_by_category(category_keyword):
"""Find skills matching a category keyword."""
skills_dir = "openclaw-master-skills/skills"
matching_skills = []
for skill_name in os.listdir(skills_dir):
skill_path = os.path.join(skills_dir, skill_name)
if os.path.isdir(skill_path):
readme_path = os.path.join(skill_path, "README.md")
if os.path.exists(readme_path):
with open(readme_path, 'r') as f:
content = f.read().lower()
if category_keyword.lower() in content:
matching_skills.append(skill_name)
return matching_skillsExample: Find all browser-related skills
Example: Find all browser-related skills
browser_skills = find_skills_by_category("browser")
print(f"Found {len(browser_skills)} browser skills:")
for skill in browser_skills:
print(f" - {skill}")
undefinedbrowser_skills = find_skills_by_category("browser")
print(f"Found {len(browser_skills)} browser skills:")
for skill in browser_skills:
print(f" - {skill}")
undefinedInstalling Multiple Skills
安装多个技能
python
import shutil
import os
def install_skills(skill_names, openclaw_workspace="~/.openclaw/workspace/skills"):
"""Install multiple skills to OpenClaw workspace."""
workspace = os.path.expanduser(openclaw_workspace)
os.makedirs(workspace, exist_ok=True)
source_base = "openclaw-master-skills/skills"
for skill_name in skill_names:
source = os.path.join(source_base, skill_name)
destination = os.path.join(workspace, skill_name)
if os.path.exists(source):
shutil.copytree(source, destination, dirs_exist_ok=True)
print(f"✓ Installed {skill_name}")
else:
print(f"✗ Skill not found: {skill_name}")python
import shutil
import os
def install_skills(skill_names, openclaw_workspace="~/.openclaw/workspace/skills"):
"""Install multiple skills to OpenClaw workspace."""
workspace = os.path.expanduser(openclaw_workspace)
os.makedirs(workspace, exist_ok=True)
source_base = "openclaw-master-skills/skills"
for skill_name in skill_names:
source = os.path.join(source_base, skill_name)
destination = os.path.join(workspace, skill_name)
if os.path.exists(source):
shutil.copytree(source, destination, dirs_exist_ok=True)
print(f"✓ Installed {skill_name}")
else:
print(f"✗ Skill not found: {skill_name}")Example: Install essential research skills
Example: Install essential research skills
research_skills = [
"academic-deep-research",
"web-search-plus",
"tavily",
"deep-research-pro"
]
install_skills(research_skills)
undefinedresearch_skills = [
"academic-deep-research",
"web-search-plus",
"tavily",
"deep-research-pro"
]
install_skills(research_skills)
undefinedReading Skill Metadata
读取技能元数据
python
import os
import re
def parse_skill_metadata(skill_name):
"""Extract metadata from a skill's README."""
readme_path = f"openclaw-master-skills/skills/{skill_name}/README.md"
if not os.path.exists(readme_path):
return None
with open(readme_path, 'r') as f:
content = f.read()
# Extract description (first table cell or paragraph)
desc_match = re.search(r'\|\s*`[^`]+`\s*\|\s*([^|]+)\s*\|', content)
description = desc_match.group(1).strip() if desc_match else ""
return {
"name": skill_name,
"description": description,
"path": readme_path
}python
import os
import re
def parse_skill_metadata(skill_name):
"""Extract metadata from a skill's README."""
readme_path = f"openclaw-master-skills/skills/{skill_name}/README.md"
if not os.path.exists(readme_path):
return None
with open(readme_path, 'r') as f:
content = f.read()
# Extract description (first table cell or paragraph)
desc_match = re.search(r'\|\s*`[^`]+`\s*\|\s*([^|]+)\s*\|', content)
description = desc_match.group(1).strip() if desc_match else ""
return {
"name": skill_name,
"description": description,
"path": readme_path
}Example: Get metadata for browser-use skill
Example: Get metadata for browser-use skill
metadata = parse_skill_metadata("browser-use")
print(f"Skill: {metadata['name']}")
print(f"Description: {metadata['description']}")
undefinedmetadata = parse_skill_metadata("browser-use")
print(f"Skill: {metadata['name']}")
print(f"Description: {metadata['description']}")
undefinedCreating a Custom Skill Index
创建自定义技能索引
python
import os
import json
def build_skill_index():
"""Build a searchable index of all skills."""
skills_dir = "openclaw-master-skills/skills"
index = {}
for skill_name in os.listdir(skills_dir):
skill_path = os.path.join(skills_dir, skill_name)
if not os.path.isdir(skill_path):
continue
# Check for Python files
has_python = any(f.endswith('.py') for f in os.listdir(skill_path))
# Check for Node.js files
has_nodejs = any(f.endswith('.js') or f == 'package.json'
for f in os.listdir(skill_path))
# Read README for description
readme_path = os.path.join(skill_path, "README.md")
description = ""
if os.path.exists(readme_path):
with open(readme_path, 'r') as f:
lines = f.readlines()
if len(lines) > 1:
description = lines[1].strip()
index[skill_name] = {
"path": skill_path,
"languages": {
"python": has_python,
"nodejs": has_nodejs
},
"description": description
}
return indexpython
import os
import json
def build_skill_index():
"""Build a searchable index of all skills."""
skills_dir = "openclaw-master-skills/skills"
index = {}
for skill_name in os.listdir(skills_dir):
skill_path = os.path.join(skills_dir, skill_name)
if not os.path.isdir(skill_path):
continue
# Check for Python files
has_python = any(f.endswith('.py') for f in os.listdir(skill_path))
# Check for Node.js files
has_nodejs = any(f.endswith('.js') or f == 'package.json'
for f in os.listdir(skill_path))
# Read README for description
readme_path = os.path.join(skill_path, "README.md")
description = ""
if os.path.exists(readme_path):
with open(readme_path, 'r') as f:
lines = f.readlines()
if len(lines) > 1:
description = lines[1].strip()
index[skill_name] = {
"path": skill_path,
"languages": {
"python": has_python,
"nodejs": has_nodejs
},
"description": description
}
return indexBuild and save index
Build and save index
index = build_skill_index()
with open("skill_index.json", 'w') as f:
json.dump(index, f, indent=2)
print(f"Indexed {len(index)} skills")
undefinedindex = build_skill_index()
with open("skill_index.json", 'w') as f:
json.dump(index, f, indent=2)
print(f"Indexed {len(index)} skills")
undefinedConfiguration
配置
Environment Variables
环境变量
Skills may require various API keys and credentials:
bash
undefined技能可能需要各种API密钥和凭据:
bash
undefinedSearch APIs
Search APIs
export BRAVE_API_KEY="your_brave_api_key"
export TAVILY_API_KEY="your_tavily_api_key"
export GOOGLE_API_KEY="your_google_api_key"
export GOOGLE_CSE_ID="your_custom_search_engine_id"
export BRAVE_API_KEY="your_brave_api_key"
export TAVILY_API_KEY="your_tavily_api_key"
export GOOGLE_API_KEY="your_google_api_key"
export GOOGLE_CSE_ID="your_custom_search_engine_id"
AI/LLM APIs
AI/LLM APIs
export OPENAI_API_KEY="your_openai_api_key"
export ANTHROPIC_API_KEY="your_anthropic_api_key"
export GEMINI_API_KEY="your_gemini_api_key"
export OPENAI_API_KEY="your_openai_api_key"
export ANTHROPIC_API_KEY="your_anthropic_api_key"
export GEMINI_API_KEY="your_gemini_api_key"
Other services
Other services
export FIRECRAWL_API_KEY="your_firecrawl_api_key"
export PERPLEXITY_API_KEY="your_perplexity_api_key"
undefinedexport FIRECRAWL_API_KEY="your_firecrawl_api_key"
export PERPLEXITY_API_KEY="your_perplexity_api_key"
undefinedOpenClaw Workspace Structure
OpenClaw 工作区结构
bash
~/.openclaw/
├── workspace/
│ ├── skills/ # Installed skills
│ ├── config/ # Configuration files
│ └── data/ # Persistent data
└── settings.json # Global settingsbash
~/.openclaw/
├── workspace/
│ ├── skills/ # Installed skills
│ ├── config/ # Configuration files
│ └── data/ # Persistent data
└── settings.json # Global settingsCommon Patterns
常见模式
Pattern 1: Multi-Skill Workflow
模式1:多技能工作流
python
undefinedpython
undefinedCombine search, analysis, and reporting skills
Combine search, analysis, and reporting skills
def research_workflow(topic):
"""Complete research workflow using multiple skills."""
# 1. Search the web
from skills.web_search_plus import search
search_results = search(topic)
# 2. Deep research
from skills.deep_research_pro import research
analysis = research(search_results, depth="comprehensive")
# 3. Summarize findings
from skills.summarize import summarize_text
summary = summarize_text(analysis)
return {
"raw_results": search_results,
"analysis": analysis,
"summary": summary
}undefineddef research_workflow(topic):
"""Complete research workflow using multiple skills."""
# 1. Search the web
from skills.web_search_plus import search
search_results = search(topic)
# 2. Deep research
from skills.deep_research_pro import research
analysis = research(search_results, depth="comprehensive")
# 3. Summarize findings
from skills.summarize import summarize_text
summary = summarize_text(analysis)
return {
"raw_results": search_results,
"analysis": analysis,
"summary": summary
}undefinedPattern 2: Skill Discovery
模式2:技能发现
python
def discover_skills_for_task(task_description):
"""Find relevant skills based on task description."""
relevant_skills = []
keywords = task_description.lower().split()
skills_dir = "openclaw-master-skills/skills"
for skill_name in os.listdir(skills_dir):
# Check if any keyword matches skill name
if any(keyword in skill_name.lower() for keyword in keywords):
relevant_skills.append(skill_name)
return relevant_skillspython
def discover_skills_for_task(task_description):
"""Find relevant skills based on task description."""
relevant_skills = []
keywords = task_description.lower().split()
skills_dir = "openclaw-master-skills/skills"
for skill_name in os.listdir(skills_dir):
# Check if any keyword matches skill name
if any(keyword in skill_name.lower() for keyword in keywords):
relevant_skills.append(skill_name)
return relevant_skillsExample
Example
task = "browse websites and extract data"
skills = discover_skills_for_task(task)
task = "browse websites and extract data"
skills = discover_skills_for_task(task)
Returns: ['agent-browser', 'browser-use', 'playwright', 'firecrawl', ...]
Returns: ['agent-browser', 'browser-use', 'playwright', 'firecrawl', ...]
undefinedundefinedPattern 3: Skill Dependencies
模式3:技能依赖检查
python
def check_skill_dependencies(skill_name):
"""Check if a skill's dependencies are met."""
skill_path = f"openclaw-master-skills/skills/{skill_name}"
# Check for requirements.txt (Python)
requirements_path = os.path.join(skill_path, "requirements.txt")
if os.path.exists(requirements_path):
with open(requirements_path) as f:
print(f"Python dependencies for {skill_name}:")
print(f.read())
# Check for package.json (Node.js)
package_path = os.path.join(skill_path, "package.json")
if os.path.exists(package_path):
with open(package_path) as f:
package_data = json.load(f)
if "dependencies" in package_data:
print(f"Node.js dependencies for {skill_name}:")
print(json.dumps(package_data["dependencies"], indent=2))python
def check_skill_dependencies(skill_name):
"""Check if a skill's dependencies are met."""
skill_path = f"openclaw-master-skills/skills/{skill_name}"
# Check for requirements.txt (Python)
requirements_path = os.path.join(skill_path, "requirements.txt")
if os.path.exists(requirements_path):
with open(requirements_path) as f:
print(f"Python dependencies for {skill_name}:")
print(f.read())
# Check for package.json (Node.js)
package_path = os.path.join(skill_path, "package.json")
if os.path.exists(package_path):
with open(package_path) as f:
package_data = json.load(f)
if "dependencies" in package_data:
print(f"Node.js dependencies for {skill_name}:")
print(json.dumps(package_data["dependencies"], indent=2))Example
Example
check_skill_dependencies("playwright")
undefinedcheck_skill_dependencies("playwright")
undefinedTroubleshooting
故障排查
Skill Not Found
技能未找到
python
undefinedpython
undefinedVerify skill exists
Verify skill exists
skill_name = "browser-use"
skill_path = f"openclaw-master-skills/skills/{skill_name}"
if not os.path.exists(skill_path):
print(f"Error: Skill '{skill_name}' not found")
print("Available skills:")
print("\n".join(os.listdir("openclaw-master-skills/skills")))
undefinedskill_name = "browser-use"
skill_path = f"openclaw-master-skills/skills/{skill_name}"
if not os.path.exists(skill_path):
print(f"Error: Skill '{skill_name}' not found")
print("Available skills:")
print("\n".join(os.listdir("openclaw-master-skills/skills")))
undefinedPermission Issues
权限问题
bash
undefinedbash
undefinedFix permissions on skills directory
Fix permissions on skills directory
chmod -R 755 openclaw-master-skills/skills/
chmod -R 755 openclaw-master-skills/skills/
Fix OpenClaw workspace permissions
Fix OpenClaw workspace permissions
chmod -R 755 ~/.openclaw/workspace/skills/
undefinedchmod -R 755 ~/.openclaw/workspace/skills/
undefinedMissing Dependencies
依赖缺失
bash
undefinedbash
undefinedInstall Python dependencies for a skill
Install Python dependencies for a skill
cd openclaw-master-skills/skills/browser-use
pip install -r requirements.txt
cd openclaw-master-skills/skills/browser-use
pip install -r requirements.txt
Install Node.js dependencies
Install Node.js dependencies
cd openclaw-master-skills/skills/playwright
npm install
undefinedcd openclaw-master-skills/skills/playwright
npm install
undefinedAPI Key Issues
API密钥问题
python
import os
def verify_api_keys(skill_name):
"""Check if required API keys are set."""
# Common API key requirements by skill type
api_key_map = {
"brave-search": ["BRAVE_API_KEY"],
"tavily": ["TAVILY_API_KEY"],
"openai-whisper-api": ["OPENAI_API_KEY"],
"gemini": ["GEMINI_API_KEY"],
"firecrawl": ["FIRECRAWL_API_KEY"]
}
required_keys = api_key_map.get(skill_name, [])
missing_keys = []
for key in required_keys:
if not os.getenv(key):
missing_keys.append(key)
if missing_keys:
print(f"Missing API keys for {skill_name}:")
for key in missing_keys:
print(f" - {key}")
return False
return Truepython
import os
def verify_api_keys(skill_name):
"""Check if required API keys are set."""
# Common API key requirements by skill type
api_key_map = {
"brave-search": ["BRAVE_API_KEY"],
"tavily": ["TAVILY_API_KEY"],
"openai-whisper-api": ["OPENAI_API_KEY"],
"gemini": ["GEMINI_API_KEY"],
"firecrawl": ["FIRECRAWL_API_KEY"]
}
required_keys = api_key_map.get(skill_name, [])
missing_keys = []
for key in required_keys:
if not os.getenv(key):
missing_keys.append(key)
if missing_keys:
print(f"Missing API keys for {skill_name}:")
for key in missing_keys:
print(f" - {key}")
return False
return TrueExample
Example
if not verify_api_keys("brave-search"):
print("Set missing keys in your environment")
undefinedif not verify_api_keys("brave-search"):
print("Set missing keys in your environment")
undefinedOutdated Skills
技能过时
bash
undefinedbash
undefinedUpdate to latest version
Update to latest version
cd openclaw-master-skills
git pull origin main
cd openclaw-master-skills
git pull origin main
Re-install updated skills
Re-install updated skills
cp -r skills/browser-use ~/.openclaw/workspace/skills/
undefinedcp -r skills/browser-use ~/.openclaw/workspace/skills/
undefinedBest Practices
最佳实践
- Review Before Installing: Read each skill's documentation before installation
- Environment Variables: Store API keys in environment variables, never in code
- Regular Updates: Pull latest changes weekly to get new skills and improvements
- Skill Isolation: Test new skills in a separate workspace before production use
- Documentation: Keep notes on which skills work well together
- Version Control: Track your installed skills configuration
- 安装前查看文档:安装前阅读每个技能的文档
- 环境变量存储密钥:将API密钥存储在环境变量中,切勿写入代码
- 定期更新:每周拉取最新变更,获取新技能和功能改进
- 技能隔离测试:在生产环境使用前,在独立工作区测试新技能
- 文档记录:记录哪些技能搭配使用效果良好
- 版本控制:跟踪已安装技能的配置
Integration with MyClaw.ai
与MyClaw.ai集成
The skills in this collection are curated by MyClaw.ai, a platform that provides:
- Dedicated AI agent servers for each user
- Pre-configured skill environments
- Automatic skill updates
- Cloud-based execution
- Multi-agent orchestration
Visit https://myclaw.ai to try the hosted platform.
本合集中的技能由MyClaw.ai精选,该平台提供:
- 为每位用户提供专属AI Agent服务器
- 预配置的技能环境
- 自动技能更新
- 基于云的执行能力
- 多Agent编排
访问https://myclaw.ai试用托管平台。
Resources
资源
- Repository: https://github.com/LeoYeAI/openclaw-master-skills
- Homepage: https://myclaw.ai
- License: MIT
- Stars: 1990+ (26 stars/day growth)
- Forks: 301
- Issues: https://github.com/LeoYeAI/openclaw-master-skills/issues
- 仓库地址:https://github.com/LeoYeAI/openclaw-master-skills
- 官网:https://myclaw.ai
- 许可证:MIT
- 星标数:1990+(日均增长26个星标)
- 复刻数:301
- 问题反馈:https://github.com/LeoYeAI/openclaw-master-skills/issues