
1. Claude Skills 核心概念解析Claude Skills 是一种通过创建特定格式的文档来扩展 Claude AI 功能的机制。简单来说它允许用户为 Claude 编写技能说明书让 AI 学会执行特定的任务或遵循特定的工作流程。1.1 什么是 SkillsSkills 本质上是一个包含 YAML frontmatter 和 markdown 内容的文件SKILL.md。这个文件告诉 Claude 三件事这个技能是做什么的description什么时候使用这个技能when_to_use具体如何执行这个技能markdown 内容与普通的对话不同Skills 具有以下特点可复用性一次编写多次使用结构化明确的输入输出规范可组合多个 Skills 可以协同工作可扩展支持动态内容注入1.2 Skills 的工作原理当 Claude 接收到用户请求时它会检查所有可用的 Skills匹配请求内容与 Skills 描述选择最相关的 Skill或由用户直接指定按照 Skill 中的说明执行任务关键的技术实现包括动态上下文注入!command语法参数替换$ARGUMENTS占位符子代理执行context: fork实时文件监控无需重启即可生效2. 创建你的第一个 Skill2.1 基础环境准备在开始创建 Skill 前你需要安装最新版 Claude Codev2.1.145确保有 ~/.claude/skills/ 目录准备一个测试用的项目目录验证环境mkdir -p ~/.claude/skills/ claude --version2.2 编写简单的 Git 变更摘要 Skill让我们创建一个实用的 Skill用于总结 git 仓库中的未提交变更创建 Skill 目录mkdir -p ~/.claude/skills/summarize-changes编写 SKILL.md 文件--- description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff. --- ## Current changes !git diff HEAD ## Instructions Summarize the changes above in two or three bullet points, then list any risks you notice such as: - Missing error handling - Hardcoded values - Tests that need updating - Potential performance issues If the diff is empty, say No uncommitted changes found.这个 Skill 的关键点使用 !git diff HEAD动态获取当前差异提供明确的摘要格式要求包含具体的风险检查项2.3 测试你的 Skill在 git 项目中进行一些修改后通过两种方式测试让 Claude 自动调用What did I change since last commit?直接调用 Skill/summarize-changes预期会得到类似这样的响应Changes summary: - Modified src/utils/logger.js: added new error logging function - Updated tests/logger.test.js: added 3 new test cases Potential risks: - New logging function lacks input validation - Test coverage for edge cases could be improved3. 高级 Skill 开发技巧3.1 动态内容注入!command语法允许在 Skill 执行前运行命令并注入结果。这是构建动态 Skills 的核心技术。进阶用法示例--- name: server-status description: Check server status and diagnose issues allowed-tools: Bash(ssh *) --- ## Server Status Report !ssh userserver uptime free -h df -h ## Analysis Instructions 1. Check uptime - if 24h, note recent restart 2. Compare memory usage to total 3. Flag any disk usage 90% 4. Suggest optimization if CPU load cores注意事项命令输出会被纯文本替换复杂命令建议使用 ! 代码块确保命令是幂等的可重复执行3.2 参数化 Skills通过 $ARGUMENTS 和命名参数使 Skills 更灵活--- name: api-test description: Test API endpoints arguments: [method, endpoint] --- ## Testing $method $endpoint ### Request bash curl -X $method \ -H Content-Type: application/json \ https://api.example.com$endpointValidationCheck for:Status code 200Response time 500msValid JSON structure调用方式/api-test GET /users### 3.3 子代理执行模式 对于复杂任务可以使用 context: fork 在独立上下文中运行 markdown --- name: code-review description: Perform thorough code review context: fork agent: Explore --- # Code Review for $ARGUMENTS ## Review Criteria 1. Code quality (readability, structure) 2. Potential bugs 3. Performance considerations 4. Security implications 5. Test coverage ## Output Format - For each file: - Summary - Key findings - Suggested improvements这种模式的特点独立内存空间可指定专用代理类型不受主会话历史影响4. 实战构建完整的开发工作流 Skill4.1 需求分析假设我们要创建一个完整的提交代码工作流 Skill它应该检查未提交的变更运行测试生成符合规范的提交信息创建提交推送到远程仓库4.2 实现步骤创建文件 ~/.claude/skills/git-workflow/SKILL.md--- name: git-workflow description: Complete git commit workflow disable-model-invocation: true allowed-tools: Bash(git *) Bash(npm *) --- # Git Commit Workflow ## 1. Check Changes !git status --short ## 2. Run Tests bash npm test3. Generate Commit MessageBased on these changes: !git diff --cachedCreate a commit message that:Starts with type: feat|fix|docs|style|refactor|test|choreContains brief description (50 chars max)Includes detailed explanation (wrap at 72 chars)References issue if any4. Create Commitgit commit -m $ARGUMENTS5. Push Changesgit pushError HandlingIf tests fail, abort and show errorsIf no changes, say Nothing to commitIf push rejected, suggest pull first### 4.3 使用示例/git-workflow feat: add user auth\n\nImplement JWT based authentication\n\nCloses #123这个 Skill 展示了 - 多步骤工作流编排 - 自动化与人工输入的结合 - 完善的错误处理 - 工具权限控制allowed-tools ## 5. Skills 管理与优化 ### 5.1 组织你的 Skills 建议的目录结构~/.claude/ └── skills/ ├── git/ │ ├── commit-workflow/ │ ├── branch-management/ │ └── repo-init/ ├── code-review/ ├── api-testing/ └── docs/ ├── generate-changelog/ └── update-readme/### 5.2 性能优化技巧 1. 延迟加载大型内容 markdown See [detailed-api-spec.md](detailed-api-spec.md) for complete documentation使用 paths 限制 Skill 激活范围--- paths: *.js,*.ts ---合理设置 disable-model-invocation--- disable-model-invocation: true # 仅手动调用 ---5.3 调试与测试常用调试命令/claude --debug # 启动调试模式 /skills list # 查看可用 Skills /doctor # 诊断 Skills 加载问题测试策略单元测试单独测试每个 Skill集成测试测试 Skills 组合效果A/B测试比较有无 Skill 的响应差异6. 企业级应用实践6.1 团队共享 Skills有三种共享方式项目本地 Skills (.claude/skills/)随项目代码一起版本控制适合项目特定工作流插件形式可发布到内部市场支持版本管理托管配置通过企业设置统一部署强制所有用户使用6.2 安全最佳实践权限控制--- allowed-tools: Bash(npm *) Bash(git *) ---敏感信息处理使用环境变量而非硬编码限制生产环境访问权限审计日志claude --log-level debug claude.log6.3 CI/CD 集成示例创建自动化测试 Skill--- name: ci-runner description: Run CI pipeline context: fork agent: Plan --- # CI Pipeline 1. Checkout code !git pull origin main 2. Install dependencies !npm ci 3. Run tests !npm test 4. Build artifacts !npm run build 5. Deploy (if tests pass) !npm run deploy -- --envproduction然后在 CI 中调用claude /ci-runner7. 常见问题解决方案7.1 Skill 不触发排查步骤检查描述是否包含触发关键词确认 Skill 出现在 /skills list验证 YAML frontmatter 格式正确检查权限设置7.2 性能问题优化当 Skills 变多时精简 description 字数使用 skillOverrides 隐藏不常用 Skills增加 skillListingBudgetFraction7.3 复杂 Skills 设计模式对于复杂场景推荐主 Skill 负责流程控制子 Skills 处理具体任务使用 hooks 连接不同阶段示例结构.claude/ ├── skills/ │ ├── main-workflow/ │ ├── step1-processing/ │ ├── step2-validation/ │ └── step3-reporting/ └── hooks/ ├── pre-step1/ └── post-step3/8. 未来技能扩展方向8.1 集成外部系统通过 Skills 可以连接项目管理工具Jira, Asana监控系统Prometheus, Datadog云服务平台AWS, GCP示例 AWS 查询 Skill--- name: aws-query description: Query AWS resources allowed-tools: Bash(aws *) --- !aws ec2 describe-instances --query Reservations[*].Instances[*].[InstanceId,State.Name,PrivateIpAddress] --output table8.2 自定义 UI 生成利用 Skills 生成可视化报告HTML/Chart.js 动态图表Mermaid 流程图ASCII 表格8.3 机器学习集成高级应用场景自动异常检测预测性分析智能日志解析9. 性能监控与调优9.1 关键指标监控需要关注的指标Skill 加载时间内存使用量上下文切换成本令牌使用效率9.2 优化技巧实测经过验证的有效优化将大型参考文档拆分为单独文件使用 paths 限制激活范围合理设置 context: fork避免过度动态内容9.3 资源使用策略建议的资源分配核心 Skills常驻内存常用 Skills快速加载特殊用途 Skills按需加载10. 最佳实践总结根据实际项目经验保持 Skills 单一职责完善的错误处理清晰的文档注释版本控制管理定期性能评估个人推荐的 Skills 开发流程明确需求设计输入输出实现核心逻辑添加异常处理编写使用示例性能优化文档整理在实际使用中我发现最有效的 Skills 通常具有以下特点明确的触发条件有限的职责范围清晰的输出格式完善的错误处理一个实用的技巧是为每个 Skill 保留一个测试用例部分记录典型的输入和预期输出这对后续维护非常有帮助。