name: agent-generation description: 这个技能提供了生成针对特定项目的有效的Claude Code代理所需的知识和模板。它由agent-team-creator插件在分析代码库和创建专门的代理团队时内部使用。包含编写项目感知代理的模板、最佳实践和模式。 version: 1.0.0
针对项目特定团队的代理生成
这个技能提供了生成高质量Claude Code代理的知识和模板,这些代理是特定代码库的专家。
核心原则
1. 项目感知代理
生成的代理必须理解特定项目,而不仅仅是一般概念:
- 引用项目中的实际文件路径和目录
- 提及项目中使用的具体框架、库和版本
- 包含项目特定的约定和模式
- 使用代码库中的术语(类名、模块名等)
2. 互补团队设计
每个代理应具有不同的角色,不重叠:
| 代理类型 | 专注领域 | 避免 |
|---|---|---|
| 技术栈专家 | 框架、库、工具 | 业务逻辑 |
| 架构专家 | 结构、模式、约定 | 实现细节 |
| 领域专家 | 业务逻辑、数据模型、API | 基础设施 |
| 测试专家 | 测试模式、固定装置、覆盖率 | 生产代码 |
| DevOps专家 | CI/CD、部署、基础设施 | 应用代码 |
3. 强烈的触发条件
每个代理需要具体的、不重叠的触发短语:
whenToUse: |
当用户询问关于"React组件模式",
"项目中的钩子使用","Redux的状态管理",或需要帮助
理解前端架构如何工作时,应使用此代理。
代理结构模板
每个生成的代理都遵循此结构:
---
identifier: project-role-expert
whenToUse: |
当...[具有项目上下文的具体触发器]时,应使用此代理
systemPrompt: |
[具有项目知识的全面系统提示]
tools: [Glob, Grep, Read, Edit, Write, Bash, LS, Task, WebFetch, WebSearch]
color: "#hexcode"
model: sonnet
---
分析到代理的映射
技术栈分析
分析这些文件以识别技术栈:
package.json,requirements.txt,Cargo.toml,go.mod- 框架配置文件:
next.config.js,vite.config.ts,django/settings.py - 构建配置:
tsconfig.json,webpack.config.js,babel.config.js
为每个主要技术生成代理:
- 每个主要框架一个代理(React, FastAPI, Django等)
- 相关库的组合代理(测试库一起)
架构分析
分析这些模式:
- 目录结构的深度和组织
- 模块/包边界
- 导入模式和依赖关系
- 使用中的设计模式(MVC、Clean Architecture等)
生成覆盖架构的代理:
- 项目结构和导航
- 代码组织约定
- 模块关系
- 命名约定
领域分析
分析这些元素:
- 数据模型和模式
- API端点和路由
- 业务逻辑模块
- 数据库迁移和查询
为领域生成代理:
- 数据模型理解
- API结构和契约
- 业务规则实现
代理类型的调色板
按代理类型使用一致的颜色:
| 代理类型 | 颜色 | Hex |
|---|---|---|
| 技术栈 | 蓝色 | #3B82F6 |
| 架构 | 紫色 | #8B5CF6 |
| 领域/业务 | 绿色 | #10B981 |
| 测试 | 橙色 | #F59E0B |
| DevOps/Infra | 红色 | #EF4444 |
| 安全 | 粉色 | #EC4899 |
| 性能 | 青色 | #06B6D4 |
编写有效的系统提示
结构
-
角色定义(1-2句话)
你是[项目名称]代码库的专家,专注于[领域]。 -
项目上下文(3-5句话)
该项目使用[技术栈]。代码库以[结构]组织。 关键目录包括[路径]。项目遵循[模式/约定]。 -
专业领域(项目上下文的项目特定领域的项目上下文的列表)
你的专长包括: - 特定领域1与项目上下文 - 特定领域2与文件引用 - 特定领域3与约定细节 -
指导原则(3-5个项目)
在提供帮助时: - 始终参考[path]中的现有模式 - 遵循[file]中建立的[约定] - 确保与[标准]一致
包含项目特定知识
始终嵌入实际的项目细节:
systemPrompt: |
你是**Acme Dashboard** React应用程序的专家。
## 项目概览
这是一个使用App Router的Next.js 14应用程序。代码库使用:
- 严格模式的TypeScript
- 用于样式的Tailwind CSS
- 用于服务器状态的React Query
- 用于客户端状态的Zustand
## 关键目录
- `src/app/` - Next.js应用程序路由器页面
- `src/components/` - 可重用的UI组件
- `src/hooks/` - 自定义React钩子
- `src/lib/` - 工具函数和API客户端
## 约定
- 组件使用PascalCase:`UserProfile.tsx`
- 钩子使用带有'use'前缀的camelCase:`useAuth.ts`
- API路由遵循REST约定
- 所有组件都有同位置的测试文件
按代理类型示例触发器
技术栈专家触发器
whenToUse: |
当用户询问关于"此项目中的React模式",
"这里如何使用钩子","组件架构","状态管理方法",
"Next.js配置","TypeScript类型",或需要帮助
按照项目约定进行前端实现时,应使用此代理。
架构专家触发器
whenToUse: |
当用户询问"我应该把这段代码放在哪里",
"项目是如何组织的","模块结构是什么","导入如何工作",
"项目约定","目录布局",或需要指导
关于代码组织和架构决策时,应使用此代理。
领域专家触发器
whenToUse: |
当用户询问关于"用户认证流程",
"订单如何处理","数据模型关系","API端点结构",
"[功能]的业务规则",或需要理解领域特定的逻辑
和数据流时,应使用此代理。
动态团队规模
根据项目复杂性确定团队规模:
| 项目信号 | 团队规模 | 代理类型 |
|---|---|---|
| 单一框架,<50文件 | 2-3 | 技术+架构 |
| 多个框架,50-200文件 | 4-5 | 技术(2)+架构+领域 |
| 单体仓库或>200文件 | 5-8 | 每个服务全面覆盖 |
| 微服务 | 每个服务3-4 | 特定于服务的团队 |
额外资源
参考文件
有关详细的模板和示例:
references/agent-templates.md- 每种类型的完整代理模板references/analysis-patterns.md- 代码库分析的模式
示例文件
在examples/中的工作示例:
tech-stack-expert.md- 完整的技术栈代理示例architecture-expert.md- 完整的架构代理示例domain-expert.md- 完整的领域代理示例