共计 1840 个字符,预计需要花费 5 分钟才能阅读完成。
认识 Claude Skill
Claude Skill 是 Anthropic 为 AI 助手 Claude 设计的技能扩展框架,它允许开发者通过代码为 Claude 添加新的能力。简单理解,就像给智能手机安装 APP 一样,你可以通过开发 Skill 来让 Claude 具备特定功能。相比传统 AI 开发,Claude Skill 有三大优势:

- 低门槛:基础技能用 Python 即可开发
- 快速集成:通过 GitHub 直接部署
- 自然交互:自动适配 Claude 的对话系统
开发准备
1. 注册 GitHub 账号
如果你还没有 GitHub 账号,需要先完成注册:
- 访问github.com
- 点击 ”Sign up” 按钮
- 按提示填写邮箱、设置密码
2. 配置开发环境
推荐使用 VS Code 作为 IDE,需要安装:
- Python 3.8+(建议通过 Pyenv 管理多版本)
- Git 版本控制工具
- Claude Skill CLI 工具(安装命令):
pip install claude-skill-sdk
3. 创建技能仓库
在 GitHub 新建仓库时勾选 ”Add a README file”,并选择 Python.gitignore 模板。克隆到本地:
git clone https://github.com/ 你的用户名 / 仓库名.git
cd 仓库名
实战:天气查询技能
技能设计
我们要实现一个能查询城市天气的技能,核心功能点:
- 接收用户输入的城市名
- 调用天气 API 获取数据
- 返回格式化的天气信息
代码实现
创建 weather_skill.py 文件:
import requests
from claude_skill_sdk import Skill
# 初始化技能
weather_skill = Skill(name="weather", version="1.0")
# 免费天气 API(实际使用时建议申请自己的 key)API_URL = "https://api.openweathermap.org/data/2.5/weather"
DEFAULT_KEY = "your_api_key_here"
@weather_skill.handle_intent("get_weather")
def get_weather(city: str):
"""
获取指定城市的天气信息
:param city: 城市名称
:return: 格式化天气字符串
"""
try:
# 调用 API
params = {
'q': city,
'appid': DEFAULT_KEY,
'units': 'metric', # 使用摄氏度
'lang': 'zh_cn' # 中文结果
}
response = requests.get(API_URL, params=params)
data = response.json()
# 解析数据
weather = data['weather'][0]['description']
temp = data['main']['temp']
feels_like = data['main']['feels_like']
humidity = data['main']['humidity']
return f"{city}天气:{weather}\n 当前温度:{temp}°C(体感{feels_like}°C)\n 湿度:{humidity}%"
except Exception as e:
return f"获取天气失败:{str(e)}"
# 本地测试时运行
if __name__ == "__main__":
weather_skill.run()
本地测试
- 安装依赖:
pip install requests claude-skill-sdk
- 直接运行脚本:
python weather_skill.py
- 在交互窗口输入测试命令:
/get_weather 北京
最佳实践
1. 错误处理
实际开发中需要完善错误处理:
- API 调用失败
- 无效城市名
- 速率限制
2. 配置管理
敏感信息(如 API key)应通过环境变量获取:
import os
API_KEY = os.getenv('WEATHER_API_KEY', DEFAULT_KEY)
3. 性能优化
- 添加缓存机制(如 redis)
- 使用异步请求(aiohttp)
进阶方向
这个基础技能可以扩展:
- 添加多语言支持
- 实现天气预警功能
- 集成天气预报(未来几天)
推荐学习资源:
通过这个简单案例,你应该已经掌握了 Claude Skill 的基本开发流程。接下来可以尝试将技能部署到 GitHub,让更多人使用你的作品。记住,好的 AI 技能不在于技术复杂度,而在于解决实际问题的能力。
正文完
发表至: 编程开发
近一天内
