Claude Code支持通过Skill机制调用自定义Python函数、Shell脚本或API封装逻辑。需创建含manifest.json和main.py/main.sh的文件夹,配置触发词与参数,上传至Settings→Skills并启用,即可在对话中自动触发执行。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想让Claude Code直接调用你写的Python函数、Shell脚本或API封装逻辑,而不是每次都要复制粘贴代码或重新写一遍,就需要把它们注册为可被自动识别和执行的Skill。
确认Claude Code支持Skill机制
打开Claude Code桌面端,点击左下角设置图标→「Settings」→左侧菜单选择「Skills」。如果看到「Add Skill」按钮且下方列表为空,说明当前环境已启用Skill功能;【若此处显示“Skills are not available for your plan”或整个Skills选项卡缺失,则无法添加,需升级到Pro订阅】。
准备Skill文件结构
在本地新建一个文件夹,命名为my_skills,内部必须包含以下两个文件:
• manifest.json:定义Skill名称、描述、触发关键词、输入参数等元信息;
• main.py(或main.sh):实际执行逻辑,Python脚本需含def execute(input_data: dict) -> dict:函数,Shell脚本需以#!/bin/bash开头并能接收JSON字符串作为stdin输入。
注意:【文件名必须严格为manifest.json和main.py/main.sh,大小写敏感,多一个空格或错一个字母都会导致加载失败】。
编写manifest.json配置
用文本编辑器打开manifest.json,填入如下内容(按需修改):
{
"name": "计算文件行数",
"description": "统计指定路径下所有文本文件的总行数",
"trigger": ["count lines", "行数统计"],
"input_schema": { "path": { "type": "string", "description": "目标目录路径" } },
"output_schema": { "total_lines": { "type": "integer" } }
}
其中trigger数组里的每个字符串都是用户提问时可能触发该Skill的自然语言关键词,至少填1个,最多5个;input_schema字段必须与main.py中execute函数接收的字典键名完全一致。
实现main.py逻辑
方法一:Python Skill(推荐)
在main.py中写:
import os
def execute(input_data: dict) -> dict:
path = input_data.get("path", ".")
total = 0
for root, _, files in os.walk(path):
for f in files:
if f.endswith((".py", ".txt", ".md")):
try:
with open(os.path.join(root, f), "r", encoding="utf-8") as fp:
total += len(fp.readlines())
except (OSError, UnicodeDecodeError):
pass
return {"total_lines": total}
方法二:Shell Skill(仅限macOS/Linux)
将main.py重命名为main.sh,内容为:
#!/bin/bash
input=$(cat)
path=$(echo "$input" | jq -r '.path // "."')
find "$path" -name "*.py" -o -name "*.txt" -o -name "*.md" | xargs wc -l 2>/dev/null | tail -1 | awk '{print $1}' | jq -n --arg l @stdin '{total_lines: ($l | tonumber)}
这一步要求系统已安装jq命令,否则Skill运行时会报错退出。
在Claude Code中加载Skill
第一步:回到Claude Code「Settings」→「Skills」页面;
第二步:点击「Add Skill」→「Upload folder」;
第三步:选择你准备好的my_skills文件夹;
第四步:等待状态变为「Active」,右侧出现绿色对勾图标;
第五步:关闭设置页,在任意代码文件中输入“统计当前目录下所有Python文件的行数”,Claude Code会自动调用该Skill并返回结果。











