友链提交
请认真填写以下信息,谢谢!

博客信息

(请填写完整的网址,例如:https://www.example.com)
(贵站展示本站链接的页面地址,一般是友链页面,填写后将自动验证友链关系有效性)
(用于抓取文章)
(用于接收通知)
浮生闲记
2026-01-03
点 赞
0
热 度
1
评 论
0

Agent Skill 入门实战指南:从零创建你的第一个 Skill ,提升 Claude Code 开发效率

  1. 首页
  2. 学习记录
  3. Agent Skill 入门实战指南:从零创建你的第一个 Skill ,提升 Claude Code 开发效率

背景

2025年10月16日,Anthropic正式发布了Agent Skill 技术。最初,官方只是希望用它来提升Claude Code在某些特定任务上的表现。但其设计之精妙迅速被业界洞察。

短短两个月内,VS Code、Codex、Cursor等主流开发工具纷纷集成支持。2025年12月18日,Anthropic做出关键决策:将Agent Skill作为开放标准发布,支持跨平台、跨产品调用。这标志着一项产品功能已演变为驱动AI Agent生态的通用设计模式。

第一讲:什么是Agent Skill?

用最通俗的话来说,Agent Skill就是一个大模型可以随时翻阅的"说明书"

举个例子:你需要做文章摘要生成时,可以直接在Skill里规定摘要的格式输出。这样一来,你就不用每次对话都重复粘贴那一长串格式要求了——大模型自己翻翻这本"说明书"就知道该怎么干活。

当然,"说明书"只是一个为了方便理解的简化说法。实际上,Agent Skill能做的事情远比这强大

第二讲:基础用法实战演练

步骤1:创建你的第一个Agent Skill

让我们以"文章摘要生成"为例,从头开始创建一个完整的Agent Skill。

1.1 创建Skill文件夹
根据Claude Code的要求,我们需要在用户目录下的.claude\skills文件夹中创建Skill。打开终端,执行以下命令:

# 进入Skill目录
cd ~/.claude/skills

# 创建Skill文件夹(文件夹名就是Skill名称)
mkdir "文章摘要生成"
cd "文章摘要生成"

1.2 创建skill.md核心文件
每个Skill都必须包含一个skill.md文件,它定义了Skill的全部能力。使用你喜欢的编辑器创建这个文件:

# 使用VSCode创建
code skill.md

1.3 编写Skill内容
将以下内容完整复制到skill.md中:

---
name: 文章摘要生成
description: 读取一篇文章内容,并生成结构清晰、简洁准确的摘要。
---

## 功能

用于对输入的文章进行理解与概括,提炼文章的核心主题、关键信息点和总体结论。

## 输入

输入为一篇文章文件路径,文章内容为自然语言文本。

支持的文件格式包括:
- Markdown(.md)
- 纯文本(.txt)

## 执行规则

- 完整阅读文章内容,不遗漏关键段落
- 摘要应基于原文信息,不引入原文中不存在的内容
- 使用简洁、客观的语言进行概括
- 不对文章内容进行评价或扩展

## 输出

输出为Markdown格式的摘要内容,结构如下:

**主题**  
文章的核心主题概括。

**结论**  
对全文核心观点的总结。

文件结构:

~/.claude/skills/
└── 文章摘要生成/
    └── skill.md    # Skill的核心定义文件

是的,就是这么简单!一个完整的Agent Skill本质上就是一个结构化的Markdown说明文档。

步骤2:在Claude Code中验证Skill

2.1 启动Claude Code并查询可用Skill
首先,随便找一个空目录打开Claude Code,然后在对话中输入:

你有哪些agent skill?

Claude Code会立即识别并列出所有已安装的Skill:

● 根据我当前的配置,我有以下可用的agent skill:

  文章摘要生成 (文章摘要生成)
  - 功能:读取一篇文章内容,并生成结构清晰、简洁准确的摘要
  - 适用场景:需要对文章进行快速理解和总结

  这个skill可以帮助你处理中文文章的摘要生成任务。如果你有需要摘要的文章,可以直接提供文章内容或文件路径,我会使用这个技能来为你生成摘要。

  除了这个特定的skill之外,我还可以使用各种工具来帮助你完成软件工程任务,包括:
  - 文件读写和编辑
  - 代码搜索和分析
  - 运行命令和脚本
  - 任务规划和管理
  - 网络搜索和内容获取

  有什么具体的工作需要我帮你完成吗?

2.2 实际使用Skill生成摘要
现在让我们测试一下这个Skill的实际效果。输入以下指令:

生成以下文章的摘要:D:\Program Data\Projects\agent_skill_test\部分网站无法访问?一次典型的DNS污染排查与解决记录.md

观察Claude Code的反应——它首先会识别到这项任务应该由"文章摘要生成"Skill处理,然后申请权限:

● 我来帮你生成这篇文章的摘要。

● Read(部分网站无法访问?一次典型的DNS污染排查与解决记录.md)
  ⎿  Read 15 lines

● 现在我来使用文章摘要生成技能为你生成摘要:

● /文章摘要生成

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Use skill "文章摘要生成"?
 Claude may use instructions, code, or files from this Skill.

   读取一篇文章内容,并生成结构清晰、简洁准确的摘要。 (user)

 Do you want to proceed?
 > 1. Yes
   2. Yes, and don't ask again for 文章摘要生成 in D:\Program Data\Projects\agent_skill_test
   3. No, and tell Claude what to do differently (esc)

2.3 授权并查看结果
选择"1. Yes"授权后,Claude Code会:

  1. 读取skill.md中的指令
  2. 按照预定规则处理文章
  3. 生成符合格式要求的摘要
● 根据文章内容,我来为你生成摘要:

  主题
  本文记录了一次典型的DNS污染问题排查与解决过程,通过分析"部分网站无法访问"的现象,最终定位并解决了DNS解析异常的问题。

  结论
  文章通过实际案例说明了DNS污染的排查思路:当遇到部分网站打不开但网络看似正常时,应优先检查DNS设置。关键发现包括:1) 能Ping通不代表DNS解析正常;2) 自动获取的DNS可能不稳定,手动更换为公共DNS(如114.114.114.114)是有效的解决方案;3) 部分网站可访问不能完全说明网络正常。这提醒我们在遇到类似网络问题时,DNS应该作为首要排查点。

成功验证! 可以看到,Claude Code严格按照我们在skill.md中规定的格式输出了摘要,主题和结论结构清晰。这就是Agent Skill的基础用法。

第三讲:高级功能实战演示

Script功能:让Skill具备执行能力

有时文章中包含大量代码,我们希望将代码提取为单独的文件。这时就需要用到Agent Skill的高级功能——Script。

3.1 扩展Skill的文件结构
首先,在Skill文件夹中创建script子目录和Python脚本:

# 进入Skill目录
cd ~/.claude/skills/文章摘要生成

# 创建script目录和Python脚本
mkdir script
cd script
code extract_code_blocks.py

3.2 编写代码提取脚本
将以下Python代码保存到extract_code_blocks.py

import re
import os
import sys

def extract_and_save_code(file_path):
    """
    从Markdown文件中提取代码块并保存到extracted_code目录
    """
    # 读取文件内容
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()

    # 正则匹配代码块
    # 匹配模式:```语言标识\n代码内容\n```
    pattern = r'```(\w+)?\n(.*?)\n```'
    matches = re.findall(pattern, content, re.DOTALL)

    if not matches:
        print("未发现代码块")
        return

    # 获取文件名(不含扩展名)
    base_name = os.path.splitext(os.path.basename(file_path))[0]

    # 创建输出目录
    output_dir = os.path.join(os.path.dirname(file_path), 'extracted_code')
    os.makedirs(output_dir, exist_ok=True)

    # 语言到扩展名的映射
    ext_map = {
        'python': 'py',
        'javascript': 'js',
        'js': 'js',
        'bash': 'sh',
        'shell': 'sh',
        'json': 'json',
        'html': 'html',
        'css': 'css',
        'java': 'java',
        'cpp': 'cpp',
        'c': 'c',
        'go': 'go',
        'rust': 'rs',
        'php': 'php',
        'ruby': 'rb',
        'yaml': 'yml',
        'xml': 'xml',
        'sql': 'sql'
    }

    saved_files = []

    for i, (lang, code) in enumerate(matches, 1):
        # 确定文件扩展名
        lang = lang.lower() if lang else 'txt'
        ext = ext_map.get(lang, 'txt')

        # 生成文件名
        filename = f"{base_name}_code_{i}.{ext}"
        filepath = os.path.join(output_dir, filename)

        # 保存代码块
        with open(filepath, 'w', encoding='utf-8') as f:
            f.write(code.strip())

        saved_files.append(filepath)
        print(f"已保存: {filepath}")

    print(f"\n共保存了 {len(saved_files)} 个代码文件到 {output_dir}")
    return saved_files

if __name__ == '__main__':
    if len(sys.argv) > 1:
        file_path = sys.argv[1]
        if os.path.exists(file_path):
            extract_and_save_code(file_path)
        else:
            print(f"文件不存在: {file_path}")
    else:
        print("请提供文件路径作为参数")
        print("用法: python extract_code_blocks.py <文件路径>")

3.3 更新skill.md支持脚本调用

编辑skill.md文件,在"执行规则"部分添加脚本调用逻辑:

## 执行规则

- 完整阅读文章内容,不遗漏关键段落
- 摘要应基于原文信息,不引入原文中不存在的内容
- 使用简洁、客观的语言进行概括
- 不对文章内容进行评价或扩展
- 如果用户提到了"代码"、"代码块"或"代码文件",那么在解析文章内容时,判断是否存在代码块。如果存在代码块,调用`./script/extract_code_blocks.py`脚本导出单独的代码文件

3.4 测试Skill
现在测试Skill。在Claude Code中输入:

生成以下文章的摘要:D:\Program Data\Projects\agent_skill_test\Typora v1.10.8破解教程(仅供学习研究).md,并导出其中的代码块

Claude Code会执行以下操作:

  1. 识别到需要提取代码块
  2. 请求执行脚本的权限
● 现在我将提取代码块并生成摘要:

● Bash(cd "C:\Users\18527\.claude\skills\文章摘要生成" && python extract_code_blocks.py "D:\Program
      Data\Projects\skill_test\Typora v1.10.8 破解教程(仅供学习研究).md")
  ⎿  Running…

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Bash command

   cd "C:\Users\18527\.claude\skills\文章摘要生成" && python extract_code_blocks.py "D:\Program
   Data\Projects\skill_test\Typora v1.10.8 破解教程(仅供学习研究).md"
   提取文章中的代码块

 Do you want to proceed?
 > 1. Yes
   2. Yes, allow reading from 文章摘要生成\ from this project
   3. Type here to tell Claude what to do differently

3.5 查看完整结果
授权后,Claude Code会:

  1. 运行Python脚本提取代码
  2. 生成标准格式的摘要
  3. 提供详细的执行报告
● 代码块已成功提取。现在让我生成文章摘要:

  ---
  摘要

  主题
  本文是一篇关于Typora v1.10.8版本软件破解的技术教程,详细介绍了如何通过修改软件文件来绕过激活验证机制,实现软件的"免费"使用。

  结论
  文章提供了三个主要的破解步骤:1) 通过修改CSS隐藏左下角激活状态标签;2) 修改JavaScript代码改变激活验证逻辑;3) 添加代码屏蔽激活弹窗。教程在开头和结尾都强调了法律声明,说明内容仅供技术研究学习,提醒用户支持正版软件,并警告使用破解版本可能带来的安全风险和法律问题。

  ---
  导出的代码块

  已成功从文章中提取了4个代码块,保存在以下目录:
  D:\Program Data\Projects\agent_skill_test\extracted_code\

  提取的文件包括:
  1. HTML代码 - 用于隐藏激活状态标签的CSS样式
  2. JavaScript代码 - 修改激活验证逻辑(第1处)
  3. JavaScript代码 - 修改激活验证逻辑(第2处,完整文件开头添加)
  4. JavaScript代码 - 屏蔽激活弹窗的完整实现

  这些代码块分别对应教程中的三个主要破解步骤。

完整文件结构现在为:

~/.claude/skills/
└── 文章摘要生成/
    ├── skill.md                    # Skill核心定义
    └── script/
        └── extract_code_blocks.py  # 代码提取脚本

到这,一个非常简单的agent skill 就完成了,看似简单,但是如果用好了,可以大幅体验claude code的使用体验,为高频任务(如日志分析)创建Skill,确保输出风格统一,提高claude code生成内容的一致性,在这里,也推荐两个第三方的收集网站,在上面下载别人写好的 skills,但在项目中引入 Skills 时,一定要自行阅读和审核,官方也提示了相关风险

技能通过指令和代码为 Claude 提供新功能。虽然这使它们变得强大,但也意味着恶意技能可能会在它们被使用的环境中引入漏洞,或指示 Claude 窃取数据并采取非预期行动。

我们建议仅从可信来源安装技能。在从不太可信的来源安装技能时,在使用前应彻底审核。首先,阅读技能捆绑文件的内容,了解其作用,特别关注代码依赖和捆绑资源(如图像或脚本)。同样,注意技能中的指令或代码,这些指令或代码指示 Claude 连接到可能不受信任的外部网络来源。

https://skillsmp.com
https://agentskills.so/


用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

浮生闲记

intj 建筑师

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

欢迎来到浮生闲记的站点,为您导航全站动态

38 文章数
2 分类数
26 评论数
43标签数