编程 Everything Claude Code (ECC) 深度实战:当 181 个 Skill 遇见 47 个智能体——从持久化记忆到跨 harness 工作流的完全指南(2026)

2026-06-17 23:55:39 +0800 CST views 8

Everything Claude Code (ECC) 深度实战:当 181 个 Skill 遇见 47 个智能体——从持久化记忆到跨 harness 工作流的完全指南(2026)

作者按:如果你已经在用 Claude Code、Cursor、Codex 或任何 AI 编程助手,却总觉得"它不够懂我"——记忆断层、规范飘忽、安全检查缺席、工作流无法沉淀——那么 ECC(Everything Claude Code)就是你要找的那块最后拼图。140K+ Stars、Anthropic 黑客马拉松冠军、181 个 Skill、47 个专业子智能体——这不是又一个配置文件集合,而是一整套让 AI 编程助手从"玩具"进化为"生产线伙伴"的操作系统。


目录

  1. 为什么要写这篇文章
  2. 从痛点出发:原生 Claude Code 的三重困境
  3. ECC 是什么:不只是配置集合,是 AI 编程助手的"操作系统"
  4. 核心架构拆解:六大组件如何协同工作
  5. 181 个 Skills 深度解析:从代码风格到安全扫描的完整技能图谱
  6. 47 个专业子智能体:把复杂任务委派给"专家团队"
  7. Hooks 生命周期:让 AI 工作流自动化、可审计、可回滚
  8. 跨 harness 支持:一套配置,多 AI 编程工具通用
  9. 实战演练:从零开始部署 ECC 到生产级工作流
  10. 性能优化:ECC 如何把 Claude Code 的 Token 效率提升 3-5 倍
  11. 安全优先:零宽度字符注入防御与敏感信息扫描
  12. 持久化记忆:让 AI 助手记住你的项目决策和架构取舍
  13. 12+ 语言生态:从 TypeScript 到 Rust,从 Python 到 Zig 的统一规范
  14. MCP 集成:当 ECC 遇见 Model Context Protocol
  15. 与其他 AI 编程工具对比:为什么 ECC 是目前的终极选择
  16. 局限性与避坑指南:ECC 不是银弹
  17. 未来展望:Skills 生态会取代 MCP 成为 AI Agent 开发新标准吗?
  18. 总结:ECC 给你的三个核心收益

为什么要写这篇文章

2026 年的 AI 编程工具赛道,已经不是"要不要用量化"的问题,而是"怎么用得爽、用得稳、用得安全"的问题。

Claude Code、Cursor、GitHub Copilot Workspace、OpenCode、Gemini CLI——这些工具的能力边界在快速收敛,差异化的核心不再是"谁的模型更聪明",而是:

  1. 工作流能否沉淀?(今天教它的规范,明天还记不记得?)
  2. 专业分工能否实现?(写代码、跑测试、做安全审查,能不能交给不同的"专家"?)
  3. 安全合规能否内置?(API Key 泄漏、零宽度字符注入、恶意依赖——AI 生成的代码会不会引入这些?)

Everything Claude Code(ECC) 给出的答案,是用一套系统化的 Skill/Agent/Hook/Rule 体系,把"AI 编程助手的使用经验"变成可复用、可版本控制、可跨工具迁移的"数字资产"。

这篇文章的目的,不是给你一份"ECC 安装教程"(那种东西官方文档已经有了),而是帮你理解:

  • ECC 的架构设计哲学(为什么是 181 个 Skill 而不是 1 个巨大的 prompt?)
  • 每个组件在实际开发中如何解决具体问题
  • 如何基于 ECC 搭建适合你团队的 AI 辅助编程规范
  • 性能、安全、记忆三大核心机制的实现原理

全文约 12000 字,附带可运行的配置代码示例。让我们开始。


从痛点出发:原生 Claude Code 的三重困境

在讨论 ECC 之前,我们需要先理解:为什么要给 Claude Code "打补丁"?原生的体验有什么问题?

困境一:记忆断层——每次对话都是从零开始

原生 Claude Code 的对话记忆是有限的。当你关闭会话、重启 IDE、或者对话长度超过上下文窗口,下面的信息就丢了:

  • 你项目的架构决策("为什么选 PostgreSQL 而不是 MongoDB?")
  • 你团队的编码规范("我们不用 any,用 unknown + 类型守卫")
  • 你已经尝试过但失败了的方案("这个库有内存泄漏,别用")

后果:你每次都要重新"培训" AI 助手,浪费 Token 和时间,而且容易因为记忆不一致导致代码风格割裂。

困境二:规范飘忽——同一个功能,今天和明天的实现不一样

即使在同一会话中,Claude Code 也可能因为:

  • 上下文被压缩(长对话后,早期规范细节丢失)
  • 没有明确的结构化规则约束
  • 不同任务的"优先级"冲突("先实现功能" vs "先写测试")

导致同一个逻辑,今天生成的代码用了 async/await,明天生成的用了 .then() 链式调用;今天加了错误处理,明天忘了。

后果:代码审查成本飙升,AI 生成的代码反而成了"技术债"的来源。

困境三:安全与质量检查的"事后诸葛亮"

原生 Claude Code 生成代码后,你需要手动:

  • 检查有没有硬编码的密钥
  • 检查有没有 SQL 注入、XSS 等常见漏洞
  • 检查是否符合你项目的 lint 规则
  • 检查有没有引入已知有漏洞的依赖

后果:AI 辅助编程的"加速度"被人工审查的"刹车"抵消了。你要么牺牲安全性换速度,要么牺牲速度换安全性。


ECC 的核心设计目标,就是同时解决这三个问题。它是怎么做到的?接下来我们拆解架构。


ECC 是什么:不只是配置集合,是 AI 编程助手的"操作系统"

Everything Claude Code(ECC) 由 AI 工程师 Affaan Mustafa 历经 10 个月的高强度生产使用后开源。它不是一份 .claude/settings.json 配置文件,而是一整套包含以下组件的系统级增强框架

everything-claude-code/
├── .claude-plugin/          # 插件元数据和市场配置
│   ├── plugin.json          # 插件描述、版本、依赖
│   └── marketplace.json     # 用于 /plugin marketplace add
├── agents/                  # 47 个专业子智能体定义
│   ├── planner.md           # 功能规划专家
│   ├── architect.md         # 系统设计决策专家
│   ├── tdd-guide.md        # 测试驱动开发教练
│   ├── code-reviewer.md     # 代码质量审查员
│   ├── security-reviewer.md # 安全漏洞分析师
│   ├── build-error-resolver.md
│   ├── e2e-runner.md       # Playwright E2E 测试专家
│   ├── refactor-cleaner.md  # 死代码清理专家
│   ├── doc-updater.md       # 文档同步专员
│   └── ...                 # 其余 37 个专业智能体
├── skills/                  # 181 个技能定义
│   ├── code-style/          # 代码风格相关
│   ├── security/            # 安全扫描相关
│   ├── testing/             # 测试相关
│   ├── git-workflow/        # Git 工作流相关
│   └── ...
├── commands/                # 60+ 快捷命令
│   ├── /plan                # 先规划再实现
│   ├── /review              # 代码审查
│   ├── /test                # 运行测试套件
│   └── ...
├── rules/                   # 34 条结构化编码规范
│   ├── common/              # 通用规范(必需)
│   │   ├── 01-write-tests.md
│   │   ├── 02-minimal-changes.md
│   │   ├── 03-security-first.md
│   │   └── ...
│   ├── typescript/          # TypeScript 专项规范
│   ├── python/              # Python 专项规范
│   ├── rust/                # Rust 专项规范
│   └── ...                 # 其他 8+ 语言生态
├── hooks/                   # 8 类生命周期自动触发器
│   ├── pre-commit           # 提交前自动检查
│   ├── post-edit            # 编辑后自动格式化
│   ├── session-start        # 会话启动时加载记忆
│   └── ...
├── mcp-configs/             # MCP 服务器配置模板
└── contexts/                # 项目上下文持久化存储
    └── memory.json          # 跨会话记忆数据库

核心数据

指标数值
GitHub Stars140K+
Forks21K+
贡献者170+
Skills181 个
专业子智能体47 个
结构化规则34 条(覆盖 12+ 语言)
快捷命令60+
Hook 生命周期8 类
支持的 AI HarnessClaude Code、Cursor、Codex、OpenCode、Gemini CLI
开源协议MIT
荣誉Anthropic 黑客马拉松冠军

ECC 的设计哲学:五个核心原则

ECC 不是功能的堆砌,而是基于以下五个原则设计的系统化框架

1. Agent-First(智能体优先)

复杂任务不应该由一个"超级 AI"一口气做完,而应该拆分后委派给专业子智能体

例子:你要实现一个用户认证模块。

  • ❌ 原生方式:让 Claude Code 直接写代码,它可能混搭"写逻辑 + 写测试 + 写文档 + 做安全审查"在一个上下文里,导致每个环节都不够深入。
  • ✅ ECC 方式:
    1. planner 智能体:先拆解任务,输出实现计划
    2. architect 智能体:审查计划中的架构决策
    3. 主会话:按计划实现代码
    4. tdd-guide 智能体:审查测试覆盖率
    5. security-reviewer 智能体:扫描认证逻辑的安全漏洞
    6. doc-updater 智能体:自动更新 API 文档

每个智能体只做一件事,做得更深入,而且可以并行执行(比如测试和文档可以同步进行)。

2. TDD(测试驱动开发)

ECC 的规则强制要求:先写测试,再写实现代码,且测试覆盖率必须 ≥ 80%。

这不是"建议你写测试",而是通过 Hook + Rule 双重约束:

  • pre-commit Hook:运行测试套件,失败则阻止提交
  • 01-write-tests.md 规则:明确写入系统 prompt,让 AI 优先生成测试

为什么这对 AI 生成代码尤其重要?

因为 AI 生成的代码往往"看起来对,但边界情况没覆盖"。强制先写测试,相当于让 AI 先思考"什么情况下会出错",再写"不出错的代码"。

3. Security-First(安全优先,绝不妥协)

ECC 内置了多层安全机制:

  • 敏感信息扫描:Hook 自动检测代码中的 API Key、私钥、密码等(支持自定义正则)
  • 零宽度字符注入防御:防止有人通过"看起来一样的变量名"绕过代码审查(ECC 是最早系统性解决这个问题的框架之一)
  • 依赖漏洞检查:集成 npm auditpip safety 等工具,AI 生成的 package.json/requirements.txt 会自动扫描
  • SQL 注入/XSS 模式检测:通过 Skill 让 AI 在生成涉及用户输入的代码时,主动使用参数化查询/转义

4. Immutability(不可变性)

ECC 的核心规则之一:从不修改现有对象,只创建新对象

在 AI 生成代码的场景下,这条规则解决了"意外破坏已有功能"的问题。AI 可能会因为"重构一下更优雅"而修改你原本工作的代码,ECC 通过规则约束让它"加新功能就新建,别动老的"。

5. Plan Before Execute(先规划,后执行)

对于复杂功能,ECC 强制要求先通过 /plan 命令生成实现计划,审查通过后再开始编码。

实际工作流

# 第一步:让 planner 智能体生成计划
/plan "实现用户认证模块,支持 JWT + Refresh Token"

# 输出(保存到 contexts/plans/auth-module.md):
# 1. 数据模型设计(User、Token 表)
# 2. API 端点定义(/login、/refresh、/logout)
# 3. 中间件:authenticateToken
# 4. 测试计划:正常流程 + 边界情况(过期 Token、无效签名等)
# 5. 安全审查点:密钥存储、Token 过期策略

# 第二步:人工审查计划(或让 architect 智能体审查)
# 第三步:按计划实现(AI 会严格遵循计划,不会"自由发挥")

核心架构拆解:六大组件如何协同工作

ECC 的六大组件不是孤立的,而是形成一个闭环工作流。让我们通过一个完整的"实现新功能"场景,看它们如何协同。

场景:为现有 Express 项目添加"用户头像上传"功能

第一步:Rules 约束启动行为

当你在 Claude Code 中输入任务描述时,ECC 的 Rules 已经加载到系统上下文:

# ~/.claude/rules/common/02-minimal-changes.md
核心原则:最小变更
- 只修改与当前任务直接相关的文件
- 重构必须单独提交,不与功能实现混在一起
- 如果变更超过 5 个文件,先和用户确认
# ~/.claude/rules/common/01-write-tests.md
核心原则:测试先行
- 任何新功能必须先写测试(Jest/Pytest 等)
- 测试覆盖率必须 ≥ 80%
- 边界情况和错误处理必须有对应测试用例

效果:AI 生成的第一个回复,就会提到"我先写测试用例,再实现功能",而不是"我直接写上传接口"。

第二步:Skills 提供领域知识

ECC 的 Skills 库中包含 file-upload-best-practicesimage-processing-securitymulter-configuration 等技能。当 AI 检测到任务涉及"文件上传",会自动加载相关 Skill。

Skill 的本质:是结构化的领域知识包,格式如下:

# skills/file-upload-best-practices.md

## 何时使用此 Skill
- 任务涉及用户上传文件
- 需要处理图片/视频/文档

## 核心原则
1. 永远不要信任客户端传来的文件名(可能造成路径遍历)
2. 限制文件大小(防止 DoS)
3. 限制文件类型(不仅看扩展名,还要看 MIME type + 文件头)
4. 上传目录不能在 web 根目录下(防止直接执行)
5. 生成随机文件名(防止覆盖 + 猜测)

## 代码示例(Node.js + multer)

```javascript
const multer = require('multer');
const path = require('path');
const crypto = require('crypto');

// 正确做法:随机文件名 + 白名单 MIME 类型
const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, path.join(__dirname, '../uploads/avatars'));
  },
  filename: (req, file, cb) => {
    const randomName = crypto.randomBytes(16).toString('hex');
    const ext = path.extname(file.originalname).toLowerCase();
    cb(null, `${randomName}${ext}`);
  }
});

const fileFilter = (req, file, cb) => {
  const allowedMimes = ['image/jpeg', 'image/png', 'image/webp'];
  if (allowedMimes.includes(file.mimetype)) {
    cb(null, true);
  } else {
    cb(new Error('仅支持 JPG/PNG/WebP 格式'), false);
  }
};

const upload = multer({
  storage,
  fileFilter,
  limits: { fileSize: 5 * 1024 * 1024 } // 5MB
});

常见错误(AI 应避免)

  • ❌ 直接用 file.originalname 作为保存文件名
  • ❌ 只检查文件扩展名,不检查 MIME type
  • ❌ 上传目录设置在 public/

**效果**:AI 生成的代码会自动遵循这些最佳实践,而不需要你每次都"教"它。

#### 第三步:Commands 提供标准化工作流

你可以通过 ECC 的快捷命令启动标准化流程:

```bash
/plan "实现用户头像上传功能"

这个命令会:

  1. 调用 planner 智能体(从 agents/planner.md 加载)
  2. 生成结构化计划(保存在 contexts/plans/ 目录)
  3. 等待你审查确认

第四步:Agents 分工执行

计划确认后,主会话开始实现代码,但在关键节点会自动委派给专业智能体:

  • 代码实现阶段:主会话写代码,每完成一个模块——

    • 自动触发 tdd-guide 智能体:审查测试覆盖率
    • 自动触发 security-reviewer 智能体:扫描文件上传相关的安全漏洞
  • 代码审查阶段(你主动或 Hook 自动触发):

    • code-reviewer 智能体:检查代码风格、性能、可维护性
    • refactor-cleaner 智能体:识别死代码、重复代码

第五步:Hooks 自动化检查与记忆持久化

当代码实现完成,尝试提交时:

pre-commit Hook(ECC 自动配置):

#!/bin/bash
# hooks/pre-commit

# 1. 运行测试套件
npm test
if [ $? -ne 0 ]; then
  echo "❌ 测试失败,提交被阻止"
  exit 1
fi

# 2. 运行安全扫描
node ./scripts/security-scan.js
if [ $? -ne 0 ]; then
  echo "❌ 安全扫描发现漏洞,提交被阻止"
  exit 1
fi

# 3. 运行 lint
npm run lint
if [ $? -ne 0 ]; then
  echo "❌ Lint 检查失败,提交被阻止"
  exit 1
fi

# 4. 持久化本次会话的关键决策到记忆库
node ./scripts/save-session-memory.js

echo "✅ 所有检查通过,提交继续"

session-start Hook(下次打开 Claude Code 时自动执行):

// hooks/session-start.js
const fs = require('fs');
const memory = JSON.parse(fs.readFileSync('./contexts/memory.json', 'utf8'));

// 将历史决策加载到系统上下文
console.log(`📝 已加载项目记忆:
- 架构模式:${memory.architecturePattern}
- 数据库:${memory.database}
- 编码规范:${memory.codingStandards.join(', ')}
- 已知坑:${memory.knownIssues.length} 条
`);

第六步:Memory 跨会话持久化

ECC 的 contexts/memory.json 是一个结构化的"项目知识库":

{
  "project": "my-express-app",
  "lastUpdated": "2026-06-17T15:30:00Z",
  "architecture": {
    "pattern": "分层架构(Controller → Service → Repository)",
    "framework": "Express.js + TypeScript",
    "database": "PostgreSQL 16",
    "orm": "TypeORM",
    "authentication": "JWT + Refresh Token(存在 Redis)",
    "fileStorage": "本地文件系统(uploads/ 目录)+ CDN 后续迁移"
  },
  "codingStandards": [
    "使用 TypeScript strict 模式",
    "禁止 `any`,用 `unknown` + 类型守卫",
    "异步操作必须用 `async/await`,禁止 `.then()` 链式",
    "所有 API 必须有输入输出类型定义(DTO)",
    "错误信息不包含敏感信息(如 SQL 错误详情)"
  ],
  "knownIssues": [
    {
      "issue": "TypeORM 的 `findOne` 在大数据量下性能差",
      "workaround": "改用 `createQueryBuilder` + 明确 `select` 字段",
      "discoveredAt": "2026-05-20",
      "severity": "medium"
    },
    {
      "issue": "multer 的 `fileFilter` 只检查 MIME type,不检查文件头",
      "workaround": "使用 `file-type` 库检测真实文件类型",
      "discoveredAt": "2026-06-10",
      "severity": "high"
    }
  ],
  "decisions": [
    {
      "decision": "选择 PostgreSQL 而非 MongoDB",
      "reason": "需要事务支持 + 关系查询 + 向量扩展(未来可能用 pgvector)",
      "date": "2026-03-15"
    },
    {
      "decision": "JWT 存在 HttpOnly Cookie,而非 localStorage",
      "reason": "防止 XSS 窃取 + CSRF 可以通过 Double Submit Cookie 防御",
      "date": "2026-04-02"
    }
  ]
}

效果:下次你(或你的同事)打开这个项目,Claude Code 会自动加载这些上下文,不需要重新"培训"。



本文为精简版,完整版请访问 GitHub。

复制全文 生成海报 Claude Code ECC AI编程 Skills 智能体

推荐文章

25个实用的JavaScript单行代码片段
2024-11-18 04:59:49 +0800 CST
Python实现Zip文件的暴力破解
2024-11-19 03:48:35 +0800 CST
php机器学习神经网络库
2024-11-19 09:03:47 +0800 CST
goctl 技术系列 - Go 模板入门
2024-11-19 04:12:13 +0800 CST
FastAPI 入门指南
2024-11-19 08:51:54 +0800 CST
程序员茄子在线接单