title: Skill 技能系统完全指南(八)进阶技巧——条件触发、多语言支持与 Agent/Workflow 配合
date: 2026-07-10
category: AI 开发工具
tags: [Claude Code, Skill, 进阶, 条件触发, 多语言, Agent, Workflow]

Skill 技能系统完全指南(八):进阶技巧——条件触发、多语言支持与 Agent/Workflow 配合

系列终篇。当你已经熟练编写和共享 Skill 后,这些进阶技巧能让你的 Skill 更加智能、更加强大。条件触发、多语言适配、与 Agent/Workflow 的深度协作——让你的 Skill 从"能用"升级到"好用"。

前言

这是 Skill 技能系统系列的最后一篇。在前面的 7 篇中,我们:

  • 认识了 Skill 系统(第 1 篇)
  • 学会了自定义 Skill 开发(第 2 篇)
  • 掌握了 Skill 编排与组合(第 3 篇)
  • 编写了 3 个实战 Skill:DevOps 部署、代码质量、文档生成(第 4-6 篇)
  • 学习了团队共享与版本管理(第 7 篇)

本篇作为收官,带来 4 个进阶技巧,帮你把 Skill 系统推到极致。

一、条件触发:让 Skill 更聪明

1.1 什么是条件触发?

普通的 Skill 只要匹配到关键词就会触发。但有时候我们希望 Skill 在特定条件下才触发,在其他条件下静默。

1.2 场景:只在提交前触发 Lint 检查

---
name: pre-commit-lint
description: 提交前自动执行 Lint 检查,仅在有未暂存文件时触发
trigger: 提交前检查, pre-commit, 提交 lint
condition: 检测到 git diff 或 git status 有变更
---

# 提交前 Lint 检查 Skill

## 触发条件

仅在以下情况激活:
- 当前有未暂存的代码变更(git status 有 modified/added 文件)
- 用户提到"提交"、"commit"、"pre-commit"等关键词

如果没有代码变更,不激活此 Skill,直接提示"没有检测到代码变更"。

## 执行流程

### 步骤 1: 检查是否有变更

```bash
git status --porcelain

如果输出为空,跳过后续步骤。

步骤 2: 确定变更的文件类型

# 前端文件
git diff --name-only --cached | grep -E '\.(vue|ts|js)$'

# 后端文件
git diff --name-only --cached | grep -E '\.(java)$'

步骤 3: 针对性执行 Lint

  • 如果有 .vue / .ts / .js 文件 → 执行前端 Lint
  • 如果有 .java 文件 → 执行后端 Checkstyle
  • 如果都没有 → 提示"没有可检查的代码文件"

步骤 4: 报告结果

📋 Pre-commit 检查报告
━━━━━━━━━━━━━━━━━━━━━

变更文件:
  - src/views/UserList.vue
  - src/api/user.ts
  - src/types/user.ts

前端 Lint:✅ 0 error, 1 warning
  warning: UserList.vue:45 - 建议使用 v-slot 代替 slot 语法

后端 Checkstyle:✅ 无变更

━━━━━━━━━━━━━━━━━━━━━
可以安全提交。

1.3 条件表达式

在 Skill 中可以使用伪代码描述条件:

## 条件逻辑

IF 当前分支 == main AND 操作 == 部署
  → 要求二次确认
  
IF 有 .env 文件变更
  → 检查是否包含敏感信息(密码、密钥)
  
IF 测试失败次数 > 3
  → 标记为 flaky test,建议暂时禁用

二、多语言支持

2.1 多语言 Skill

同一个 Skill 可以支持多种语言输出,根据用户的输入语言自动切换。

---
name: i18n-assistant
description: 多语言翻译和国际化助手,支持中英文互译
trigger: 翻译, translate, i18n, 国际化, 多语言
---

# 多语言翻译 Skill

## 角色定义

你是一个专业的多语言翻译助手,精通中英文技术术语翻译。

## 支持的语言对

| 源语言 | 目标语言 | 场景 |
|--------|---------|------|
| 中文 | 英文 | 国际化文案、API 文档 |
| 英文 | 中文 | 技术文档翻译、错误提示 |
| 中文 | 日文 | 日本站点适配 |
| 中文 | 韩文 | 韩站点适配 |

## 翻译规则

### 技术术语翻译表

| 中文 | English | 日本語 | 한국어 |
|------|---------|--------|--------|
| 用户 | User | ユーザー | 사용자 |
| 登录 | Login | ログイン | 로그인 |
| 注册 | Register | 登録 | 등록 |
| 密码 | Password | パスワード | 비밀번호 |
| 错误 | Error | エラー | 오류 |
| 成功 | Success | 成功 | 성공 |

### 命名规范

- 键名使用 snake_case:`user_login_success`
- 值使用自然语言:`ログインに成功しました`
- 变量占位符使用 ICU 格式:`{userName}、{totalCount}`

## 输出格式

生成 `src/locales/{lang}.ts` 文件:

```typescript
// src/locales/en.ts
export default {
  common: {
    search: 'Search',
    reset: 'Reset',
    confirm: 'Confirm',
  },
  user: {
    loginSuccess: 'Login successful',
    loginFailed: 'Login failed',
    logout: 'Logout',
  },
}

自动检测

扫描项目中所有 .vue 文件,提取硬编码的中文字符串,
生成需要翻译的清单:

📋 待翻译文本清单
━━━━━━━━━━━━━━━━━━━━━

| 文件 | 行号 | 中文文本 | 建议键名 |
|------|------|---------|---------|
| UserList.vue | 23 | 用户管理 | user.management |
| UserList.vue | 56 | 搜索 | common.search |
| Login.vue | 12 | 请输入密码 | user.passwordPlaceholder |

共发现 15 处硬编码文本,建议全部抽离为国际化键。

### 2.2 多语言 Skill 提示词

Skill 本身的提示词也可以写成多版本:

```markdown
## 多语言提示词

根据用户的输入语言,自动选择对应的提示词版本:

- 用户说中文 → 使用中文提示词执行
- 用户说英文 → 使用英文提示词执行
- 用户混用 → 优先使用用户首次出现的语言

但代码注释和输出始终使用英文(技术通用语言)。

三、与 Agent 的深度配合

3.1 Skill 调用 Agent

Skill 在执行过程中可以动态派出 Agent 完成子任务:

---
name: fullstack-feature
description: 全栈功能开发:同时派前端 Agent 和后端 Agent 并行开发
trigger: 全栈开发, fullstack, 前后端同时开发
---

# 全栈功能开发 Skill

## 角色定义

你是一个全栈开发编排器。当你收到功能需求时,
自动拆分为前端和后端子任务,派出对应的 Agent 并行开发。

## 执行流程

### 步骤 1: 需求分析

理解用户的需求,拆分为前端任务和后端任务。

### 步骤 2: 并行开发

同时派出:

  • Frontend Agent:负责 Vue 组件、API 调用、路由配置
  • Backend Agent:负责 Controller、Service、Mapper、SQL

### 步骤 3: 接口对齐

确保前后端使用的字段名、数据类型、URL 路径完全一致。

### 步骤 4: 联调验证

启动前后端服务,验证功能是否正常。


## 示例

用户输入:

帮我做一个设备列表页面,包含搜索、表格、分页、详情弹窗


Skill 自动拆解:

Backend Agent 任务:

  • GET /api/devices — 分页查询设备列表
  • GET /api/devices/:id — 查询设备详情
  • 返回字段:id, name, model, status, createTime

Frontend Agent 任务:

  • src/views/Device/List.vue — 设备列表页面
  • src/api/device.ts — API 调用函数
  • src/types/device.ts — 类型定义

两个 Agent 并行开发,完成后自动联调。

3.2 Skill 定义 Agent

Skill 中可以定义专用的 Agent 角色:

## 专用 Agent 定义

### Security Agent
职责:专门审查安全相关问题
触发:当 Skill 检测到安全风险时,派出 Security Agent 深入审查

### Performance Agent
职责:专门分析性能问题
触发:当 Skill 检测到慢查询或大量 DOM 操作时,派出 Performance Agent

### UX Agent
职责:专门评估用户体验
触发:当 Skill 检测到页面交互逻辑时,派出 UX Agent 评估可用性

四、与 Workflow 的深度配合

4.1 Skill 作为 Workflow 的步骤

Workflow 脚本中可以调用 Skill 定义的逻辑:

// Workflow: 完整发布流程
export const meta = {
  name: 'full-release',
  description: '完整发布流程:审查 → 测试 → 构建 → 部署',
  phases: [
    { title: '代码审查', agentType: 'code-reviewer' },
    { title: '测试', agentType: 'tester' },
    { title: '构建', agentType: 'builder' },
    { title: '部署', agentType: 'devops' },
  ],
};

// 每个 phase 实际上对应一个 Skill
// Workflow 只是编排器,Skill 是执行者

4.2 Workflow 触发 Skill

## Workflow 与 Skill 的关系

Workflow = 导演(决定做什么、按什么顺序做)
Skill = 演员(负责具体执行)


一个 Workflow 可以触发多个 Skill:

发布 Workflow
├── Step 1: 触发 code-review Skill
├── Step 2: 触发 test-coverage Skill
├── Step 3: 触发 devops-deploy Skill
└── Step 4: 触发 changelog-gen Skill


反过来,一个 Skill 也可以触发一个 Workflow:

devops-deploy Skill
├── 如果检测到是生产环境
│ └── 触发 production-release Workflow(更严格的流程)
└── 如果检测到是测试环境
└── 直接执行 deploy 流程

4.3 条件化 Workflow

## 条件化执行

根据 Skill 的执行结果,决定是否继续 Workflow:

IF code-review Skill 返回评分 < 60
→ 中止 Workflow,不执行后续步骤

IF test-coverage Skill 返回覆盖率 < 70%
→ 警告但不中止,继续执行

IF devops-deploy Skill 检测到数据库有未执行的 migration
→ 先触发 db-migration Skill,再执行部署

五、Skill 性能优化

5.1 减少不必要的文件读取

## 优化原则

- 只在需要时读取文件,不要一次性读取整个项目
- 使用 Grep 精确定位目标文件,再 Read
- 大文件(>1000 行)只读取相关片段

示例:

❌ 差的做法:
  Read 整个项目的所有 .java 文件
  
✅ 好的做法:
  Grep "@Controller" 找到 Controller 文件
  再 Read 这些特定文件

5.2 缓存机制

## 缓存策略

对于不常变化的信息(如项目结构、依赖关系),
可以缓存到 .claude/tmp/skill-cache.json:

```json
{
  "lastScanned": "2026-07-10T10:00:00Z",
  "projectStructure": {
    "controllers": ["UserCtrl.java", "DeviceCtrl.java"],
    "services": ["UserService.java", "DeviceService.java"]
  }
}

下次执行时先检查缓存是否过期(>1 小时则重新扫描)。


### 5.3 增量检查

```markdown
## 增量检查

只检查本次变更涉及的代码,而不是全量扫描:

```bash
# 只检查 git diff 中的文件
git diff --name-only origin/main...HEAD | xargs eslint

这样可以大幅减少检查时间和 Token 消耗。


## 六、Skill 调试与诊断

### 6.1 调试模式

```markdown
## 调试开关

在 Skill 中加入调试模式:

```yaml
debug: false    # 设为 true 时输出详细的执行日志

调试模式下,每个步骤的输出都会记录到 .claude/tmp/skill-debug.log

[10:30:01] 加载 Skill: code-review-pro
[10:30:02] 读取文件: src/main/java/.../UserService.java
[10:30:03] 发现 L45: 潜在 NPE — 用户可能为 null
[10:30:04] 发现 L78: 方法过长 — 86 行,建议拆分
[10:30:05] 评分计算: 正确性(38/40) + 安全(22/25) + 性能(16/20) + 维护(8/15) = 84/100
[10:30:05] 输出报告完成

### 6.2 常见问题排查

| 症状 | 可能原因 | 解决方案 |
|------|---------|---------|
| Skill 不触发 | description 缺少关键词 | 补充 trigger 关键词 |
| 触发但执行错误 | 提示词有歧义 | 细化步骤描述 |
| 执行超时 | 文件读取过多 | 改用 Grep 精准定位 |
| 输出不完整 | Token 超限 | 精简输出格式 |
| 误报率高 | 规则太宽松 | 收紧判断条件 |

## 七、Skill 进阶组合拳

### 7.1 完整的一天开发流程

早上开工:
/init → init Skill:确认项目状态
/code-review-pro → 审查昨天的代码

开发新功能:
/fullstack-feature → 全栈开发 Skill:前后端并行
/db-change-check → 数据库变更检查

下班前:
/changelog-gen → 生成今日 Changelog
/quality-gate → 综合质量检查
/deploy-to-staging → 部署到测试环境

周五:
/api-doc-gen → 更新本周变更的 API 文档
/doc-sync → 检查文档同步状态


### 7.2 团队协作的一天

开发者 A:
/code-review-pro → 审查自己的代码
/deploy-to-staging → 部署到测试环境

开发者 B:
/comprehensive-review → 综合审查 A 的改动
/test-coverage → 检查覆盖率是否达标

Tech Lead:
/changelog-gen → 生成发布说明
/api-doc-gen → 更新 API 文档
/release-orchestrator → 编排发布流程


### 7.3 持续集成的 Skill 链

每次 push → 自动触发:
code-review-pro → lint-checker → test-coverage → security-audit

全部通过 → 自动触发:
devops-deploy (staging) → smoke-test → changelog-gen

staging 验证通过 → 手动确认后触发:
devops-deploy (production) → health-check → notify-team


## 八、系列总结

### 8.1 Skill 系统的核心价值

回顾整个系列,Skill 系统的核心价值可以浓缩为一句话:

> **把重复的经验变成可执行的规则,让 Claude 成为你团队的"数字专家"。**

具体来说:

| 价值 | 说明 |
|------|------|
| **标准化** | 所有人用同一套审查标准、部署流程 |
| **提效** | 一键完成多步操作,减少手动失误 |
| **传承** | 老员工的经验固化到 Skill 中,新人直接继承 |
| **可扩展** | 随时添加新 Skill,能力持续增长 |
| **可共享** | 团队内复用,个人到开源社区复用 |

### 8.2 学习路径建议

| 阶段 | 内容 | 预计时间 |
|------|------|---------|
| **入门** | 第 1 篇:认识 Skill 系统 | 30 分钟 |
| **上手** | 第 2 篇:编写第一个自定义 Skill | 1-2 小时 |
| **进阶** | 第 3-6 篇:编排 + 实战 Skill | 半天 |
| **精通** | 第 7-8 篇:共享 + 进阶技巧 | 持续迭代 |

### 8.3 下一步学习方向

Skill 系统只是 Claude Code 能力扩展的一部分。如果你想继续深入学习:

- **Agent 系统**:自定义 Agent 角色,与 Skill 配合使用
- **Workflow 脚本**:用 JavaScript 编写更复杂的工作流
- **Memory 记忆系统**:让 Claude 跨会话记住你的偏好
- **Hook 自动化**:在特定事件发生时自动触发操作
- **Skill 编排的高级技巧**:嵌套编排、动态调度、条件分支

## 九、写在最后

这个 8 篇的 Skill 系列从"什么是 Skill"开始,到"如何编写、编排、共享、进阶"结束。

如果你已经跟着学完了全部内容,你现在应该能够:

- ✅ 理解 Skill 系统的工作原理
- ✅ 编写贴合项目需求的自定义 Skill
- ✅ 将多个 Skill 编排成自动化流程
- ✅ 覆盖部署、质量、文档等核心场景
- ✅ 建立团队 Skill 库,实现知识传承
- ✅ 使用进阶技巧让 Skill 更智能

**最后记住一句话**:

> Skill 的价值不在于写了多少,而在于用了多少次。一个每天用 10 次的简单 Skill,比一个月用一次的复杂 Skill 更有价值。

从你最痛的那个重复性任务开始,写你的第一个 Skill 吧。

---

*系列目录:*
1. ~~初识 Skill 系统——什么是 Skill?为什么需要 Skill?~~
2. ~~自定义 Skill 开发——从 0 到 1 编写自己的 Skill~~
3. ~~Skill 编排与组合——多个 Skill 串联工作,打造自动化流程~~
4. ~~实战 Skill:DevOps 部署——编写 Docker/Nginx/CI-CD 相关的部署 Skill~~
5. ~~实战 Skill:代码质量——编写 Code Review / Lint / 测试覆盖率 Skill~~
6. ~~实战 Skill:文档生成——编写 API 文档 / 技术手册 / Changelog 生成 Skill~~
7. ~~Skill 分享与复用——团队共享 Skill 库、开源 Skill 生态、版本管理~~
8. ~~Skill 进阶技巧——条件触发、多语言支持、与 Agent/Workflow 的配合~~ ← 本篇(系列终篇)

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐