🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install supercent-io/skills-template/agent-configuration
💡 提示:需要 Node.js 和 NPM
AI 代理配置策略 (配置与安全)
何时使用此技能
- 为新项目搭建 AI 代理环境
- 编写和优化项目描述文件
- 配置钩子/技能/插件
- 建立安全策略
- 在团队内共享配置
1. 项目描述文件编写策略
概述
项目描述文件(如 CLAUDE.md、README 等)是面向 AI 的项目手册。AI 代理会以最高优先级参考这些文件。
自动生成 (Claude Code)
/init # Claude 分析代码库并生成项目描述草稿
必需的结构章节
# 项目:[项目名称]
## 技术栈
- **前端**:React + TypeScript
- **后端**:Node.js + Express
- **数据库**:PostgreSQL
- **ORM**:Drizzle
## 编码规范
- 使用 TypeScript 严格模式
- 优先使用服务端组件而非客户端组件
- 使用 `async/await` 替代 `.then()`
- 始终使用 Zod 验证用户输入
## 禁止事项
- 绝不能提交 `.env` 文件
- 绝不能使用 `any` 类型
- 绝不能绕过身份验证检查
- 绝不能在前端代码中暴露 API 密钥
## 常用命令
- `npm run dev`:启动开发服务器
- `npm run build`:构建生产版本
- `npm run test`:运行测试
编写原则:简洁的艺术
糟糕的示例(冗长):
我们的认证系统基于 NextAuth.js 构建,它是一个为 Next.js
应用提供的完整认证解决方案...(5行以上的解释)
优秀的示例(简洁):
## 认证
- NextAuth.js 配合 Credentials 提供者
- JWT 会话策略
- **禁止**:绕过认证检查、暴露会话密钥
渐进式添加原则
“从没有项目描述文件开始。当你发现自己反复说明同样的事情时,再添加内容。”
—— 这个原则能有效保持项目文件的简洁和高效。
2. 钩子配置策略 (Claude Code)
概述
钩子是在特定事件发生时自动执行的 Shell 命令。它们是 AI 行为的护栏。
钩子事件类型
| 钩子 | 触发时机 | 使用场景 |
|---|---|---|
PreToolUse |
工具执行前 | 阻止危险命令 |
PostToolUse |
工具执行后 | 记录日志、发送通知 |
PermissionRequest |
权限请求时 | 自动批准/拒绝 |
Notification |
收到通知时 | 集成外部系统 |
SubagentStart |
子代理启动时 | 监控 |
SubagentStop |
子代理停止时 | 收集结果 |
安全钩子配置示例
// ~/.claude/settings.json
{
"hooks": {
"PreToolUse": [
{
"pattern": "rm -rf /",
"action": "block",
"message": "已阻止删除根目录的操作"
},
{
"pattern": "rm -rf /*",
"action": "block",
"message": "已阻止危险的删除命令"
},
{
"pattern": "sudo rm",
"action": "warn",
"message": "警告:正在执行带 sudo 的删除命令"
},
{
"pattern": "curl * | sh",
"action": "block",
"message": "已阻止通过管道执行脚本"
},
{
"pattern": "chmod 777",
"action": "warn",
"message": "警告:正在设置过高的权限"
}
]
}
}
3. 技能配置策略
技能与其他配置的对比
| 功能 | 加载时机 | 主要使用者 | 令牌效率 |
|---|---|---|---|
| 项目描述文件 | 始终加载 | 项目团队 | 低(始终加载) |
| 技能 | 按需加载 | AI 自动判断 | 高(按需加载) |
| 斜杠命令 | 用户调用时 | 开发者 | 中等 |
| 插件/MCP | 安装后即用 | 团队/社区 | 视情况而定 |
选型指南
始终适用的通用规则 → 放入项目描述文件
仅在特定任务需要的知识 → 制作成技能 (更节省令牌)
频繁使用的快捷命令 → 设置成斜杠命令
需要与外部服务集成 → 使用插件 / MCP
创建自定义技能
# 创建技能目录
mkdir -p ~/.claude/skills/my-skill
# 编写 SKILL.md 文件
cat > ~/.claude/skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: 我的自定义技能
platforms: [Claude, Gemini, ChatGPT]
---
# 我的技能
## 何时使用
- 当需要处理特定任务时
## 操作步骤
1. 第一步
2. 第二步
EOF
4. 安全策略
禁止操作
绝对禁止
- 在主机系统上使用无限制的权限模式
- 自动批准删除根目录的命令
- 提交
.env、credentials.json等密钥文件 - 在代码中硬编码 API 密钥
需要谨慎操作
- 不加区分地批准
sudo命令 - 运行
curl | sh格式的脚本 - 使用
chmod 777设置过高权限 - 连接到未知的 MCP 服务器
批准命令审计
# 使用 cc-safe 工具检查危险命令
npx cc-safe .
npx cc-safe ~/projects
# 检测目标:
# - sudo, rm -rf, chmod 777
# - curl | sh, wget | bash
# - git reset --hard, git push --force
# - npm publish, docker run --privileged
安全自动批准 (Claude Code)
# 仅自动批准安全的命令
/sandbox "npm test"
/sandbox "npm run lint"
/sandbox "git status"
/sandbox "git diff"
# 模式匹配批准
/sandbox "git *" # 所有 git 命令
/sandbox "npm test *" # 所有与 npm test 相关的命令
# MCP 工具模式
/sandbox "mcp__server__*"
5. 团队配置共享
项目配置结构
project/
├── .claude/ # Claude Code 设置
│ ├── team-settings.json
│ ├── hooks/
│ └── skills/
├── .agent-skills/ # 通用技能库
│ ├── backend/
│ ├── frontend/
│ └── ...
├── CLAUDE.md # 针对 Claude 的项目描述
├── .cursorrules # Cursor 编辑器设置
└── ...
team-settings.json 示例
{
"permissions": {
"allow": [
"Read(src/)",
"Write(src/)",
"Bash(npm test)",
"Bash(npm run lint)"
],
"deny": [
"Bash(rm -rf /)",
"Bash(sudo *)"
]
},
"hooks": {
"PreToolUse": {
"command": "bash",
"args": ["-c", "echo '团队钩子:正在验证...'"]
}
},
"mcpServers": {
"company-db": {
"command": "npx",
"args": ["@company/db-mcp"]
}
}
}
团队共享工作流
将 .claude/ 文件夹提交到 Git → 团队成员克隆项目 → 相同的设置自动生效 → 团队标准得以保持
6. 多代理配置
各代理的配置文件
| 代理 | 配置文件 | 存放位置 |
|---|---|---|
| Claude Code | CLAUDE.md, settings.json | 项目根目录, ~/.claude/ |
| Gemini CLI | .geminirc | 项目根目录, ~/ |
| Cursor | .cursorrules | 项目根目录 |
| ChatGPT | 自定义指令 | 界面设置中 |
共享技能目录结构
.agent-skills/
├── backend/ # 后端相关技能
├── frontend/ # 前端相关技能
├── code-quality/ # 代码质量相关技能
├── infrastructure/ # 基础设施相关技能
├── documentation/ # 文档编写相关技能
├── project-management/ # 项目管理相关技能
├── search-analysis/ # 搜索与分析相关技能
└── utilities/ # 通用工具技能
7. 环境配置检查清单
初始设置
- 创建项目描述文件(可使用
/init命令或手动编写) - 设置终端别名(如
c,cc,g,cx) - 配置外部编辑器(
export EDITOR=vim) - 根据需要连接 MCP 服务器
安全设置
- 为危险命令配置钩子进行拦截
- 审查已批准的命令列表(使用
cc-safe) - 确保
.env文件已被添加到.gitignore - 准备容器环境(用于进行实验性操作)
团队设置
- 将
.claude/文件夹提交到 Git 仓库 - 编写
team-settings.json文件 - 创建团队标准的项目描述文件模板
快速参考
配置文件位置汇总
~/.claude/settings.json # 用户级全局设置
~/.claude/skills/ # 用户级全局技能
.claude/settings.json # 项目级设置
.claude/skills/ # 项目级技能
.agent-skills/ # 通用技能库(可跨项目)
CLAUDE.md # 项目的 AI 使用手册
安全优先级
1. 使用钩子(Hooks)拦截危险命令
2. 使用 /sandbox 仅自动批准安全的命令
3. 使用 cc-safe 定期进行安全审计
4. 仅在容器环境中进行实验性操作
令牌效率指南
项目描述文件:始终加载(务必保持简洁)
技能:按需加载(更节省令牌)
.toon 模式:可节省高达 95% 的令牌消耗
📄 原始文档
完整文档(英文):
https://skills.sh/supercent-io/skills-template/agent-configuration
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)