Awesome Claude Skills
项目简介
Awesome Claude Skills 是一个精心策划的实用Claude技能集合,旨在为Claude.ai、Claude Code和Claude API用户提供增强生产力的解决方案。这个项目不仅包含了丰富的技能库,还通过connect-apps插件让Claude能够连接到1000多个应用程序并执行真实操作——发送邮件、创建工单、发布到Slack等,真正将AI从文本生成器升级为强大的自动化助手。
核心价值:让Claude不仅会对话,更能行动。
功能特性
- 多平台兼容:技能适用于Claude.ai、Claude Code和Claude API,确保无缝体验
- 真实世界操作:通过Composio平台连接1000+应用,执行实际任务而非仅生成文本
- 模块化技能设计:每个技能解决特定问题,包含清晰的使用说明和示例
- 自动化工作流:支持复杂的多步骤自动化,从数据提取到结果输出
- 视觉与创意工具:包含canvas-design、artifacts-builder等创意技能,可生成精美视觉作品和HTML组件
核心技能概览
自动化类技能
项目包含大量自动化技能,通过Rube MCP连接各类应用:
| 技能名称 | 功能描述 |
|---|---|
| Apollo Automation | 自动化销售勘探,搜索企业、发现联系人、管理销售管道 |
| Ashby Automation | 自动化招聘流程,管理候选人、职位、面试和申请 |
| Attio Automation | 自动化CRM操作,模糊搜索联系人、查询记录、管理笔记 |
| Ahrefs Automation | 自动化SEO研究,分析反向链接、关键词、域名指标 |
| Apify Automation | 自动化网络爬虫,运行Actor、管理数据集、获取结构化数据 |
创意与设计类技能
- artifacts-builder:创建复杂的多组件HTML组件,支持React、TypeScript、Tailwind CSS和shadcn/ui,包含完整的初始化和打包脚本
- brand-guidelines:应用Anthropic官方品牌色彩和字体(主色:Dark #141413,Light #faf9f5,强调色:橙#d97757、蓝#6a9bcc、绿#788c5d)
- canvas-design:基于设计哲学创建视觉艺术作品,输出PNG和PDF格式
生产力类技能
- changelog-generator:从Git提交记录自动生成用户友好的更新日志,将技术提交转化为客户语言
- competitive-ads-extractor:从广告库(Facebook、LinkedIn等)提取竞争对手广告,分析有效文案和创意模式
- 文档处理:包含api2pdf、bannerbear、basin等自动化工具
安装指南
系统要求
- Node.js 18 或更高版本
- pnpm 包管理器
- Git(用于克隆仓库)
安装步骤
- 克隆仓库
git clone https://github.com/composio/awesome-claude-skills.git
cd awesome-claude-skills
- 安装Rube MCP(用于自动化技能)
Rube MCP是连接Claude与外部应用的桥梁。在Claude Code配置中添加以下MCP服务器:
https://rube.app/mcp
无需API密钥,只需添加端点即可工作。
- 安装特定技能依赖
对于需要前端构建的技能(如artifacts-builder),需要安装额外依赖:
# 安装pnpm(如未安装)
npm install -g pnpm
# 初始化项目
bash scripts/init-artifact.sh <project-name>
cd <project-name>
pnpm install
- 连接应用账号
使用Rube MCP的技能时,需要通过RUBE_MANAGE_CONNECTIONS连接相应的应用账号:
RUBE_MANAGE_CONNECTIONS
toolkits: ["apollo", "attio", "ahrefs"] # 根据需要的应用填写
使用说明
基础使用
技能启用:在Claude对话中直接描述你的需求,Claude会自动匹配相关技能:
创建一个过去一周的更新日志,从git提交中生成用户友好的版本说明
手动调用技能:如果技能未自动激活,可以明确提及技能名称:
使用competitive-ads-extractor技能,提取Notion在Facebook广告库中的所有广告
典型使用场景
场景一:生成版本更新日志
创建从v2.4.0到当前版本的更新日志,按照功能、改进、修复分类
输出示例:
# 更新 - 2024年3月10日
## ✨ 新功能
- **团队工作区**:为不同项目创建独立工作区,邀请团队成员协作
## 🔧 改进
- **更快的同步**:文件同步速度提升2倍
## 🐛 修复
- 修复大图片无法上传的问题
场景二:构建复杂HTML组件
# 1. 初始化React项目
bash scripts/init-artifact.sh my-dashboard
# 2. 开发组件
cd my-dashboard
# 编辑src/App.tsx,添加你的组件代码
# 3. 打包为单文件HTML
bash scripts/bundle-artifact.sh
# 输出:bundle.html
场景三:自动化销售勘探
在Apollo中搜索德克萨斯州50-500人的SaaS公司
Claude会自动调用Apollo技能,执行APOLLO_ORGANIZATION_SEARCH工具并返回结果。
场景四:竞争对手广告分析
提取Notion在Facebook广告库中的所有广告,分析它们的消息定位和痛点
输出将包含:
- 广告截图
- 主要消息主题
- 使用场景分析
- 有效文案模式识别
Rube MCP核心工作流
对于所有自动化技能,遵循统一的工作流模式:
# 1. 发现可用工具
RUBE_SEARCH_TOOLS
queries: [{use_case: "你的具体任务"}]
session: {generate_id: true}
# 2. 检查连接状态
RUBE_MANAGE_CONNECTIONS
toolkits: ["应用名称"]
session_id: "会话ID"
# 3. 执行工具
RUBE_MULTI_EXECUTE_TOOL
tools: [{
tool_slug: "发现到的工具slug",
arguments: {"参数名": "参数值"}
}]
memory: {}
session_id: "会话ID"
重要准则:
- 始终先调用
RUBE_SEARCH_TOOLS获取最新的工具模式 - 验证连接状态为ACTIVE后再执行操作
- 使用发现的工具slug和参数模式,不要硬编码
- 复用会话ID以保持上下文
核心代码示例
1. Artifacts Builder 初始化脚本 (init-artifact.sh)
这个Bash脚本用于创建React + TypeScript + Tailwind + shadcn/ui项目环境,支持Node版本检测和自动适配。
#!/bin/bash
# 退出时返回错误
set -e
# 检测Node版本
NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
echo "🔍 检测到Node.js版本: $NODE_VERSION"
if [ "$NODE_VERSION" -lt 18 ]; then
echo "❌ 错误: 需要Node.js 18或更高版本"
exit 1
fi
# 根据Node版本设置Vite版本
if [ "$NODE_VERSION" -ge 20 ]; then
VITE_VERSION="latest"
else
VITE_VERSION="5.4.11"
echo "✅ 使用Vite $VITE_VERSION (Node 18兼容)"
fi
# 检查pnpm
if ! command -v pnpm &> /dev/null; then
echo "📦 未找到pnpm,正在安装..."
npm install -g pnpm
fi
# 创建项目
echo "🚀 创建React + Vite项目: $1"
pnpm create vite "$1" --template react-ts
cd "$1"
pnpm install
# 固定Vite版本(Node 18兼容)
if [ "$NODE_VERSION" -lt 20 ]; then
pnpm add -D vite@$VITE_VERSION
fi
# 安装Tailwind CSS和shadcn/ui
pnpm add -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
# 配置tailwind.config.js
cat > tailwind.config.js << 'EOF'
/** @type {import('tailwindcss').Config} */
module.exports = {
darkMode: ["class"],
content: ["./index.html", "./src/**/*.{ts,tsx,js,jsx}"],
theme: { extend: {} },
plugins: [],
}
EOF
# 安装shadcn/ui组件
pnpm add -D @types/node
npx shadcn-ui@latest init -d
npx shadcn-ui@latest add button card dialog input
echo "✅ 项目初始化完成!"
2. Artifacts Builder 打包脚本 (bundle-artifact.sh)
将React应用打包为单文件HTML,便于在Claude对话中作为工件使用。
#!/bin/bash
set -e
echo "📦 打包React应用到单个HTML工件..."
# 检查package.json
if [ ! -f "package.json" ]; then
echo "❌ 错误: 未找到package.json。请从项目根目录运行此脚本。"
exit 1
fi
# 检查index.html
if [ ! -f "index.html" ]; then
echo "❌ 错误: 项目根目录未找到index.html。"
exit 1
fi
# 安装打包依赖
echo "📦 安装打包依赖..."
pnpm add -D parcel @parcel/config-default parcel-resolver-tspaths html-inline
# 创建Parcel配置
if [ ! -f ".parcelrc" ]; then
echo "🔧 创建Parcel配置,支持路径别名..."
cat > .parcelrc << 'EOF'
{
"extends": "@parcel/config-default",
"resolvers": ["parcel-resolver-tspaths", "..."]
}
EOF
fi
# 清理之前的构建
echo "🧹 清理之前的构建..."
rm -rf dist bundle.html
# 使用Parcel构建
echo "🔨 使用Parcel构建..."
pnpm exec parcel build index.html --dist-dir dist --no-source-maps
# 内联所有资源到单个HTML
echo "🎯 内联所有资源到单个HTML文件..."
pnpm exec html-inline dist/index.html > bundle.html
FILE_SIZE=$(du -h bundle.html | cut -f1)
echo ""
echo "✅ 打包完成!"
echo "📄 输出文件: bundle.html ($FILE_SIZE)"
echo ""
echo "现在可以在Claude对话中使用此HTML文件作为工件。"
3. Rube MCP自动化工作流示例
以Apollo Automation为例,展示完整的自动化工作流:
# 步骤1: 发现Apollo工具
RUBE_SEARCH_TOOLS
queries: [
{
use_case: "搜索企业组织和联系人",
known_fields: "q_organization_name, organization_locations, person_titles"
}
]
session: {generate_id: true}
# 返回示例工具列表:
# - APOLLO_ORGANIZATION_SEARCH: 根据名称、地点、员工数搜索企业
# - APOLLO_PEOPLE_SEARCH: 根据职位、公司搜索联系人
# - APOLLO_ENRICH_PERSON: 通过邮箱或LinkedIn丰富联系人数据
# 步骤2: 连接Apollo账号
RUBE_MANAGE_CONNECTIONS
toolkits: ["apollo"]
session_id: "session_abc123"
# 响应:连接状态 ACTIVE
# 步骤3: 搜索企业
RUBE_MULTI_EXECUTE_TOOL
tools: [{
tool_slug: "APOLLO_ORGANIZATION_SEARCH",
arguments: {
q_organization_name: "SaaS company",
organization_locations: ["texas"],
organization_num_employees_ranges: ["50,500"],
per_page: 20
}
}]
memory: {}
session_id: "session_abc123"
# 步骤4: 对搜索到的企业,查找联系人
RUBE_MULTI_EXECUTE_TOOL
tools: [{
tool_slug: "APOLLO_PEOPLE_SEARCH",
arguments: {
q_organization_domains: ["example.com", "sample.io"],
person_titles: ["VP of Sales", "Sales Director"]
}
}]
memory: {}
session_id: "session_abc123"
4. Changelog Generator 核心逻辑
def generate_changelog(commits, style_guide):
"""
从Git提交生成用户友好的更新日志
Args:
commits: Git提交列表
style_guide: 格式指南(可选)
Returns:
Markdown格式的更新日志
"""
categories = {
"features": ["feat", "feature", "new"],
"improvements": ["improve", "refactor", "perf", "enhance"],
"fixes": ["fix", "bug", "hotfix"],
"breaking": ["breaking", "major"],
"security": ["security", "vulnerability"]
}
changelog = {
"features": [],
"improvements": [],
"fixes": [],
"breaking": [],
"security": []
}
for commit in commits:
# 过滤内部提交
if any(word in commit.message.lower() for word in ["test", "chore", "docs"]):
continue
# 分类
for category, keywords in categories.items():
if any(keyword in commit.message.lower() for keyword in keywords):
# 转换为用户友好语言
user_message = translate_to_user_friendly(commit.message)
changelog[category].append(user_message)
break
# 生成Markdown
markdown = []
for category, items in changelog.items():
if items:
markdown.append(f"## {category.title()}\n")
for item in items:
markdown.append(f"- {item}\n")
markdown.append("\n")
return "\n".join(markdown)
def translate_to_user_friendly(commit_message):
"""
将技术提交消息转换为用户友好语言
"""
# 移除常见前缀
message = commit_message.split(":", 1)[-1].strip()
# 简化表述
replacements = {
"improve performance of": "优化",
"add support for": "新增",
"implement": "实现"
}
for tech, user in replacements.items():
if tech in message.lower():
message = message.lower().replace(tech, user)
return message.capitalize()
项目优势
- 实用性优先:所有技能基于真实用例,解决实际问题而非理论应用
- 平台集成:深度集成Composio平台,连接1000+应用生态
- 文档完善:每个技能包含详细的使用说明、示例和最佳实践
- 社区驱动:欢迎PR贡献,鼓励共享实用工作流
- 开箱即用:提供完整的脚本和配置文件,快速上手
由 Composio 提供技术支持 7HECMmqrgMFQ9BCTiZ/HoFlQ+MkfncilATvJ4s0TwCPyYrSw1/Qo0jAAS5GHRIQb