Claude Code Skill 完全指南:从入门到实战
Claude Code Skill 完全指南从入门到实战什么是 SkillSkill是 Claude Code 中的扩展机制本质上是自定义的/斜杠命令。你可以把常用的、复杂的操作流程写成一个 Skill 文件之后只需一个命令就能让 Claude 自动执行整套流程。简单来说Skill 可复用的 AI 操作手册。Skill 的核心价值复用性一次编写反复使用避免每次都说重复的话标准化团队共享同一个 Skill确保操作流程一致降低门槛复杂操作封装后新人也能一键执行自动化结合定时任务/loop实现无人值守的自动化Skill 的工作原理Claude Code 启动时会扫描.claude/commands/目录下的所有.md文件每个文件就是一个 Skill。当你输入/skill名称时Claude 会读取对应的 Markdown 文件将其中定义的指令作为任务来执行。目录结构项目根目录/ └── .claude/ └── commands/ ├── deploy.md # /deploy 命令 ├── code-review.md # /code-review 命令 └── csdn-publish.md # /csdn-publish 命令创建你的第一个 Skill第 1 步创建 Skill 文件在.claude/commands/目录下创建一个 Markdown 文件文件名就是 Skill 名称。例如创建一个hello.md文件# 打招呼 向用户打招呼并显示当前项目信息。 ## 执行步骤 1. 用友好的语气向用户问好 2. 列出当前项目目录结构 3. 询问用户今天需要什么帮助输入/helloClaude 就会执行以上步骤。第 2 步Skill 文件的标准结构一个完整的 Skill 文件包含以下几个部分# Skill 标题必需 简要描述这个 Skill 的功能。 ## 参数可选 - $ARGUMENTS — 传递给 Skill 的参数 ## 执行步骤必需 1. 步骤一明确告诉 Claude 做什么 2. 步骤二每一步要具体、可执行 3. 步骤三考虑异常情况的处理 ## 注意事项可选 - 前置条件说明 - 安全提醒 - 已知限制第 3 步传递参数Skill 支持通过$ARGUMENTS接收参数# 翻译助手 将指定的文本翻译成英文。 ## 参数 - $ARGUMENTS — 待翻译的中文文本 ## 执行步骤 1. 接收 $ARGUMENTS 参数作为输入文本 2. 将文本翻译成英文 3. 同时输出原文和译文使用方式/translate 你好世界这是一个测试实战写一个 CSDN 发布 Skill下面以一个真实案例逐步讲解如何写一个自动发布文章到 CSDN 的 Skill。需求分析我们希望能够写好 Markdown 文章后一条命令发布到 CSDN自动提取文章标题处理 Cookie 认证Cookie 过期时给用户引导发布成功后返回文章链接完整 Skill 代码# CSDN 文章发布 将指定的 Markdown 文件发布到 CSDN 博客平台。 ## 参数 - $ARGUMENTS — Markdown 文件路径必需 ## 执行步骤 1. **读取文件**读取 $ARGUMENTS 指定的 Markdown 文件内容 提取标题第一个 # 开头的行。 2. **获取 Cookie** - 检查环境变量 CSDN_COOKIE 是否已设置。 - 如果没有询问用户提供 CSDN Cookie。引导用户 a. 用 Chrome 登录 https://mp.csdn.net b. 按 F12 打开开发者工具 c. 切换到 Network 标签刷新页面 d. 点击任意请求 → Request Headers → 复制完整 Cookie 值 - 也可以从 D:/claudoCode/.csdn_cookie 文件读取如果存在。 3. **发布文章**运行以下命令发布python D:/claudoCode/publish_csdn.py “文件路径” “”4. **结果确认** - 如果发布成功输出文章链接。 - 如果发布失败如 Cookie 过期提示用户重新获取 Cookie。 ## 注意事项 - Cookie 中必须包含 SESSION、UserName、UserInfo、 UserToken 字段否则会认证失败。 - Cookie 有效期有限过期后需要重新获取。 - 不要将 Cookie 提交到 Git 仓库。配套 Python 脚本Skill 通常需要配合实际的脚本来完成具体操作。以下是publish_csdn.py的核心逻辑框架importsysimportrequestsdefpublish_to_csdn(md_file_path,cookie):# 1. 读取 Markdown 文件withopen(md_file_path,r,encodingutf-8)asf:contentf.read()# 2. 提取标题titleNoneforlineincontent.split(\n):ifline.startswith(# ):titleline[2:].strip()breakifnottitle:print(错误找不到文章标题)sys.exit(1)# 3. 调用 CSDN API 发布headers{Cookie:cookie,Content-Type:application/json}payload{title:title,content:content,markdowncontent:content,tags:,categories:,type:original,status:publish}resprequests.post(https://mp.csdn.net/api/article/saveArticle,jsonpayload,headersheaders)dataresp.json()ifdata.get(code)200:article_iddata[data][id]print(f发布成功文章链接fhttps://blog.csdn.net/你的用户名/article/details/{article_id})else:print(f发布失败{data.get(msg,未知错误)})sys.exit(1)if__name____main__:publish_to_csdn(sys.argv[1],sys.argv[2])使用方式写好文章后一键发布/csdn-publish D:/my-blog/new-article.mdSkill 编写的最佳实践1. 指令要具体不要模糊# ❌ 不好的写法 1. 处理文件 2. 发布 # ✅ 好的写法 1. **读取文件**读取 Markdown 文件内容提取标题 2. **获取认证**检查环境变量 CSDN_COOKIE没有则引导用户获取 3. **发布文章**运行 publish_csdn.py 脚本传入文件路径和 Cookie 4. **结果确认**成功则输出链接失败则提示重新获取 Cookie2. 考虑异常情况每次只写正常情况下怎么做是不够的要告诉 Claude 异常时该怎么办- 如果 Cookie 过期 → 引导用户重新获取 - 如果文件不存在 → 提示用户检查路径 - 如果网络不通 → 提示用户检查网络3. 善用环境变量和配置文件敏感信息Token、Cookie、密钥不要硬编码在 Skill 里通过环境变量或配置文件管理- 检查环境变量 CSDN_COOKIE 是否已设置 - 如果没有从 ~/.csdn_cookie 文件读取4. 一个 Skill 只做一件事# ❌ 不好的设计 /csdn-publish-and-share # 发布分享统计太臃肿 # ✅ 好的设计 /csdn-publish # 只负责发布 /csdn-stats # 只负责查看统计高级技巧系统级 Skill把 Skill 放到~/.claude/commands/用户目录可以在所有项目中使用# 所有项目都能使用的 Skill~/.claude/commands/ └── deploy-aliyun.md# /deploy-aliyun 全局可用结合 /loop 实现定时任务配合/loop命令让 Skill 定时执行/loop 30m /check-deploy-status可以调用的工具在 Skill 的执行步骤中Claude 可以读写文件读取配置、生成报告执行命令运行脚本、调用 API、git 操作搜索代码查找文件、搜索关键词网页操作抓取网页、调用外部 API总结要点说明Skill 是什么自定义的/命令封装 Claude 的操作流程存放位置项目级.claude/commands/全局级~/.claude/commands/文件格式Markdown文件名 命令名核心要素标题、参数可选、执行步骤必需、注意事项可选参数传递$ARGUMENTS接收命令行参数最佳实践指令具体、考虑异常、敏感信息不入库、单一职责掌握了 Skill你就拥有了无限扩展 Claude Code 的能力。把重复的劳动交给 Claude把时间留给自己