标签 Plugins 下的文章
ClaudeCode:Commands,Agents,Skills,Plugins
文章是自己查官网,然后与 AI 对话校验自己理解的正确性,然后自己总结的,为啥被举报说 AIGC 未截图?这也能被举报?????
Commands
斜杠命令,需要用户自己主动触发;本质是把重复的提示词存储起来,直接通过命令调用提示词。
使用方法: 用户可以通过在项目的 .claude/commands/ 目录下创建 Markdown 文件 (.md) 来定义自定义命令。
文件名:决定命令的触发词(例如
analyze.md对应/analyze)。文件内容:包含你希望 Claude 执行的具体 Prompt(提示词)。
参数:支持使用
$1,$2或$ARGUMENTS接收用户输入。
官方 / 社区示例:/security-review 这是一个常见的自定义命令,用于让 Claude 按特定标准审查代码安全。
文件路径:~/.claude/commands/security-review.md (全局命令) 或 .claude/commands/security-review.md (项目命令)
文件内容示例:
--- description: Review the current code for security vulnerabilities --- Please review the code in the current context for security vulnerabilities. Focus specifically on: 1. SQL injection risks 2. XSS vulnerabilities 3. Hardcoded secrets If you find issues, please suggest specific fixes. 如何使用:在终端输入 /security-review
Agents
Agent 本质上是拥有独立上下文和特定系统提示词(System Prompt) 的 Claude 实例
减小主流程上下文的占用,子代理上下文隔离,可以更好的聚焦任务;
使用方法: 你可以通过 CLI 交互式创建,或者通过配置文件定义。Agent 本质上是拥有独立上下文和特定系统提示词(System Prompt) 的 Claude 实例。
交互式创建:在 Claude Code 中输入
/agents,然后选择 “Create new agent”。配置定义:通常定义在配置文件中,指定其
role(角色)、description(描述)和tools(可用工具)。
官方示例:Code Reviewer (代码审查员) 这是官方文档中常用来演示如何通过子代理分担任务的例子。
配置逻辑(概念性描述):
名称:
code-reviewer角色描述:你是一位资深的代码审查专家,通过严格的标准审查代码变更。你只关注代码质量、可读性和潜在 bug,不要直接写代码,只提供建议。
工具权限:限制为
Read(只读)权限,防止它意外修改代码。
如何使用: 在对话中,主 Agent 可能会根据任务自动调用它,或者你可以显式指派任务(如果配置允许)。
“Please ask the code-reviewer to check my latest changes.”
Skills
按需加载,只有需要该技能的时候才会加载文件内容。
都可以对业务及开发流程进行规范
使用方法: Skill 是赋予 Claude 新能力的 “知识包”,通常由一个 SKILL.md 文件和相关的脚本 / 文档组成。
核心文件:
SKILL.md。原理:Claude 启动时会加载 Skill 的元数据(Metadata)。只有当它判断当前任务需要该技能时(例如用户要求 “处理 PDF”),它才会读取
SKILL.md的完整内容并执行其中的步骤。
官方示例:PDF Processing Skill (PDF 处理技能) 这是 Anthropic 工程博客中介绍的一个经典案例,教 Claude 如何读取 PDF 表单。
目录结构示例:
skills/pdf-skill/
├── SKILL.md # 告诉 Claude 如何使用这个技能
├── extract.py # 实际执行提取工作的 Python 脚本
└── README.md
SKILL.md 内容摘要:
“When the user asks to extract data from a PDF, run the
extract.pyscript provided in this directory. Do not try to read the PDF raw bytes directly. Interpret the JSON output from the script.”
如何使用:用户无需显式调用。只需说 “Read the contract.pdf and tell me the date”,Claude 会自动激活 PDF Skill。
Plugins
Plugin 是上述所有内容(Commands, Agents, Skills)的分发容器。
接下来说一下比较容易混淆的地方,commands,agents,skills 确实有功能重叠的地方,但是他们的侧重点是不一样的,只有明白了他们各自的侧重点之后才能更好的决定使用哪一个。
1. 最大的重叠区:Command vs. Skill
这是最容易混淆的一对。它们都可以用来封装一段 Prompt 或脚本。
重叠点:它们本质上都是 “预定义的指令 / 脚本”。
核心区别:谁掌握 “扳机”?
Command (命令) 是显式的。你(用户) 是控制者。你必须输入
/review,Claude 才会去审查。Skill (技能) 是隐式的。Claude (模型) 是控制者。你只需要说 “帮我看看这代码咋样”,Claude 会自己判断:“哦,用户需要审查代码,我应该调用
CodeReviewSkill。”
例子:
如果你写了一个 Python 脚本 format_code.py。
做成 Command (
/fmt):你每次必须手动输入/fmt才能运行它。做成 Skill:当你对 Claude 说 “这代码太乱了” 时,Claude 会自动运行这个脚本。
2. 逻辑重叠区:Agent vs. Skill
这两者都涉及 “特定领域的专业能力”。
重叠点:都能让 Claude 变得更专业(例如都懂 SQL)。
核心区别:上下文是不是独立的?
Skill (技能) 是工具。它在当前对话中被加载。它就像给了当前的 Claude 一本《SQL 手册》,它现学现卖,但还是同一个 Claude 在跟你说话,上下文是混在一起的。
Agent (代理) 是分身。它拥有独立的上下文。当你调用 Agent 时,就像是 Claude 把任务转包给了坐在旁边的 “数据库专家”。这个专家有自己的记忆和设定,处理完后只把结果告诉主 Claude,避免了主对话窗口被大量的中间步骤污染。
3. Plugin (插件) 的特殊地位
Plugin 没有任何功能上的重叠,因为它不是功能本身,而是包装盒。
你不能把 Plugin 和 Command 并列比较。
Plugin 包含 Command、Skill 和 Agent。
就好比:Command 是苹果,Agent 是橙子,而 Plugin 是水果篮。
一个场景看懂所有区别
假设你想实现一个功能:“将代码翻译成中文文档”。你可以通过三种方式实现,侧重点不同:
| 方式 | 实现形态 | 交互体验 | 适用情况 |
|---|---|---|---|
| 方式 A: Command | 定义 /trans 命令 | 你输入 /trans file.py,Claude 立即执行翻译。 | 高频、确定性任务。你很清楚什么时候需要翻译,不需要 Claude 废话。 |
| 方式 B: Skill | 编写 TranslationSkill.md | 你说 “帮我把这文件弄得容易读一点”,Claude 自动识别并调用翻译技能。 | 模糊指令、智能化。你希望 Claude 像助手一样自动判断该做什么。 |
| 方式 C: Agent | 创建 TranslatorAgent | 你说 “开启翻译项目”,主 Claude 唤醒子代理。子代理独立运行,不打扰你,翻译了几百个文件后,只给你一个汇总报告。 | 复杂、耗时、多步骤任务。防止翻译几百个文件的过程刷屏,导致你之前的对话记忆被挤掉。 |
总结:我该选哪个?
如果你在尝试扩展 Claude Code,可以用这个简单的决策树:
这个功能需要用户手动且精确地触发吗?
是 → Command (
/foo)否 → 下一步
这个任务是否非常复杂,需要大量步骤,且容易污染当前的聊天记录?
是 → Agent (独立的子脑)
否 → Skill (教会当前大脑新知识)
你想把这些功能打包发给同事用吗?
- 是 → 把做好的 Command/Agent/Skill 放到一个文件夹里,做成 Plugin。
如果内容有误,欢迎指出
ClaudeCode 概念解析:agents,commands,skills,plugins
| 本文章参考 ClaudeCode 官网以及 AI 总结。 |
|---|
Commands
斜杠命令,需要用户自己主动触发;本质是把重复的提示词存储起来,直接通过命令调用提示词。
使用方法: 用户可以通过在项目的 .claude/commands/ 目录下创建 Markdown 文件 (.md) 来定义自定义命令。
文件名:决定命令的触发词(例如
analyze.md对应/analyze)。文件内容:包含你希望 Claude 执行的具体 Prompt(提示词)。
参数:支持使用
$1,$2或$ARGUMENTS接收用户输入。
官方 / 社区示例:/security-review 这是一个常见的自定义命令,用于让 Claude 按特定标准审查代码安全。
文件路径:~/.claude/commands/security-review.md (全局命令) 或 .claude/commands/security-review.md (项目命令)
文件内容示例:
--- description: Review the current code for security vulnerabilities --- Please review the code in the current context for security vulnerabilities. Focus specifically on: 1. SQL injection risks 2. XSS vulnerabilities 3. Hardcoded secrets If you find issues, please suggest specific fixes. 如何使用:在终端输入 /security-review
Agents
Agent 本质上是拥有独立上下文和特定系统提示词(System Prompt) 的 Claude 实例
减小主流程上下文的占用,子代理上下文隔离,可以更好的聚焦任务;
使用方法: 你可以通过 CLI 交互式创建,或者通过配置文件定义。Agent 本质上是拥有独立上下文和特定系统提示词(System Prompt) 的 Claude 实例。
交互式创建:在 Claude Code 中输入
/agents,然后选择 “Create new agent”。配置定义:通常定义在配置文件中,指定其
role(角色)、description(描述)和tools(可用工具)。
官方示例:Code Reviewer (代码审查员) 这是官方文档中常用来演示如何通过子代理分担任务的例子。
配置逻辑(概念性描述):
名称:
code-reviewer角色描述:你是一位资深的代码审查专家,通过严格的标准审查代码变更。你只关注代码质量、可读性和潜在 bug,不要直接写代码,只提供建议。
工具权限:限制为
Read(只读)权限,防止它意外修改代码。
如何使用: 在对话中,主 Agent 可能会根据任务自动调用它,或者你可以显式指派任务(如果配置允许)。
“Please ask the code-reviewer to check my latest changes.”
Skills
按需加载,只有需要该技能的时候才会加载文件内容。
可以对业务知识及开发流程进行规范
使用方法: Skill 是赋予 Claude 新能力的 “知识包”,通常由一个 SKILL.md 文件和相关的脚本 / 文档组成。
核心文件:
SKILL.md。原理:Claude 启动时会加载 Skill 的元数据(Metadata)。只有当它判断当前任务需要该技能时(例如用户要求 “处理 PDF”),它才会读取
SKILL.md的完整内容并执行其中的步骤。
官方示例:PDF Processing Skill (PDF 处理技能) 这是 Anthropic 工程博客中介绍的一个经典案例,教 Claude 如何读取 PDF 表单。
目录结构示例:
Plaintext
plugins/pdf-skill/
├── SKILL.md # 告诉 Claude 如何使用这个技能
├── extract.py # 实际执行提取工作的 Python 脚本
└── README.md
SKILL.md 内容摘要:
“When the user asks to extract data from a PDF, run the
extract.pyscript provided in this directory. Do not try to read the PDF raw bytes directly. Interpret the JSON output from the script.”
如何使用:用户无需显式调用。只需说 “Read the contract.pdf and tell me the date”,Claude 会自动激活 PDF Skill。
Plugins
Plugin 是上述所有内容(Commands, Agents, Skills)的分发容器。
接下来说一下比较容易混淆的地方,commands,agents,skills 确实有功能重叠的地方,但是他们的侧重点是不一样的,只有明白了他们各自的侧重点之后才能更好的决定使用哪一个。
1. 最大的重叠区:Command vs. Skill
这是最容易混淆的一对。它们都可以用来封装一段 Prompt 或脚本。
重叠点:它们本质上都是 “预定义的指令 / 脚本”。
核心区别:谁掌握 “扳机”?
Command (命令) 是显式的。你(用户) 是控制者。你必须输入
/review,Claude 才会去审查。Skill (技能) 是隐式的。Claude (模型) 是控制者。你只需要说 “帮我看看这代码咋样”,Claude 会自己判断:“哦,用户需要审查代码,我应该调用
CodeReviewSkill。”
例子:
如果你写了一个 Python 脚本 format_code.py。
做成 Command (
/fmt):你每次必须手动输入/fmt才能运行它。做成 Skill:当你对 Claude 说 “这代码太乱了” 时,Claude 会自动运行这个脚本。
2. 逻辑重叠区:Agent vs. Skill
这两者都涉及 “特定领域的专业能力”。
重叠点:都能让 Claude 变得更专业(例如都懂 SQL)。
核心区别:上下文是不是独立的?
Skill (技能) 是工具。它在当前对话中被加载。它就像给了当前的 Claude 一本《SQL 手册》,它现学现卖,但还是同一个 Claude 在跟你说话,上下文是混在一起的。
Agent (代理) 是分身。它拥有独立的上下文。当你调用 Agent 时,就像是 Claude 把任务转包给了坐在旁边的 “数据库专家”。这个专家有自己的记忆和设定,处理完后只把结果告诉主 Claude,避免了主对话窗口被大量的中间步骤污染。
3. Plugin (插件) 的特殊地位
Plugin 没有任何功能上的重叠,因为它不是功能本身,而是包装盒。
你不能把 Plugin 和 Command 并列比较。
Plugin 包含 Command、Skill 和 Agent。
就好比:Command 是苹果,Agent 是橙子,而 Plugin 是水果篮。
一个场景看懂所有区别
假设你想实现一个功能:“将代码翻译成中文文档”。你可以通过三种方式实现,侧重点不同:
| 方式 | 实现形态 | 交互体验 | 适用情况 |
|---|---|---|---|
| 方式 A: Command | 定义 /trans 命令 | 你输入 /trans file.py,Claude 立即执行翻译。 | 高频、确定性任务。你很清楚什么时候需要翻译,不需要 Claude 废话。 |
| 方式 B: Skill | 编写 TranslationSkill.md | 你说 “帮我把这文件弄得容易读一点”,Claude 自动识别并调用翻译技能。 | 模糊指令、智能化。你希望 Claude 像助手一样自动判断该做什么。 |
| 方式 C: Agent | 创建 TranslatorAgent | 你说 “开启翻译项目”,主 Claude 唤醒子代理。子代理独立运行,不打扰你,翻译了几百个文件后,只给你一个汇总报告。 | 复杂、耗时、多步骤任务。防止翻译几百个文件的过程刷屏,导致你之前的对话记忆被挤掉。 |
总结:我该选哪个?
如果你在尝试扩展 Claude Code,可以用这个简单的决策树:
这个功能需要用户手动且精确地触发吗?
是 → Command (
/foo)否 → 下一步
这个任务是否非常复杂,需要大量步骤,且容易污染当前的聊天记录?
是 → Agent (独立的子脑)
否 → Skill (教会当前大脑新知识)
你想把这些功能打包发给同事用吗?
- 是 → 把做好的 Command/Agent/Skill 放到一个文件夹里,做成 Plugin。
如果内容有误,欢迎指出
![[OpenWebUI] Claude 原生 Tool Use 上新1](https://xiaohack.oss-cn-zhangjiakou.aliyuncs.com/typecho/images/2026/01/14/20260114182035_69676df30b219.png!mark)