合集:Claude Code Skills 系列 · 高级篇
前言
掌握了初级和中级的 Skills、Hooks、配置体系之后,本篇将带你进入 Claude Code 的高级领域:在 CI/CD 流水线中自动运行 Claude、通过无头模式进行编程集成,以及构建多智能体编排工作流。
这是把 Claude Code 从"个人效率工具"升级为"团队基础设施"的关键一跃。
一、无头模式(Headless Mode)
1.1 什么是无头模式?
无头模式是指以非交互式方式运行 Claude Code,适合在脚本、CI/CD、自动化任务中使用。
# 基本用法:-p 或 --print 标志
claude -p "分析 src/auth.ts 的安全漏洞"
# 从标准输入读取
cat error.log | claude -p "解释这个错误的根本原因"
# 结合文件输入
claude -p "重构以下代码,提升可读性" < messy-code.ts
1.2 输出格式控制
# 纯文本输出(默认)
claude -p "列出项目依赖" --output-format text
# JSON 格式(便于脚本解析)
claude -p "分析代码质量" --output-format json
# 流式 JSON(实时输出,适合长任务)
claude -p "重构整个模块" --output-format stream-json
JSON 输出结构:
{
"type": "result",
"content": "分析结果内容...",
"usage": {
"input_tokens": 1234,
"output_tokens": 567
},
"stop_reason": "end_turn"
}
1.3 --bare 标志:纯净模式
# --bare:跳过 hooks、CLAUDE.md、skills 的自动加载
# 适合 CI/CD 环境,保证可重复性
claude --bare -p "运行测试并报告结果" --output-format json > test-report.json
1.4 预授权工具
在无头模式下,避免因为等待工具授权而阻塞:
claude -p "修复 lint 错误" \
--allowedTools "Read,Edit,Bash(npx eslint*),Bash(npx prettier*)"
二、GitHub Actions 集成
2.1 自动 PR 代码审查
.github/workflows/claude-review.yml:
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # 获取完整历史,用于 git diff
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Get PR diff
id: diff
run: |
git diff origin/main...HEAD > pr.diff
echo "diff_size=$(wc -l < pr.diff)" >> $GITHUB_OUTPUT
- name: Run Claude Code Review
id: claude_review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
cat pr.diff | claude --bare -p "
你是一个专业的代码审查员。请审查这个 PR 的变更:
审查维度:
1. 代码质量(可读性、复杂度、命名)
2. 潜在 Bug(边界条件、空指针、竞态条件)
3. 安全漏洞(OWASP Top 10)
4. 性能问题(N+1 查询、内存泄漏)
5. 测试覆盖(是否有对应的测试用例)
输出格式:Markdown,包含:
- 总体评价(LGTM / 需要修改 / 严重问题)
- 问题列表(文件名 + 行号 + 描述 + 建议)
- 亮点(好的实践值得表扬)
" --output-format json | jq -r '.content' > review.md
- name: Post review comment
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const review = fs.readFileSync('review.md', 'utf8');
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: `## 🤖 Claude Code 自动审查\n\n${review}`
});
2.2 自动化 Bug 分析
name: Claude Bug Analysis
on:
issues:
types: [labeled]
jobs:
analyze:
if: github.event.label.name == 'needs-analysis'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Analyze issue
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
ISSUE_BODY: ${{ github.event.issue.body }}
ISSUE_TITLE: ${{ github.event.issue.title }}
run: |
echo "Issue: $ISSUE_TITLE" > issue-context.txt
echo "Description: $ISSUE_BODY" >> issue-context.txt
claude --bare -p "
根据以下 Issue 描述,分析可能的根本原因,并在代码库中找到相关代码:
$(cat issue-context.txt)
请:
1. 指出最可能的问题所在文件和行号
2. 解释问题原因
3. 提供修复建议
4. 评估影响范围
" --allowedTools "Read,Grep,Glob" \
--output-format json | jq -r '.content' > analysis.md
三、多智能体编排模式
3.1 三层工作流层次结构
Claude Code 的工作流可以按复杂度分三层:
Skill(单一任务)
↓ 组合
Marshal(多步骤编排,单 session)
↓ 并行化
Fleet/Archon(多 session 并行,隔离环境)
3.2 Marshal 模式:多步骤串行编排
适合需要多个步骤且步骤间有依赖的任务。
.claude/skills/full-feature/SKILL.md:
---
name: full-feature
description: 完整实现一个功能,包括代码、测试、文档和 PR 描述。触发词:完整实现、从头实现功能、full implementation。
allowed-tools: [Read, Write, Edit, Bash(git *), Bash(npm *), Grep, Glob]
user-invocable: true
---
## 任务:完整功能实现流程
### 阶段一:需求分析
1. 仔细阅读用户的功能描述
2. 列出需要创建/修改的文件清单
3. 识别可能的技术风险和依赖
### 阶段二:实现
1. 创建功能分支:`git checkout -b feat/<feature-name>`
2. 按照项目架构规范实现代码
3. 遵循 CLAUDE.md 中的编码规范
### 阶段三:测试
1. 为新功能编写单元测试
2. 运行测试套件:`npm test`
3. 确保测试覆盖率不低于现有水平
### 阶段四:文档
1. 更新相关的 JSDoc 注释
2. 如有 API 变更,更新 docs/api/ 中的文档
3. 在 CHANGELOG.md 中记录变更
### 阶段五:提交
1. 暂存所有变更:`git add -A`
2. 生成提交信息(调用 commit-msg Skill)
3. 创建 PR 描述草稿
## 输出物
完成后,输出:
- 实现的文件清单
- 测试结果摘要
- PR 描述草稿(Markdown 格式)
3.3 Fleet 模式:并行多 Session
适合大规模、可并行的任务,每个子任务在独立的 Git Worktree 中运行。
# 脚本:并行处理多个模块的文档更新
#!/bin/bash
MODULES=("auth" "payment" "notification" "reporting")
PIDS=()
for module in "${MODULES[@]}"; do
# 为每个模块创建独立的 worktree
git worktree add ".worktrees/$module" -b "docs/$module"
# 在独立目录中并行运行 Claude Code
(
cd ".worktrees/$module"
claude --bare -p "
为 src/$module/ 目录下的所有函数生成完整的 JSDoc 文档,
遵循项目的文档规范。
" --allowedTools "Read,Edit,Glob" \
--output-format json > "../logs/$module.json" 2>&1
echo "✅ $module 文档更新完成"
) &
PIDS+=($!)
done
# 等待所有并行任务完成
for pid in "${PIDS[@]}"; do
wait $pid
done
echo "🎉 所有模块文档更新完成"
# 合并结果
for module in "${MODULES[@]}"; do
git worktree remove ".worktrees/$module"
done
四、从迭代到提炼:Skill 工厂方法
4.1 方法论
不要一开始就试图写出完美的 Skill。正确的流程:
1. 在对话中解决真实问题
↓
2. 发现效果好的 Prompt 模式
↓
3. 请 Claude 提炼成 Skill
↓
4. 测试和打磨
↓
5. 提交到团队 Git
4.2 提炼对话
你:我们刚才用来处理 TypeScript 迁移问题的方法非常有效。
能把这个工作流提炼成一个可复用的 SKILL.md 文件吗?
Claude:好的,根据我们的对话,我会提炼出以下 Skill:
---
name: ts-migration
description: 将 JavaScript 文件迁移到 TypeScript,包括类型推断、接口定义和严格模式兼容。触发词:JS 转 TS、TypeScript 迁移、添加类型。
allowed-tools: [Read, Edit, Bash(npx tsc*)]
---
## 迁移步骤
...(基于我们实际使用的方法)
五、高级调试技巧
5.1 使用 --verbose 查看执行详情
claude -p "分析性能问题" --verbose
输出会显示:
- 加载了哪些 Skills
- 触发了哪些 Hooks
- 每个工具调用的详情
5.2 会话状态检查
# 在 Claude Code 中
/status
# 查看完整的配置解析结果
/config
5.3 跨会话的上下文传递
通过 --context-file 传递上一次会话的状态(适合长任务分多次完成):
# 会话 1:完成前半部分,保存状态
claude -p "实现认证模块(只做接口定义)" \
--output-format json > session1.json
# 会话 2:基于上一次结果继续
SESSION1_RESULT=$(cat session1.json | jq -r '.content')
claude -p "基于以下已完成的接口定义,实现具体的业务逻辑:
$SESSION1_RESULT" \
--allowedTools "Read,Write,Edit,Bash(npm *)"
六、生产级 Skill 设计原则
原则一:单一职责
每个 Skill 只做一件事,用 Marshal 模式来组合多个 Skill。
原则二:幂等性
Skill 应该可以重复执行,不因多次运行产生不同结果。
原则三:可观测性
重要的操作要有日志,配合 Hooks 的 audit-log.sh 实现。
原则四:渐进式授权
从最小权限开始,需要时再扩展,而不是一开始就开放所有权限。
原则五:失败友好
Skill 应该在失败时给出清晰的错误信息和恢复建议,而不是静默失败。
七、本系列总结
经过初级 → 中级 → 高级三个层次,你现在掌握了:
| 层次 | 核心能力 |
|---|---|
| 初级 | 创建 Skill、配置 CLAUDE.md、理解 settings.json |
| 中级 | 自动触发优化、工具权限精细控制、Hooks 自动化 |
| 高级 | 无头模式、CI/CD 集成、多智能体编排、Skill 工厂方法 |
Claude Code Skills 不只是一个效率工具,它是将 AI 能力标准化、工程化、团队化的基础设施。把它用好,AI 就能真正融入你的开发工作流,而不只是偶尔聊天的助手。
系列导航
- 初级篇(一):什么是 Skills,为什么需要它
- 初级篇(二):从零创建你的第一个斜杠命令
- 初级篇(三):CLAUDE.md 与配置体系入门
- 中级篇(一):自动触发机制与工具权限精细控制
- 中级篇(二):Hooks 钩子与确定性自动化
- 中级篇(三):团队协作与 Git 共享实践
- 高级篇(合并篇):CI/CD 集成、无头模式与多智能体编排 ← 当前