Skip to content

🤖 实用工作流配置

工作流是 Claude Code 的自动化能力:你定义好流程,Claude 按部就班执行。一次配置,反复使用。


📌 什么是工作流?

工作流(Workflow)允许你用脚本定义多步骤任务,Claude Code 会调用多个子 Agent 并行或串行执行。适合:

  • 🔍 代码审查:自动 review 所有变更
  • 🐛 Bug 排查:多角度搜索和分析
  • 📋 项目审计:全面检查代码质量

🚀 快速上手:创建工作流

1. 创建工作流文件

.claude/workflows/ 目录下创建 .js 文件:

bash
mkdir -p .claude/workflows

2. 编写工作流

以下是一个代码审查工作流模板(复制粘贴即可使用):

js
// .claude/workflows/review.js
export const meta = {
  name: 'review-changes',
  description: '审查代码变更:找 Bug、性能问题、安全漏洞',
  phases: [
    { title: '审查', detail: '多维度审查代码' },
    { title: '验证', detail: '确认发现的问题' }
  ],
}

phase('审查')

const DIMENSIONS = [
  {
    key: 'bugs',
    prompt: '在这段代码中寻找潜在的 Bug:逻辑错误、空值处理、边界条件。列出所有发现。'
  },
  {
    key: 'perf',
    prompt: '检查这段代码的性能问题:不必要的重渲染、内存泄漏、低效算法。列出所有发现。'
  },
  {
    key: 'security',
    prompt: '检查这段代码的安全问题:注入风险、敏感信息泄露、权限问题。列出所有发现。'
  },
]

const results = await pipeline(
  DIMENSIONS,
  d => agent(d.prompt, { label: `review:${d.key}` }),
  review => {
    if (!review?.findings?.length) return []
    return parallel(
      review.findings.map((f, i) => () =>
        agent(
          `请严格验证以下发现是否真实存在。如果确认是误报,请说明原因。
          
发现内容:${f.title}
文件:${f.file}
描述:${f.description}`,
          { label: `verify:${f.title?.slice(0, 20)}` }
        ).then(v => ({ ...f, verified: !v?.includes?.('误报') }))
      )
    )
  }
)

const confirmed = results
  .flat()
  .filter(Boolean)
  .filter(f => f.verified)

log(`审查完成:发现 ${results.flat().filter(Boolean).length} 个问题,确认 ${confirmed.length} 个`)
return { confirmed }

3. 运行工作流

在 Claude Code 中输入:

/workflows review

📋 实用工作流模板

模板 1:Git 提交前的自动检查

js
// .claude/workflows/pre-commit-check.js
export const meta = {
  name: 'pre-commit',
  description: '提交前自动检查代码质量',
}

const checks = await parallel([
  () => agent('检查暂存区代码是否有 console.log 等调试代码,有则列出', { label: '检查调试代码' }),
  () => agent('检查暂存区代码是否有未处理的 TODO/FIXME 注释', { label: '检查待办标记' }),
  () => agent('检查暂存区代码的类型安全,是否有 any 类型滥用', { label: '检查类型安全' }),
])

const issues = checks.filter(Boolean).flat()
if (issues.length > 0) {
  log(`⚠️ 发现 ${issues.length} 个问题,建议修复后再提交`)
} else {
  log('✅ 所有检查通过')
}

模板 2:项目结构分析

js
// .claude/workflows/analyze-project.js
export const meta = {
  name: 'analyze',
  description: '分析项目结构和依赖',
}

const [structure, deps, patterns] = await parallel([
  () => agent('分析这个项目的目录结构,指出组织是否合理', { label: '结构分析' }),
  () => agent('检查 package.json 的依赖,标出过时的库和安全漏洞', { label: '依赖分析' }),
  () => agent('分析代码中是否有重复的模式可以抽取为公共组件或工具函数', { label: '模式分析' }),
])

log('📊 项目分析报告:')
log(structure)
log(deps)
log(patterns)

🎯 最佳实践

原则说明
单一职责每个工作流只做一件事
先小后大先在单个文件上验证,再扩大到整个项目
验证结果不要盲目信任 Agent 的输出,重要操作前人工确认
命名清晰给 Agent 取有意义的 label,方便跟踪进度

❓ 常见问题

Q: 工作流运行时间多长?

简单的(如 pre-commit check)约 30 秒,复杂的(如全项目审计)可能需要几分钟。

Q: 会不会消耗很多 Token?

会的。工作流本质是调用多次 Agent,每次 Agent 调用都会消耗 Token。建议在重要操作前使用,不要无差别运行。

Q: 不懂 JS 怎么办?

上面的模板直接复制粘贴到对应文件即可使用,不需要自己写代码。如果需要定制,可以加微信沟通。


💡 更多工作流模板持续更新中,加微信获取最新资源。

让每一个开发者都能用上 Claude Code