一文讲清 CLAUDE.md、Skills、MCP、Hooks 的实战用法

人工智能2周前更新 geekmao
251 0 0

六、实战:四件套配合编排

理论讲够了,来看三个真实场景,展示四件套如何配合使用。

场景1:自动化 PR 审查 + 团队通知

需求:每次提交 PR,Agent 自动审查代码,发现问题在 PR 上留 comment,审查完发 Slack 通知团队。

Step 1 — CLAUDE.md 提供项目上下文

Markdown
# CLAUDE.md
## 代码规范
- 禁止使用 any 类型,必须显式声明类型
- React 组件必须定义 Props 接口
- API 请求统一通过 services/ 层,不要在组件中直接 fetch
- CSS 使用 Tailwind,禁止内联 style
## PR 审查重点
- 关注安全性:用户输入必须校验
- 关注性能:避免不必要的 re-render
- 关注可维护性:函数不超过 50 行

这是 Agent 的 ” 背景知识 ” —— 它知道这个项目关心什么。

Step 2 — Skill 定义审查流程

Markdown
---
name: pr-review
description: PR 自动审查流程。Use when user asks to "review PR" or "check code changes".
---
## 流程
1. 获取当前 PR 的变更文件列表
2. 读取项目 CLAUDE.md 中的代码规范和审查重点
3. 逐文件检查:
   - 是否违反代码规范
   - 是否有安全风险(XSS、注入等)
   - 是否有性能问题
4. 生成审查报告,按严重程度分级
5. 在 PR 上留下 review comments
6. 汇总结果,通过 Slack 通知团队
   - 🔴 有严重问题 → 通知并标记需要修复
   - 🟢 审查通过 → 通知并建议合并

是 Agent 的 ” 操作手册 ” —— 它知道一步步该做什么。

Step 3 — MCP 提供执行能力

JSON
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"]
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"]
    }
  }
}

这是 Agent 的 ” 工具箱 ” —— 它能操作 GitHub 和 Slack。

Step 4 — Hooks 自动格式化

JSON
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "pnpm lint-staged"
          }
        ]
      }
    ]
  }
}

如果审查过程中 Agent 修复了代码,Hook 自动格式化。

编排后的完整流程

Markdown
PR 被创建
  │
  ▼
Agent 启动,自动加载 CLAUDE.md
  │  → 理解项目规范和审查重点
  ▼
触发 pr-review Skill(手动 /pr-review 或自动识别)
  │  → 按流程逐步执行
  ▼
通过 GitHub MCP 读取 PR diff
  │  → 获取所有变更文件
  ▼
逐文件审查(结合 CLAUDE.md 中的规范)
  │  → 生成审查报告
  ▼
通过 GitHub MCP 提交 Review Comments
  │  → 在 PR 上留下具体的行级评论
  ▼
(如果修复了代码)PostToolUse Hook 触发
  │  → 自动运行 lint-staged 格式化
  ▼
通过 Slack MCP 发送通知
  │  → "@channel PR #123 审查完成,发现 2 个问题需要修复"
  ▼
完成 ✅

这就是四者配合的完整闭环:

CLAUDE.md 提供语境 → Skill 定义步骤 → MCP 执行动作 → Hooks 自动化固定流程

场景2:多文件重构项目

需求:重构 auth 模块,涉及 10+ 文件,需要保证不破坏现有功能。

配置

1、CLAUDE.md – 定义架构约束

Markdown
## 架构规范
- Auth 逻辑统一在 `lib/auth/`
- 不要改动 `config/auth.ts`(生产配置)
- 所有改动必须有测试覆盖

2、Skill – 定义重构流程

Markdown
---
name: refactor-auth
description: 重构 auth 模块的标准流程
---
## 重构步骤
1. 读取当前 auth 相关文件
2. 生成重构计划
3. 征求用户确认
4. 逐文件重构
5. 运行测试验证
6. 生成变更文档

3、Hooks – 自动测试

JSON
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "pnpm test auth/"
          }
        ]
      }
    ]
  }
}

每次修改 auth 相关文件后,自动运行相关测试。

场景3:定时数据分析报告

需求:每天分析数据库日志,生成报告发送到 Slack。

配置

1、Skill – 定义分析流程

Markdown
---
name: daily-report
description: 生成每日数据分析报告
disable-model-invocation: true
---
## 分析步骤
1. 连接 Postgres 读取昨日日志
2. 分析关键指标:
   - 活跃用户数
   - 错误率
   - API 响应时间
3. 生成 Markdown 报告
4. 发送到 Slack #data-reports 频道

2、MCP – 数据库和 Slack 连接

JSON
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres",
               "postgresql://localhost:5432/prod"]
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"]
    }
  }
}

3、外部 Cron – 定时触发

Bash
# crontab 
0 9 * * * claude code /daily-report

每天早上 9 点自动执行。
工作流:

Markdown
Cron 触发
  ↓
Claude Code 启动
  ↓
加载 daily-report Skill
  ↓
通过 Postgres MCP 查询数据
  ↓
分析生成报告
  ↓
通过 Slack MCP 发送
  ↓
完成 ✅

© 版权声明

相关文章

暂无评论

暂无评论...